@dcl/landing-site 0.0.1-23657442558.commit-435eab3 → 0.0.1-23658354807.commit-e695ac8
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.
- package/assets/{AnimatedBackground-CYvnFuAP.js → AnimatedBackground-BH_AjnqQ.js} +2 -2
- package/assets/AnimatedBackground-BH_AjnqQ.js.map +1 -0
- package/assets/{CardMedia-Dn_1yf5f.js → CardMedia-CNDmKGwk.js} +1 -1
- package/assets/CardMedia-CNDmKGwk.js.map +1 -0
- package/assets/{FooterLanding-BYCeCiBr.js → FooterLanding-DYzI4pPY.js} +1 -1
- package/assets/FooterLanding-DYzI4pPY.js.map +1 -0
- package/assets/{LegalPageLayout-CA-MOUlJ.js → LegalPageLayout-Bmx2f7dQ.js} +1 -1
- package/assets/LegalPageLayout-Bmx2f7dQ.js.map +1 -0
- package/assets/{SignInRedirect-R0xh4Nh4.js → SignInRedirect-DFPVUUVg.js} +1 -1
- package/assets/SignInRedirect-DFPVUUVg.js.map +1 -0
- package/assets/{WearablePreview-BYZPTifP.js → WearablePreview-COzbSxYN.js} +1 -1
- package/assets/WearablePreview-COzbSxYN.js.map +1 -0
- package/assets/{add-DPiWnk4o.js → add-BczYlCv5.js} +1 -1
- package/assets/add-BczYlCv5.js.map +1 -0
- package/assets/{all-wallets-jWLRFgg8.js → all-wallets-WtFue3fI.js} +1 -1
- package/assets/all-wallets-WtFue3fI.js.map +1 -0
- package/assets/{app-store-IOQywyCL.js → app-store-BxZb_1M8.js} +1 -1
- package/assets/app-store-BxZb_1M8.js.map +1 -0
- package/assets/{apple-68JoH_5c.js → apple-CjT7RbME.js} +1 -1
- package/assets/apple-CjT7RbME.js.map +1 -0
- package/assets/{arrow-bottom-lG7X122r.js → arrow-bottom-4FmcypJQ.js} +1 -1
- package/assets/arrow-bottom-4FmcypJQ.js.map +1 -0
- package/assets/{arrow-bottom-circle-CRMqfqUN.js → arrow-bottom-circle-CXsF2I3S.js} +1 -1
- package/assets/arrow-bottom-circle-CXsF2I3S.js.map +1 -0
- package/assets/{arrow-left-Bv2jgvLH.js → arrow-left-BImXYn6U.js} +1 -1
- package/assets/arrow-left-BImXYn6U.js.map +1 -0
- package/assets/{arrow-right-CMrpY6jW.js → arrow-right-CHJc4WzS.js} +1 -1
- package/assets/arrow-right-CHJc4WzS.js.map +1 -0
- package/assets/{arrow-top-Cdg0S7uW.js → arrow-top-DovjH58u.js} +1 -1
- package/assets/arrow-top-DovjH58u.js.map +1 -0
- package/assets/{auto-track-D3wrsf3a.js → auto-track-LCtrzvEp.js} +1 -1
- package/assets/auto-track-LCtrzvEp.js.map +1 -0
- package/assets/{autoplay-DsVOy--c.js → autoplay-qioRTSgW.js} +1 -1
- package/assets/autoplay-qioRTSgW.js.map +1 -0
- package/assets/{bank-Y4ICxerj.js → bank-r0C0_RGk.js} +1 -1
- package/assets/bank-r0C0_RGk.js.map +1 -0
- package/assets/{basic-D7Il4b80.js → basic-DoZtdADf.js} +1 -1
- package/assets/basic-DoZtdADf.js.map +1 -0
- package/assets/{browser-DfLTrsKv.js → browser-CLFSxwU_.js} +1 -1
- package/assets/browser-CLFSxwU_.js.map +1 -0
- package/assets/{card-DRPjP4fT.js → card-gjAbVNVg.js} +1 -1
- package/assets/card-gjAbVNVg.js.map +1 -0
- package/assets/{ccip-BOoASBdu.js → ccip-Cs2-8_ok.js} +1 -1
- package/assets/ccip-Cs2-8_ok.js.map +1 -0
- package/assets/{checkmark-Cea2zEWd.js → checkmark-CgyA8OA7.js} +1 -1
- package/assets/checkmark-CgyA8OA7.js.map +1 -0
- package/assets/{checkmark-bold-d4-Fj-F3.js → checkmark-bold-CDzonXTF.js} +1 -1
- package/assets/checkmark-bold-CDzonXTF.js.map +1 -0
- package/assets/{chevron-bottom-DavJZ7N3.js → chevron-bottom-C5LFXYR3.js} +1 -1
- package/assets/chevron-bottom-C5LFXYR3.js.map +1 -0
- package/assets/{chevron-left-C_Hw8fus.js → chevron-left-Dl_DSL09.js} +1 -1
- package/assets/chevron-left-Dl_DSL09.js.map +1 -0
- package/assets/{chevron-right-DcNepqA3.js → chevron-right-B2iMupDM.js} +1 -1
- package/assets/chevron-right-B2iMupDM.js.map +1 -0
- package/assets/{chevron-top-DOnnhp0P.js → chevron-top-BRQrglLx.js} +1 -1
- package/assets/chevron-top-BRQrglLx.js.map +1 -0
- package/assets/{chrome-store-CgR-qlQ5.js → chrome-store-j0QHcvz5.js} +1 -1
- package/assets/chrome-store-j0QHcvz5.js.map +1 -0
- package/assets/{clock-Bo7xT59c.js → clock-DnqFpliA.js} +1 -1
- package/assets/clock-DnqFpliA.js.map +1 -0
- package/assets/{close-Bas20n3k.js → close-BW8HM0vc.js} +1 -1
- package/assets/close-BW8HM0vc.js.map +1 -0
- package/assets/{coinPlaceholder-zXo1UIaw.js → coinPlaceholder-D3Q_2Vnz.js} +1 -1
- package/assets/coinPlaceholder-D3Q_2Vnz.js.map +1 -0
- package/assets/{compass-YAtYlALr.js → compass-DQtQh5Fd.js} +1 -1
- package/assets/compass-DQtQh5Fd.js.map +1 -0
- package/assets/{copy-D5ojeU-9.js → copy-BqPAHBIq.js} +1 -1
- package/assets/copy-BqPAHBIq.js.map +1 -0
- package/assets/{core-CyswnR2y.js → core-DoE4v7_w.js} +5 -5
- package/assets/core-DoE4v7_w.js.map +1 -0
- package/assets/cursor-D7QROIqC.js +3 -0
- package/assets/cursor-D7QROIqC.js.map +1 -0
- package/assets/{cursor-transparent-BgE7Rtpz.js → cursor-transparent-I9qD1HcU.js} +1 -1
- package/assets/cursor-transparent-I9qD1HcU.js.map +1 -0
- package/assets/{desktop-BdAB2EC0.js → desktop-D06CYck7.js} +1 -1
- package/assets/desktop-D06CYck7.js.map +1 -0
- package/assets/{disconnect-DXF_VljU.js → disconnect-DuECek4L.js} +1 -1
- package/assets/disconnect-DuECek4L.js.map +1 -0
- package/assets/{discord-bfDqUOWC.js → discord-BXYIhoDM.js} +1 -1
- package/assets/discord-BXYIhoDM.js.map +1 -0
- package/assets/download-CLQcQusq.js +2 -0
- package/assets/download-CLQcQusq.js.map +1 -0
- package/assets/{download.types-DICgyaKG.js → download.types-DXNjUuQp.js} +1 -1
- package/assets/download.types-DXNjUuQp.js.map +1 -0
- package/assets/{etherscan-DQkLvBIy.js → etherscan-D8j2p5tH.js} +1 -1
- package/assets/etherscan-D8j2p5tH.js.map +1 -0
- package/assets/{exclamation-triangle-CUMF0W5Y.js → exclamation-triangle-BDd_YSmu.js} +1 -1
- package/assets/exclamation-triangle-BDd_YSmu.js.map +1 -0
- package/assets/{extension-DQP1ckZy.js → extension-cnEqQ1yY.js} +1 -1
- package/assets/extension-cnEqQ1yY.js.map +1 -0
- package/assets/{external-link-9Le-TzHn.js → external-link-CmFlcl7Y.js} +1 -1
- package/assets/external-link-CmFlcl7Y.js.map +1 -0
- package/assets/{facebook-CllxzjfU.js → facebook-BGz9ceDp.js} +1 -1
- package/assets/facebook-BGz9ceDp.js.map +1 -0
- package/assets/{farcaster-BFxjUxiI.js → farcaster-D4EbInUC.js} +1 -1
- package/assets/farcaster-D4EbInUC.js.map +1 -0
- package/assets/{filters-igKN7pRm.js → filters-U9zWe-dv.js} +1 -1
- package/assets/filters-U9zWe-dv.js.map +1 -0
- package/assets/{github-BuzRyr81.js → github-BwnJ4_Tw.js} +1 -1
- package/assets/github-BwnJ4_Tw.js.map +1 -0
- package/assets/{google-D536_SRJ.js → google-DFdfOlYV.js} +1 -1
- package/assets/google-DFdfOlYV.js.map +1 -0
- package/assets/{help-circle-BYUMAxgX.js → help-circle-ClDPGCNM.js} +1 -1
- package/assets/help-circle-ClDPGCNM.js.map +1 -0
- package/assets/hooks.module-Dz_XB4AG.js.map +1 -0
- package/assets/{id-IyoUNIG7.js → id-CVEEV5P3.js} +1 -1
- package/assets/id-CVEEV5P3.js.map +1 -0
- package/assets/{image-BMkCNBpN.js → image-B4kHWRvO.js} +1 -1
- package/assets/image-B4kHWRvO.js.map +1 -0
- package/assets/{index-DBS_df1P.js → index-BIiKvkqH.js} +2 -2
- package/assets/index-BIiKvkqH.js.map +1 -0
- package/assets/{index-DCm0cpWE.js → index-BSKH1f4F.js} +1 -1
- package/assets/index-BSKH1f4F.js.map +1 -0
- package/assets/{index-Csgvx0UQ.js → index-BwFdAxy9.js} +1 -1
- package/assets/index-BwFdAxy9.js.map +1 -0
- package/assets/{index-BgkGtQBL.js → index-C58cz8c7.js} +1 -1
- package/assets/index-C58cz8c7.js.map +1 -0
- package/assets/{index-BNs2v-1T.js → index-C8fM_5WQ.js} +1 -1
- package/assets/index-C8fM_5WQ.js.map +1 -0
- package/assets/{index-DZ4bDhA1.js → index-CCv7WeLP.js} +1 -1
- package/assets/index-CCv7WeLP.js.map +1 -0
- package/assets/{index-r18qw1mp.js → index-CEajtogo.js} +1 -1
- package/assets/index-CEajtogo.js.map +1 -0
- package/assets/{index-CwvhC3XY.js → index-CGCvheGi.js} +79 -79
- package/assets/index-CGCvheGi.js.map +1 -0
- package/assets/{index-BO3bzd2h.js → index-CP1V7_io.js} +1 -1
- package/assets/index-CP1V7_io.js.map +1 -0
- package/assets/{index-CSC9n2fJ.js → index-CkUgOBuZ.js} +2 -2
- package/assets/index-CkUgOBuZ.js.map +1 -0
- package/assets/{index-NgLnxYpy.js → index-Co5o4kNC.js} +2 -2
- package/assets/index-Co5o4kNC.js.map +1 -0
- package/assets/{index-BBPEbFlT.js → index-CvF9Rb56.js} +1 -1
- package/assets/index-CvF9Rb56.js.map +1 -0
- package/assets/{index-Bt2jXIjs.js → index-D6KjV6p4.js} +3 -3
- package/assets/index-D6KjV6p4.js.map +1 -0
- package/assets/index-D6ZMQedT.js.map +1 -0
- package/assets/{index-qaZMEqIj.js → index-D6_yiqF_.js} +3 -3
- package/assets/index-D6_yiqF_.js.map +1 -0
- package/assets/{index-DxORPjmW.js → index-DB4KxUK8.js} +1 -1
- package/assets/index-DB4KxUK8.js.map +1 -0
- package/assets/{index-D5mTl1Im.js → index-DLbfpB_l.js} +3 -3
- package/assets/index-DLbfpB_l.js.map +1 -0
- package/assets/{index-DrPYvtVf.js → index-DTEP60Z7.js} +1 -1
- package/assets/index-DTEP60Z7.js.map +1 -0
- package/assets/{index-CgaXTTOj.js → index-DiFn-Ues.js} +1 -1
- package/assets/index-DiFn-Ues.js.map +1 -0
- package/assets/{index-DoaGZy-D.js → index-DkC82Qq3.js} +1 -1
- package/assets/index-DkC82Qq3.js.map +1 -0
- package/assets/{index-DKN-aGC2.js → index-DoJrsvqV.js} +1 -1
- package/assets/index-DoJrsvqV.js.map +1 -0
- package/assets/index-Dr1-NFn7.js +1 -0
- package/assets/index-Dr1-NFn7.js.map +1 -0
- package/assets/{index-Bg_-jAf-.js → index-DrYqW_mc.js} +1 -1
- package/assets/index-DrYqW_mc.js.map +1 -0
- package/assets/{index-D7FErWQ6.js → index-Kl9lqIhB.js} +1 -1
- package/assets/index-Kl9lqIhB.js.map +1 -0
- package/assets/{index-BvPrP_kb.js → index-Pv7TzXSf.js} +1 -1
- package/assets/index-Pv7TzXSf.js.map +1 -0
- package/assets/{index-DsLpfqLF.js → index-cY16fPJ9.js} +1 -1
- package/assets/index-cY16fPJ9.js.map +1 -0
- package/assets/{index-2KYjUKrx.js → index-jmVkAn3V.js} +3 -3
- package/assets/index-jmVkAn3V.js.map +1 -0
- package/assets/{index-C_XR-pxH.js → index-jopxsqnB.js} +1 -1
- package/assets/index-jopxsqnB.js.map +1 -0
- package/assets/index-nibyPLVP.js.map +1 -0
- package/assets/index-wKfm7r6L.js +1 -0
- package/assets/index-wKfm7r6L.js.map +1 -0
- package/assets/{index.es-BlIlqooP.js → index.es-D_KVLw0o.js} +5 -5
- package/assets/index.es-D_KVLw0o.js.map +1 -0
- package/assets/{index.umd-C_QfsPJN.js → index.umd-CSluEYtT.js} +1 -1
- package/assets/index.umd-CSluEYtT.js.map +1 -0
- package/assets/{info-B9rpc1DX.js → info-D5-ExUNI.js} +1 -1
- package/assets/info-D5-ExUNI.js.map +1 -0
- package/assets/{info-circle-B44e-8gn.js → info-circle-C2XtIwRV.js} +1 -1
- package/assets/info-circle-C2XtIwRV.js.map +1 -0
- package/assets/inherits_browser-BlmhoU4v.js.map +1 -0
- package/assets/is-plan-event-enabled-DeNtQvA5.js.map +1 -0
- package/assets/{lightbulb-D7MIqKO0.js → lightbulb-EP-k9p0L.js} +1 -1
- package/assets/lightbulb-EP-k9p0L.js.map +1 -0
- package/assets/{mail-CskB2lNI.js → mail-CYWDw7sT.js} +1 -1
- package/assets/mail-CYWDw7sT.js.map +1 -0
- package/assets/{mobile-w7zP0tUZ.js → mobile-LnBG5WdG.js} +1 -1
- package/assets/mobile-LnBG5WdG.js.map +1 -0
- package/assets/{more-FviZA2zP.js → more-CUlRnsdE.js} +1 -1
- package/assets/more-CUlRnsdE.js.map +1 -0
- package/assets/{network-placeholder-CRkXjm2P.js → network-placeholder-DEFOwyXG.js} +1 -1
- package/assets/network-placeholder-DEFOwyXG.js.map +1 -0
- package/assets/{nftPlaceholder-CeAsWrId.js → nftPlaceholder-y8-2SfHh.js} +1 -1
- package/assets/nftPlaceholder-y8-2SfHh.js.map +1 -0
- package/assets/{node-CYxnN2Po.js → node-BquF0ZoL.js} +1 -1
- package/assets/node-BquF0ZoL.js.map +1 -0
- package/assets/{off-B7qKsRMs.js → off-Bmg2DJVN.js} +1 -1
- package/assets/off-Bmg2DJVN.js.map +1 -0
- package/assets/{play-store-DTGpFHme.js → play-store-BgYnKJZm.js} +1 -1
- package/assets/play-store-BgYnKJZm.js.map +1 -0
- package/assets/{plus-DEPzfy_x.js → plus-Bj7Zr4nz.js} +1 -1
- package/assets/plus-Bj7Zr4nz.js.map +1 -0
- package/assets/{qr-code-CB1fNk6g.js → qr-code-Dje5z7AJ.js} +1 -1
- package/assets/qr-code-Dje5z7AJ.js.map +1 -0
- package/assets/{recycle-horizontal-Czs62o1V.js → recycle-horizontal-L5-CFvVu.js} +1 -1
- package/assets/recycle-horizontal-L5-CFvVu.js.map +1 -0
- package/assets/{refresh-DP9sjRF6.js → refresh-B5s1b5Xw.js} +1 -1
- package/assets/refresh-B5s1b5Xw.js.map +1 -0
- package/assets/{reown-logo-Ba08IonY.js → reown-logo-CLdobzFm.js} +1 -1
- package/assets/reown-logo-CLdobzFm.js.map +1 -0
- package/assets/{search-DaZwjNzO.js → search-Bqfcdrxi.js} +1 -1
- package/assets/search-Bqfcdrxi.js.map +1 -0
- package/assets/{secp256k1-DBlGGLNL.js → secp256k1-C5qQ4FUv.js} +1 -1
- package/assets/secp256k1-C5qQ4FUv.js.map +1 -0
- package/assets/{secp256k1-_3IuN8n8.js → secp256k1-D6M1nsfk.js} +1 -1
- package/assets/secp256k1-D6M1nsfk.js.map +1 -0
- package/assets/{send-dd2TUNiX.js → send-DrmO9HIL.js} +1 -1
- package/assets/send-DrmO9HIL.js.map +1 -0
- package/assets/{swapHorizontal-DjuTXSNd.js → swapHorizontal-DSVKSSNs.js} +1 -1
- package/assets/swapHorizontal-DSVKSSNs.js.map +1 -0
- package/assets/{swapHorizontalBold-OeM0eWy3.js → swapHorizontalBold-ozFPFMxq.js} +1 -1
- package/assets/swapHorizontalBold-ozFPFMxq.js.map +1 -0
- package/assets/{swapHorizontalMedium-Dn43Ura8.js → swapHorizontalMedium-2AClXKVW.js} +1 -1
- package/assets/swapHorizontalMedium-2AClXKVW.js.map +1 -0
- package/assets/{swapHorizontalRoundedBold-ClMJXV_7.js → swapHorizontalRoundedBold-Dw--6duE.js} +1 -1
- package/assets/swapHorizontalRoundedBold-Dw--6duE.js.map +1 -0
- package/assets/{swapVertical-C1CBQj4F.js → swapVertical-CxFnK1UF.js} +1 -1
- package/assets/swapVertical-CxFnK1UF.js.map +1 -0
- package/assets/{swiper-react-DkRXQeaP.js → swiper-react-CrLD22Xk.js} +1 -1
- package/assets/swiper-react-CrLD22Xk.js.map +1 -0
- package/assets/{telegram-CUHvVcqJ.js → telegram-BmVZEQYk.js} +1 -1
- package/assets/telegram-BmVZEQYk.js.map +1 -0
- package/assets/{three-dots-B--1f-aJ.js → three-dots-BK6yc88b.js} +1 -1
- package/assets/three-dots-BK6yc88b.js.map +1 -0
- package/assets/{twitch-D5UR3bH_.js → twitch-CvA0WDHq.js} +1 -1
- package/assets/twitch-CvA0WDHq.js.map +1 -0
- package/assets/{twitterIcon-C4FaCE6I.js → twitterIcon-DYKNw1tz.js} +1 -1
- package/assets/twitterIcon-DYKNw1tz.js.map +1 -0
- package/assets/{useFormatMessage-BnXnxCX5.js → useFormatMessage-BfWgOhEa.js} +1 -1
- package/assets/useFormatMessage-BfWgOhEa.js.map +1 -0
- package/assets/{verify-CX6NFSd9.js → verify-eu0Y2qM8.js} +1 -1
- package/assets/verify-eu0Y2qM8.js.map +1 -0
- package/assets/{verify-filled-DZnZym2w.js → verify-filled-C_stgx5w.js} +1 -1
- package/assets/verify-filled-C_stgx5w.js.map +1 -0
- package/assets/{w3m-modal-C_X8MD6y.js → w3m-modal-CH0h68TV.js} +1 -1
- package/assets/w3m-modal-CH0h68TV.js.map +1 -0
- package/assets/{wallet-DQY7-bL-.js → wallet-Dx1z19Ro.js} +1 -1
- package/assets/wallet-Dx1z19Ro.js.map +1 -0
- package/assets/{wallet-placeholder-DFLdbuyq.js → wallet-placeholder-C4ASa1lL.js} +1 -1
- package/assets/wallet-placeholder-C4ASa1lL.js.map +1 -0
- package/assets/{walletconnect-CxDEJ_ge.js → walletconnect-b3lQy-21.js} +1 -1
- package/assets/walletconnect-b3lQy-21.js.map +1 -0
- package/assets/{warning-circle-CBjKcSTH.js → warning-circle-Byr0mazD.js} +1 -1
- package/assets/warning-circle-Byr0mazD.js.map +1 -0
- package/assets/{x-DlAP6FIW.js → x-BT7bQigU.js} +1 -1
- package/assets/x-BT7bQigU.js.map +1 -0
- package/index.html +4 -2
- package/landing_hero.webp +0 -0
- package/package.json +3 -3
- package/robots.txt +4 -0
- package/assets/cursor-Cxl4NS77.js +0 -3
- package/assets/download-B2bN5wzk.js +0 -2
- package/assets/index-D-85M8Ik.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"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GAAgB,IACpDA,GAAY,+BACZ,SAAc,mCACP0K,GAAmB,CAC5B,CACI,MAAO,WACP,KAAM,WACN,SAAU,OACV,IAAK,GACL,gBAAiB,CAAC,QAAQ,CAC9B,EACA,CACI,MAAO,UACP,KAAM,OACN,SAAU,OACV,IAAK,yBACL,gBAAiB,CAAC,SAAU,QAAQ,CACxC,CACJ,EACaC,GAAkB,6DAClB7K,GAAgB,CACzB,gBAAiB,KACjB,WAAY,IACZ,YAAa,IACb,aAAc,IACd,WAAY,IACZ,YAAA2K,GACA,sBAAuB,GAAGA,EAAW,aACrC,oBAAqB,GAAGA,EAAW,sBACnC,qBAAsB,CAClB,gBACA,cACA,iBACA,cACA,eACA,aACA,iBACA,aACA,eACA,aACJ,EAKA,2BAA4B,CACxB,WACA,WACA,UACA,YACA,oBACA,WACA,OACA,MACJ,EACA,mCAAoC,WACpC,mCAAoC,CAChC,SAAU,WACV,eAAgB,WAChB,QAAS,UACT,UAAW,YACX,UAAW,oBACX,aAAc,WACd,KAAM,OACN,KAAM,MACV,EACA,0BAA2B,uCAC3B,sBAAuB,CACnB,MACA,MACA,QACA,OACA,MACA,MACA,OACA,MACA,OACA,QACA,OACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,QACA,IACJ,EACA,oBAAqB,CACjB,MACA,MACA,QACA,OACA,MACA,MACA,OACA,MACA,OACA,QACA,OACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,QACA,KACA,QACA,MACA,QACA,OACA,OACA,MACA,OACA,OACA,QACA,QACA,MACA,OACA,QACA,MACA,SACA,QACA,MACA,MACA,KACA,OACA,MACA,SACA,SACA,MACA,QACA,MACA,OACA,SACA,KACA,KACJ,EACA,yBAA0B,CAAC,SAAU,QAAQ,EAC7C,wBAAyB,CAErB,WAEA,eAEA,YAEA,aAEA,cAEA,YAEA,aAEA,aAEA,eAEA,aAEA,cAEA,mBACJ,EACA,iCAAkC,CAAC,QAAQ,EAC3C,kCAAmC,C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,CAAC;AAAA,yBAC/Ew3C,GAAUx3C,IAAiB,eAAe,GAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["fallback","transports_","config","key","name","rank","shouldThrow_","shouldThrow","retryCount","retryDelay","chain","pollingInterval","timeout","rest","transports","onResponse","transport","createTransport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","ConstantsUtil","process","define_process_env_default","NetworkUtil","caipnetworkId","chainId","networks","namespace","network","caipNetworks","caipNetworkId","caipNetwork","DP","RM","MAX_DP","MAX_POWER","NE","PE","STRICT","NAME","INVALID","INVALID_DP","INVALID_RM","DIV_BY_ZERO","P","UNDEFINED","NUMERIC","_Big_","Big","n","x","parse","e","nl","round","sd","rm","more","xc","stringify","doExponential","isNonzero","s","y","isneg","yc","j","k","l","dp","bl","bt","cmp","ri","bz","ai","al","r","rl","q","qc","qi","p","t","xlty","xe","ye","ygtx","one","c","half","NumberUtil","value","aBigNumber","bBigNumber","decimals","erc20ABI","swapABI","usdtABI","ContractUtil","tokenAddress","ParseUtil","address","caipAddress","parts","chainNamespace","SafeLocalStorageKeys","getSafeConnectorIdKey","SafeLocalStorage","isSafe","getW3mThemeVariables","themeVariables","themeType","h","isObject","proxyStateMap","refSet","buildProxyFunction","objectIs","newProxy","target","handler","canProxy","defaultHandlePromise","promise","snapCache","createSnapshot","version","handlePromise","cache","snap","markToTrack","enumerable","desc","target2","ensureVersion","proxyCache","versionHolder","proxyFunction","initialObject","found","listeners","notifyUpdate","op","nextVersion","listener","checkVersion","nextCheckVersion","propProxyStates","propProxyState","propVersion","createPropListener","prop","newOp","addPropListener","define_import_meta_env_default","remove","removePropListener","_a","entry","addListener","prevRemove","baseObject","proxyObject","prevValue","deleted","receiver","hasPrevValue","getUntracked","nextValue","v","childProxyState","proxyState","defaultProxyFunction","proxy","subscribe","callback","notifyInSync","ops","isListenerActive","removeListener","snapshot","ref","obj","subscribeKey","proxyMap","entries","map","record","index","cb","SECURE_SITE","ONRAMP_PROVIDERS","MELD_PUBLIC_KEY","StorageUtil","timestamp","cacheExpiry","stringChainId","href","deepLink","wallet","recentWallets","w","recent","connectorId","socialProvider","status","namespaces","uniqueNamespaces","result","balanceCache","nativeBalanceCache","ensCache","identityCache","accountTypes","connections","newConnections","connectionsStorage","CoreHelperUtil","networkName","ua","expiry","lastRetry","differenceMs","text","ancestor","safeAppUrl","ancestorUrl","safeUrl","milliseconds","resolve","func","timer","args","next","url","appUrl","wcUri","universalLink","safeUniversalLink","encodedWcUrl","features","isStandaloneDisplayMode","isIOSStandalone","src","imagePromise","reject","image","balance","symbol","formattedBalance","number","formattedValue","CommonConstants","approvedIds","requestedNetworks","approvedIndexMap","id","indexA","indexB","array","sum","item","roundedNumber","dollars","pennies","arr","set","keyValue","adapters","platform","adapterNames","adapter","type","publicKey","path","sections","valueToInject","paramToInject","providerParam","providerUrl","resultUrl","appendString","keyIndex","keyEndIndex","keyLength","keyParamEnd","beforeKeyValue","currentKeyValue","afterKeyValue","newKeyValue","fetchData","FetchUtil","baseUrl","clientId","headers","signal","body","OptionsUtil","optionValue","socials","state","OptionsController","subKey","options","remoteFeatures","newRemoteFeatures","newFeatures","projectId","customRpcUrls","allWallets","includeWalletIds","excludeWalletIds","featuredWalletIds","tokens","termsConditionsUrl","privacyPolicyUrl","customWallets","isSiweEnabled","isUniversalProvider","sdkVersion","metadata","disableAppend","enableEIP6963","debug","enableWalletConnect","enableWalletGuide","enableAuthLogger","enableWallets","preferUniversalLinks","hasMultipleAddresses","siwx","connectMethodsOrder","walletFeaturesOrder","socialsOrder","collapseWallets","enableEmbedded","allowUnsupportedChain","manualWCControl","enableNetworkSwitch","defaultAccountType","accountType","universalProviderConfigOverride","DEFAULT_STATE","api","MAX_ERRORS_PER_MINUTE","ONE_MINUTE_MS","TelemetryController","category","now","event","eventTime","errorEvent","sdkType","AppKitError","message","originalError","isStackConstructedFromOriginal","originalErrorStack","firstNewlineIndex","originalFrames","errorHandler","defaultCategory","withErrorBoundary","controller","newController","original","wrapped","CUSTOM_DEEPLINK_WALLETS","MobileWalletUtil","encodedHref","protocol","host","encodedRef","sub","AssetController","namespaceImageIds","AssetUtil","imageId","ApiController","existingImage","connector","variant","shortMessage","longMessage","AlertController","excluded","EventsController","payload","AccountController","data","recommendedEntries","imageCountToFetch","wallets","imageUrl","blob","countryCode","ChainController","allowedOrigins","ids","assets","connectors","ConnectorController","currencies","currency","token","sortedData","images","d","chains","count","recommendedImages","recentImages","page","search","badge","fetchFn","existingPromise","fetchConnectorImages","fetchFeaturedWallets","fetchRecommendedWallets","fetchNetworkImages","promises","isAnalyticsEnabled","caipNetworkIds","action","onSuccess","onError","onCancel","RouterController","view","isConnected","isFarcasterView","shouldReload","last","ModalController","authConnector","optionsState","historyIndex","themeMode","themeVariablesSnapshot","ThemeController","defaultActiveConnectors","newConnector","existingConnector","enabledNamespaces","connectorsFilteredByNamespaces","enabled","enabledConnectors","areAllNamespacesEnabled","connectorsByNameMap","mergedConnectors","keyConnectors","firstItem","isAuthConnector","connectorName","connectorsByName","uniqueConnectors","uc","activeNamespace","rdns","namespaceConnectors","W3mFrameRpcConstants","svg","errorMessage","autoClose","SnackController","lastNetworkInView","accountAddress","onramp","BlockchainApiController","nonSpamTransactions","TransactionsController","sameChainTransactions","filteredTransactions","activeChainNamespace","transactionsMap","transactions","grouped","transaction","year","month","yearTransactions","newMonthTransactions","tx","transfer","wcConnectionPromise","client","link","ConnectionController","setChain","wcLinking","recentWallet","wcBasic","uri","wcError","buffering","connection","currentNetwork","PublicStateController","newState","ERC7811Utils","asset","hex","formatUnits","caip2ChainId","chainPart","parsed","SendApiUtil","forceUpdate","eip155Balances","chainIdHex","walletGetAssetsResponse","balances","sendTokenAmount","receiverAddress","receiverProfileImageUrl","receiverProfileName","networkBalanceInUSD","loading","SendController","activeAccountType","networkTokenBalances","networkToken","to","amount","accountState","networkState","property","prev","activeChain","clients","activeChainId","activeCaipNetwork","adapterToActivate","namespacesFromAdapters","namespaceNetworks","nextAdapter","networkControllerClient","connectionControllerClient","chainAdapter","newNetworks","networkId","isActiveNetwork","newCaipNetworksOfAdapter","props","accountProps","_unknown","newAccountState","networkProps","newNetworkState","replaceState","newAdapter","isDifferentChain","caipNetworkOfNamespace","firstNetworkWithChain","unsupportedNetwork","_chain","chainAccountState","chainNetworkState","chainToFilter","approvedCaipNetworkIds","requestedCaipNetworks","smartAccountEnabledNetworks","chainToWrite","isSwitchingNamespace","availableChains","firstCaipNetwork","CommonConstantsUtil","ns","firstAvailableChain","byChainId","DEFAULT_OPTIONS","request","st","sv","supportedChains","account","cursor","userAddress","from","gasPrice","addresses","disableEstimate","cachedBalance","coinType","signature","destinationWallets","partnerUserId","defaultNetwork","purchaseAmount","paymentAmount","purchaseCurrency","paymentCurrency","pci","newAddress","balanceSymbol","profileName","profileImage","user","explorerUrl","isDeployed","currentTab","tokenBalance","accounts","label","connectedWalletInfo","preferredAccountType","preferredAccountTypes","socialWindow","farcasterUrl","filteredBalances","ignoreSwitchConfirmation","routerData","isCurrentNamespaceConnected","isDifferentNamespace","isNextNamespaceConnected","isConnectedWithAuth","isSupportedForAuthConnector","currentNamespace","namespaceNetwork","hasNoAdapters","isEmbeddedEnabled","USDC_CURRENCY_DEFAULT","USD_CURRENCY_DEFAULT","defaultState","provider","providers","validOnramp","newProviders","OnRampController","quote","SLIP44_MSB","EnsUtil","suggestion","EnsController","cachedEns","emailConnector","defaultError","R","ReflectApply","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","EventEmitter","eventsModule","once","defaultMaxListeners","checkListener","arg","_getMaxListeners","that","doError","events","er","len","arrayClone","_addListener","prepend","m","existing","onceWrapper","_onceWrap","list","position","originalListener","spliceOne","keys","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","copy","ret","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","SIWXUtil","siwxMessage","properties","isApproveSignScreen","isSiwxSignMessage","universalProvider","methods","sessions","cacao","wrapToPromise","asyncCall","function_","arguments_","isPrimitive","isPureObject","proto","BASE64_PREFIX","serializeRaw","base64Encode","deserializeRaw","base64Decode","input","Buffer","normalizeKey","joinKeys","normalizeBaseKey","base","filterKeyByDepth","depth","substrCount","filterKeyByBase","DRIVER_NAME","memory","createStorage","context","getMount","getMounts","includeParent","mountpoint","onChange","startWatch","watch","stopWatch","runBatch","items","commonOptions","batches","getBatch","mount","batch","isStringItem","options2","storage","opts","relativeKey","driver","destr","meta","value_","mounts","maskedMounts","allKeys","allMountsSupportMaxDepth","rawKeys","fullKey","shouldFilterByDepth","dispose","unwatcher","_dispose","z","I","u","S","D","E","_$1","g","global","K$2","N","O","o","f","h$4","K","h$3","I$2","y$4","m$1","d$3","P$2","S$4","O$2","R$2","T","J$1","V$4","isHex","strict","size","errorConfig","docsBaseUrl","docsPath","docsSlug","BaseError","details","docsUrl","walk","SizeExceedsPaddingSizeError","targetSize","pad","hexOrBytes","dir","padHex","padBytes","hex_","bytes","paddedBytes","padEnd","IntegerOutOfRangeError","max","min","signed","SizeOverflowError","givenSize","maxSize","assertSize","size_","hexToBigInt","hexToNumber","hexes","_v","toHex","numberToHex","stringToHex","boolToHex","bytesToHex","string","maxValue","minValue","suffix","encoder","toBytes","numberToBytes","boolToBytes","hexToBytes","stringToBytes","charCodeMap","charCodeToBase16","char","hexString","length","nibbleLeft","nibbleRight","anumber","isBytes","abytes","lengths","ahash","aexists","instance","checkFinished","aoutput","out","U32_MASK64","_32n","fromBig","le","split","lst","Ah","Al","rotlSH","rotlSL","rotlBH","rotlBL","crypto","u32","createView","rotr","word","shift","isLE","byteSwap","byteSwap32","utf8ToBytes","str","concatBytes","arrays","res","Hash","wrapConstructor","hashCons","hashC","msg","tmp","randomBytes","bytesLength","SHA3_PI","SHA3_ROTL","_SHA3_IOTA","_0n","_1n","_2n","_7n","_256n","_0x71n","SHA3_IOTA_H","SHA3_IOTA_L","rotlH","rotlL","keccakP","rounds","B","idx1","idx0","B0","B1","Th","Tl","curH","curL","PI","Keccak","blockLen","outputLen","enableXOF","pos","take","bufferOut","gen","keccak_256","keccak256","to_","LruMap","firstKey","checksumAddressCache","checksumAddress","address_","hexAddress","hash","publicKeyToAddress","recoverPublicKey","hashHex","secp256k1","__vitePreload","yParity","yParityOrV","recoveryBit","toRecoveryBit","signatureHex","recoverAddress","ALPHABET","BASE_MAP","BASE","LEADER","FACTOR","iFACTOR","encode","source","zeroes","pbegin","pend","b58","carry","it1","it2","decodeUnsafe","psz","b256","charCode","it3","it4","vch","decode","buffer","basex","ae","Ne","ue","Zo","Yo","Go","Tn","Wo","Xo","Rn","_n","Jo","$n","Y","jn","_e","pt","Yt","Sn","ei","ni","Tt","xt","Cn","oi","Pn","Po","kn","jo","Vn","On","Mn","si","gt","fi","li","gi","xn","Ie","yi","$e","mi","wi","bi","Ei","Co","vi","xi","ot","Si","Kn","Fn","Yn","Zn","zn","Oi","Ai","Bi","Ii","je","Ni","Wt","Ui","Xt","Ce","Rt","Gn","Wn","Ti","Ri","_i","$i","Li","ji","_t","Ci","Pe","ct","Xn","Pi","Jn","ki","$t","Vi","ke$3","Qn","Lt","tr","nr","Mi","Jt","Di","Hi","Ki","Fi","zi","rr","or","Zi","En","ke","Yi","Gi","Wi","Ve","ir","sr","cr","ko","Xi","Ji","Vo","Qi","ts","es","ar","rs","ur","Me","fr","os","de","lr","dr","De","is","hr","pe","yt","Ke","mr","wr","at","br","He","he","fs","qe","ls","vr","ds","hs","Fe","Sr","tt","Or","ps","Ar","mt","gs","ys","ms","ze","Ze","ws","bs","Es","Br","vs","Ir","jt","Nr","xs","Ss","Os","As","V","Ye","ge","Bs","Ur","Tr","Is","Ns","F","Us","$","L","U","C","M","Z","W","J","Ts","Rs","_s","$s","Ls","Rr","js","_r","Cs","$r","Lr","Ps","Ge","jr","ks","Vs","Ms","Ds","Hs","Ks","wt","Fs","qs","Qt","me","we","zs","St","te","Ct","Zs","Pt","kt","We","ut","Cr","Vt","Ot","ee","Mt","be","Ys","et","ne","Gs","Ws","Xe","Ee","ft","Pr","Xs","Js","Je","Qe","kr","Vr","Qs","Dt","tc","tn","ec","H","At","nc","en","Mr","Dr","X","Hr","it","nn","rc","oc","ic","sc","cc","ac","qr","Kr","Fr","zr","Zr","ve","rn","Yr","on","fc","lc","sn","Gr","cn","dc","hc","Wr","Ht","an","pc","gc","un","Xr","mc","wc","bc","Ec","Jr","vc","Sc","Oc","lt","dt","Qr","Ac","Bc","Ic","Be","zt","vt","Zt","Ut","vn","Nc","Uc","Tc","Rc","_c","ln","G","qt","Kt","dn","Ft","re","$c","eo","oe","hn","Lc","Q","jc","Cc","rt","Pc","kc","pn","Bt","no","ro","Vc","gn","Mc","Se","Dc","Hc","Gt","oo","Kc","Fc","io","zc","Mo","so","Zc","Yc","Do","co","Gc","ao","uo","Wc","Xc","Jc","Qc","ta","fo","ea","na","lo","ra","oa","It","ho","po","go","yn","yo","ie","Oe","mo","ca","aa","wo","bo","ht","Nt","se","Et","nt","Ae","ce","Eo","fa","la","da","ha","mn","vo","xo","So","Oo","Ao","wn","pa","Bo","Io","ga","ya","ma","wa","ba","Ea","va","xa","Sa","Oa","No","Aa","Ba","Uo","Ia","Na","To","Ro","_o","Ua","$o","Lo","Ta","bn","Ra","Le","cs","Ue","ti","ii","gr","pr","yr","Er","xr","ci","hi","ui","di","Dn","pi","In","Re","An","De.generateKeyPair","De.encodeIss","De.signJWT","us","Nn","Ln","Un","Bn","qn","Hn","fe","zo","Fo","A","ss","Ko","qo","Ho","Te","as","Ee$1","B$1","checkNamespaceConnectorId","getChainsToDisconnect","PresetsUtil","HelpersUtil","caipTokens","str1","str2","abortController","ErrorUtil","LoggerUtil","level","loggerOptions","getDefaultLoggerOptions","logger","generatePlatformLogger","RPC_URL_HOST","getBlockchainApiRpcUrl","WC_HTTP_RPC_SUPPORTED_CHAINS","CaipNetworksUtil","rpcUrl","isReownUrl","defaultRpcUrl","customNetworkImageUrls","networkDefaultRpcUrl","reownRpcUrl","chainDefaultRpcUrl","customRpcUrlsOfNetwork","rpcUrls","rpcUrlsWithoutReown","http","defaultCaipNetwork","caipNetworkIdFromStorage","availableNamespaces","isNamespaceAvailable","CLEAN_PROVIDERS_STATE","ProviderUtil","providerId","WalletUtil","connectorRDNSs","recentRDNSs","allRDNSs","connectorIds","recentIds","allIds","uniqueByRDNS","installedWalletRdnsMap","rdnsMap","walletA","walletB","installationComparison","walletAFeaturedIndex","walletBFeaturedIndex","_features","_connectors","connectMethodOrder","injected","announced","ConnectorUtil","shownInjected","shownAnnounced","isRDNSExcluded","isNameExcluded","recommended","featured","filteredRecommended","filteredFeatured","multiChain","external","custom","overriddenConnectors","isConnectedWithWC","option","enabledConnectorTypes","prioritizedConnectors","remainingConnectors","enabledConnectorType","prioritizedConnectorType","n$2","y$1","themeTag","darkModeTag","lightModeTag","initializeTheming","createRootStyles","setColorTheme","setThemeVariables","css","unsafeCSS","resetStyles","elementStyles","colorStyles","WcConstantsUtil","defineChain","solana","solanaDevnet","DEFAULT_METHODS","WcHelpersUtil","baseNamespaces","overrides","namespacesToOverride","processedNamespaces","configOverride","defaultNamespaces","wcNameAddress","accountsChains","currentOrigin","allowedPatterns","defaultAllowedOrigins","pattern","regexString","WalletConnectConnector","OPTIONAL_METHODS","AdapterBlueprint","authProvider","connectorsAdded","eventName","_chainId","providerType","UniversalAdapter","self","CoreConstantsUtil","bs58","_params","switchError","FEATURE_KEYS","featureConfig","apiConfig","localValue","ConfigUtil","apiProjectConfig","localFeatureValue","featureKey","warningName","localFeatures","useApi","isBasic","useApiConfig","remoteFeaturesConfig","warningMessage","AppKitBaseClient","caipNetworkWithId","namespaceCaipNetwork","allConnectors","walletInfo","addressExplorerUrl","adapterNamespaces","networkNamespaces","optionsCopy","storedAccountTypes","defaultTypes","defaultMetaData","UtilConstantsUtil","info","socialUri","chainToUse","toConnectNetwork","fallbackCaipNetwork","syncedAccounts","chainsToDisconnect","disconnectResults","failures","networkNamespace","blueprints","blueprint","connectionStatus","isSameNamespace","isActiveChain","syncTasks","namespaceAccounts","sessionAddress","isActiveNamespace","networkOfChain","chainIdToUse","isUnsupportedNetwork","shouldSupportAllNetworks","fallBackCaipNetworkId","newChainId","newCaipAddress","registeredWcNames","wcName","icon","universalProviderOptions","UniversalProvider","currentCaipNetwork","callbackData","matchedUniversalProviderError","errorKey","errorValue","alertErrorKey","alertError","adapterBlueprint","appKitNetwork","activeConnectorId","updateVal","route","newOptions","updatedOptions","extendedNetwork","isInitialized","AppKit","_request","modal","PACKAGE_VERSION","createAppKit"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],"sources":["../../node_modules/viem/_esm/clients/transports/fallback.js","../../node_modules/@reown/appkit-common/dist/esm/src/utils/ConstantsUtil.js","../../node_modules/@reown/appkit-common/dist/esm/src/utils/NetworkUtil.js","../../node_modules/big.js/big.mjs","../../node_modules/@reown/appkit-common/dist/esm/src/utils/NumberUtil.js","../../node_modules/@reown/appkit-common/dist/esm/src/contracts/erc20.js","../../node_modules/@reown/appkit-common/dist/esm/src/contracts/swap.js","../../node_modules/@reown/appkit-common/dist/esm/src/contracts/usdt.js","../../node_modules/@reown/appkit-common/dist/esm/src/utils/ContractUtil.js","../../node_modules/@reown/appkit-common/dist/esm/src/utils/ParseUtil.js","../../node_modules/@reown/appkit-common/dist/esm/src/utils/SafeLocalStorage.js","../../node_modules/@reown/appkit-common/dist/esm/src/utils/ThemeUtil.js","../../node_modules/proxy-compare/dist/index.modern.js","../../node_modules/valtio/esm/vanilla.mjs","../../node_modules/valtio/esm/vanilla/utils.mjs","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/ConstantsUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/StorageUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/CoreHelperUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/FetchUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/OptionsUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/OptionsController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/TelemetryController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/withErrorBoundary.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/MobileWallet.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/AssetController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/AssetUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/AlertController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/EventsController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ApiController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/RouterController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ThemeController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ConnectorController.js","../../node_modules/@reown/appkit-wallet/dist/esm/src/W3mFrameConstants.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/SnackController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/TransactionsController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ConnectionController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/PublicStateController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/ERC7811Util.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/SendApiUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/SendController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ChainController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/BlockchainApiController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/AccountController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/NetworkUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ModalController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/OnRampController.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/EnsUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/controllers/EnsController.js","../../node_modules/@reown/appkit-controllers/node_modules/events/events.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/SIWXUtil.js","../../node_modules/@reown/appkit/node_modules/events/events.js","../../node_modules/@reown/appkit/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../node_modules/@reown/appkit/node_modules/unstorage/dist/index.mjs","../../node_modules/@reown/appkit/node_modules/@walletconnect/keyvaluestorage/dist/index.es.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/types/dist/index.es.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/data/isHex.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/data/size.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/version.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/base.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/data.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/data/pad.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/encoding.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/encoding/fromHex.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/encoding/toHex.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/encoding/toBytes.js","../../node_modules/@reown/appkit/node_modules/@noble/hashes/esm/_assert.js","../../node_modules/@reown/appkit/node_modules/@noble/hashes/esm/_u64.js","../../node_modules/@reown/appkit/node_modules/@noble/hashes/esm/crypto.js","../../node_modules/@reown/appkit/node_modules/@noble/hashes/esm/utils.js","../../node_modules/@reown/appkit/node_modules/@noble/hashes/esm/sha3.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/hash/keccak256.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/lru.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/address/getAddress.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/signature/recoverPublicKey.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/signature/recoverAddress.js","../../node_modules/@reown/appkit/node_modules/base-x/src/esm/index.js","../../node_modules/@reown/appkit/node_modules/bs58/src/esm/index.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/utils/dist/index.es.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/core/dist/index.es.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/sign-client/dist/index.es.js","../../node_modules/@reown/appkit/node_modules/@walletconnect/universal-provider/dist/index.es.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/ConnectorControllerUtil.js","../../node_modules/@reown/appkit-controllers/dist/esm/src/utils/ChainControllerUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/ConstantsUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/PresetsUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/HelpersUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/ErrorUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/LoggerUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/CaipNetworkUtil.js","../../node_modules/@reown/appkit-utils/dist/esm/src/ProviderUtil.js","../../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/ConstantsUtil.js","../../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/WalletUtil.js","../../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/ConnectorUtil.js","../../node_modules/@lit/reactive-element/css-tag.js","../../node_modules/@lit/reactive-element/reactive-element.js","../../node_modules/lit-html/lit-html.js","../../node_modules/lit-element/lit-element.js","../../node_modules/@reown/appkit-ui/dist/esm/src/utils/ThemeUtil.js","../../node_modules/@reown/appkit/dist/esm/src/utils/ConstantsUtil.js","../../node_modules/@reown/appkit/dist/esm/src/networks/utils.js","../../node_modules/@reown/appkit/dist/esm/src/networks/solana/solana.js","../../node_modules/@reown/appkit/dist/esm/src/networks/solana/solanaDevnet.js","../../node_modules/@reown/appkit/dist/esm/src/networks/solana/solanaTestnet.js","../../node_modules/@reown/appkit/dist/esm/src/networks/bitcoin.js","../../node_modules/@reown/appkit/dist/esm/src/utils/HelpersUtil.js","../../node_modules/@reown/appkit/dist/esm/src/connectors/WalletConnectConnector.js","../../node_modules/@reown/appkit/dist/esm/src/adapters/ChainAdapterBlueprint.js","../../node_modules/@reown/appkit/dist/esm/src/universal-adapter/client.js","../../node_modules/@reown/appkit/dist/esm/src/utils/ConfigUtil.js","../../node_modules/@reown/appkit/dist/esm/src/client/appkit-base-client.js","../../node_modules/@reown/appkit/dist/esm/src/client/appkit-core.js","../../node_modules/@reown/appkit/dist/esm/exports/constants.js","../../node_modules/@reown/appkit/dist/esm/exports/core.js"],"sourcesContent":["import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","export const ConstantsUtil = {\n WC_NAME_SUFFIX: '.reown.id',\n WC_NAME_SUFFIX_LEGACY: '.wcn.id',\n BLOCKCHAIN_API_RPC_URL: 'https://rpc.walletconnect.org',\n PULSE_API_URL: 'https://pulse.walletconnect.org',\n W3M_API_URL: 'https://api.web3modal.org',\n CONNECTOR_ID: {\n WALLET_CONNECT: 'walletConnect',\n INJECTED: 'injected',\n WALLET_STANDARD: 'announced',\n COINBASE: 'coinbaseWallet',\n COINBASE_SDK: 'coinbaseWalletSDK',\n SAFE: 'safe',\n LEDGER: 'ledger',\n OKX: 'okx',\n EIP6963: 'eip6963',\n AUTH: 'ID_AUTH'\n },\n CONNECTOR_NAMES: {\n AUTH: 'Auth'\n },\n AUTH_CONNECTOR_SUPPORTED_CHAINS: ['eip155', 'solana'],\n LIMITS: {\n PENDING_TRANSACTIONS: 99\n },\n CHAIN: {\n EVM: 'eip155',\n SOLANA: 'solana',\n POLKADOT: 'polkadot',\n BITCOIN: 'bip122'\n },\n CHAIN_NAME_MAP: {\n eip155: 'EVM Networks',\n solana: 'Solana',\n polkadot: 'Polkadot',\n bip122: 'Bitcoin',\n cosmos: 'Cosmos'\n },\n ADAPTER_TYPES: {\n BITCOIN: 'bitcoin',\n SOLANA: 'solana',\n WAGMI: 'wagmi',\n ETHERS: 'ethers',\n ETHERS5: 'ethers5'\n },\n USDT_CONTRACT_ADDRESSES: [\n '0xdac17f958d2ee523a2206206994597c13d831ec7',\n '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',\n '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7',\n '0x919C1c267BC06a7039e03fcc2eF738525769109c',\n '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',\n '0x55d398326f99059fF775485246999027B3197955',\n '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9'\n ],\n HTTP_STATUS_CODES: {\n SERVICE_UNAVAILABLE: 503,\n FORBIDDEN: 403\n },\n UNSUPPORTED_NETWORK_NAME: 'Unknown Network',\n SECURE_SITE_SDK_ORIGIN: (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']\n : undefined) || 'https://secure.walletconnect.org'\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const NetworkUtil = {\n caipNetworkIdToNumber(caipnetworkId) {\n return caipnetworkId ? Number(caipnetworkId.split(':')[1]) : undefined;\n },\n parseEvmChainId(chainId) {\n return typeof chainId === 'string'\n ? this.caipNetworkIdToNumber(chainId)\n : chainId;\n },\n getNetworksByNamespace(networks, namespace) {\n return networks?.filter(network => network.chainNamespace === namespace) || [];\n },\n getFirstNetworkByNamespace(networks, namespace) {\n return this.getNetworksByNamespace(networks, namespace)[0];\n },\n getNetworkNameByCaipNetworkId(caipNetworks, caipNetworkId) {\n if (!caipNetworkId) {\n return undefined;\n }\n const caipNetwork = caipNetworks.find(network => network.caipNetworkId === caipNetworkId);\n if (caipNetwork) {\n return caipNetwork.name;\n }\n const [namespace] = caipNetworkId.split(':');\n return ConstantsUtil.CHAIN_NAME_MAP?.[namespace] || undefined;\n }\n};\n//# sourceMappingURL=NetworkUtil.js.map","/*\r\n * big.js v6.2.2\r\n * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.\r\n * Copyright (c) 2024 Michael Mclaughlin\r\n * https://github.com/MikeMcl/big.js/LICENCE.md\r\n */\r\n\r\n\r\n/************************************** EDITABLE DEFAULTS *****************************************/\r\n\r\n\r\n // The default values below must be integers within the stated ranges.\r\n\r\n /*\r\n * The maximum number of decimal places (DP) of the results of operations involving division:\r\n * div and sqrt, and pow with negative exponents.\r\n */\r\nvar DP = 20, // 0 to MAX_DP\r\n\r\n /*\r\n * The rounding mode (RM) used when rounding to the above decimal places.\r\n *\r\n * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)\r\n * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)\r\n * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)\r\n * 3 Away from zero. (ROUND_UP)\r\n */\r\n RM = 1, // 0, 1, 2 or 3\r\n\r\n // The maximum value of DP and Big.DP.\r\n MAX_DP = 1E6, // 0 to 1000000\r\n\r\n // The maximum magnitude of the exponent argument to the pow method.\r\n MAX_POWER = 1E6, // 1 to 1000000\r\n\r\n /*\r\n * The negative exponent (NE) at and beneath which toString returns exponential notation.\r\n * (JavaScript numbers: -7)\r\n * -1000000 is the minimum recommended exponent value of a Big.\r\n */\r\n NE = -7, // 0 to -1000000\r\n\r\n /*\r\n * The positive exponent (PE) at and above which toString returns exponential notation.\r\n * (JavaScript numbers: 21)\r\n * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.\r\n */\r\n PE = 21, // 0 to 1000000\r\n\r\n /*\r\n * When true, an error will be thrown if a primitive number is passed to the Big constructor,\r\n * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a\r\n * primitive number without a loss of precision.\r\n */\r\n STRICT = false, // true or false\r\n\r\n\r\n/**************************************************************************************************/\r\n\r\n\r\n // Error messages.\r\n NAME = '[big.js] ',\r\n INVALID = NAME + 'Invalid ',\r\n INVALID_DP = INVALID + 'decimal places',\r\n INVALID_RM = INVALID + 'rounding mode',\r\n DIV_BY_ZERO = NAME + 'Division by zero',\r\n\r\n // The shared prototype object.\r\n P = {},\r\n UNDEFINED = void 0,\r\n NUMERIC = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\r\n\r\n\r\n/*\r\n * Create and return a Big constructor.\r\n */\r\nfunction _Big_() {\r\n\r\n /*\r\n * The Big constructor and exported function.\r\n * Create and return a new instance of a Big number object.\r\n *\r\n * n {number|string|Big} A numeric value.\r\n */\r\n function Big(n) {\r\n var x = this;\r\n\r\n // Enable constructor usage without new.\r\n if (!(x instanceof Big)) return n === UNDEFINED ? _Big_() : new Big(n);\r\n\r\n // Duplicate.\r\n if (n instanceof Big) {\r\n x.s = n.s;\r\n x.e = n.e;\r\n x.c = n.c.slice();\r\n } else {\r\n if (typeof n !== 'string') {\r\n if (Big.strict === true && typeof n !== 'bigint') {\r\n throw TypeError(INVALID + 'value');\r\n }\r\n\r\n // Minus zero?\r\n n = n === 0 && 1 / n < 0 ? '-0' : String(n);\r\n }\r\n\r\n parse(x, n);\r\n }\r\n\r\n // Retain a reference to this Big constructor.\r\n // Shadow Big.prototype.constructor which points to Object.\r\n x.constructor = Big;\r\n }\r\n\r\n Big.prototype = P;\r\n Big.DP = DP;\r\n Big.RM = RM;\r\n Big.NE = NE;\r\n Big.PE = PE;\r\n Big.strict = STRICT;\r\n Big.roundDown = 0;\r\n Big.roundHalfUp = 1;\r\n Big.roundHalfEven = 2;\r\n Big.roundUp = 3;\r\n\r\n return Big;\r\n}\r\n\r\n\r\n/*\r\n * Parse the number or string value passed to a Big constructor.\r\n *\r\n * x {Big} A Big number instance.\r\n * n {number|string} A numeric value.\r\n */\r\nfunction parse(x, n) {\r\n var e, i, nl;\r\n\r\n if (!NUMERIC.test(n)) {\r\n throw Error(INVALID + 'number');\r\n }\r\n\r\n // Determine sign.\r\n x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;\r\n\r\n // Decimal point?\r\n if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = n.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +n.slice(i + 1);\r\n n = n.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = n.length;\r\n }\r\n\r\n nl = n.length;\r\n\r\n // Determine leading zeros.\r\n for (i = 0; i < nl && n.charAt(i) == '0';) ++i;\r\n\r\n if (i == nl) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n\r\n // Determine trailing zeros.\r\n for (; nl > 0 && n.charAt(--nl) == '0';);\r\n x.e = e - i - 1;\r\n x.c = [];\r\n\r\n // Convert string to array of digits without leading/trailing zeros.\r\n for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Round Big x to a maximum of sd significant digits using rounding mode rm.\r\n *\r\n * x {Big} The Big to round.\r\n * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.\r\n * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n * [more] {boolean} Whether the result of division was truncated.\r\n */\r\nfunction round(x, sd, rm, more) {\r\n var xc = x.c;\r\n\r\n if (rm === UNDEFINED) rm = x.constructor.RM;\r\n if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {\r\n throw Error(INVALID_RM);\r\n }\r\n\r\n if (sd < 1) {\r\n more =\r\n rm === 3 && (more || !!xc[0]) || sd === 0 && (\r\n rm === 1 && xc[0] >= 5 ||\r\n rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED))\r\n );\r\n\r\n xc.length = 1;\r\n\r\n if (more) {\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n x.e = x.e - sd + 1;\r\n xc[0] = 1;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n } else if (sd < xc.length) {\r\n\r\n // xc[sd] is the digit after the digit that may be rounded up.\r\n more =\r\n rm === 1 && xc[sd] >= 5 ||\r\n rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&\r\n (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||\r\n rm === 3 && (more || !!xc[0]);\r\n\r\n // Remove any digits after the required precision.\r\n xc.length = sd;\r\n\r\n // Round up?\r\n if (more) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up.\r\n for (; ++xc[--sd] > 9;) {\r\n xc[sd] = 0;\r\n if (sd === 0) {\r\n ++x.e;\r\n xc.unshift(1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (sd = xc.length; !xc[--sd];) xc.pop();\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Return a string representing the value of Big x in normal or exponential notation.\r\n * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.\r\n */\r\nfunction stringify(x, doExponential, isNonzero) {\r\n var e = x.e,\r\n s = x.c.join(''),\r\n n = s.length;\r\n\r\n // Exponential notation?\r\n if (doExponential) {\r\n s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;\r\n\r\n // Normal notation.\r\n } else if (e < 0) {\r\n for (; ++e;) s = '0' + s;\r\n s = '0.' + s;\r\n } else if (e > 0) {\r\n if (++e > n) {\r\n for (e -= n; e--;) s += '0';\r\n } else if (e < n) {\r\n s = s.slice(0, e) + '.' + s.slice(e);\r\n }\r\n } else if (n > 1) {\r\n s = s.charAt(0) + '.' + s.slice(1);\r\n }\r\n\r\n return x.s < 0 && isNonzero ? '-' + s : s;\r\n}\r\n\r\n\r\n// Prototype/instance methods\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the absolute value of this Big.\r\n */\r\nP.abs = function () {\r\n var x = new this.constructor(this);\r\n x.s = 1;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return 1 if the value of this Big is greater than the value of Big y,\r\n * -1 if the value of this Big is less than the value of Big y, or\r\n * 0 if they have the same value.\r\n */\r\nP.cmp = function (y) {\r\n var isneg,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new x.constructor(y)).c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n isneg = i < 0;\r\n\r\n // Compare exponents.\r\n if (k != l) return k > l ^ isneg ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = -1; ++i < j;) {\r\n if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ isneg ? 1 : -1;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,\r\n * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\nP.div = function (y) {\r\n var x = this,\r\n Big = x.constructor,\r\n a = x.c, // dividend\r\n b = (y = new Big(y)).c, // divisor\r\n k = x.s == y.s ? 1 : -1,\r\n dp = Big.DP;\r\n\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n\r\n // Divisor is zero?\r\n if (!b[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n // Dividend is 0? Return +-0.\r\n if (!a[0]) {\r\n y.s = k;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n var bl, bt, n, cmp, ri,\r\n bz = b.slice(),\r\n ai = bl = b.length,\r\n al = a.length,\r\n r = a.slice(0, bl), // remainder\r\n rl = r.length,\r\n q = y, // quotient\r\n qc = q.c = [],\r\n qi = 0,\r\n p = dp + (q.e = x.e - y.e) + 1; // precision of the result\r\n\r\n q.s = k;\r\n k = p < 0 ? 0 : p;\r\n\r\n // Create version of divisor with leading zero.\r\n bz.unshift(0);\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; rl++ < bl;) r.push(0);\r\n\r\n do {\r\n\r\n // n is how many times the divisor goes into current remainder.\r\n for (n = 0; n < 10; n++) {\r\n\r\n // Compare divisor and remainder.\r\n if (bl != (rl = r.length)) {\r\n cmp = bl > rl ? 1 : -1;\r\n } else {\r\n for (ri = -1, cmp = 0; ++ri < bl;) {\r\n if (b[ri] != r[ri]) {\r\n cmp = b[ri] > r[ri] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // If divisor < remainder, subtract divisor from remainder.\r\n if (cmp < 0) {\r\n\r\n // Remainder can't be more than 1 digit longer than divisor.\r\n // Equalise lengths using divisor with extra leading zero?\r\n for (bt = rl == bl ? b : bz; rl;) {\r\n if (r[--rl] < bt[rl]) {\r\n ri = rl;\r\n for (; ri && !r[--ri];) r[ri] = 9;\r\n --r[ri];\r\n r[rl] += 10;\r\n }\r\n r[rl] -= bt[rl];\r\n }\r\n\r\n for (; !r[0];) r.shift();\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n // Add the digit n to the result array.\r\n qc[qi++] = cmp ? n : ++n;\r\n\r\n // Update the remainder.\r\n if (r[0] && cmp) r[rl] = a[ai] || 0;\r\n else r = [a[ai]];\r\n\r\n } while ((ai++ < al || r[0] !== UNDEFINED) && k--);\r\n\r\n // Leading zero? Do not remove if result is simply zero (qi == 1).\r\n if (!qc[0] && qi != 1) {\r\n\r\n // There can't be more than one zero.\r\n qc.shift();\r\n q.e--;\r\n p--;\r\n }\r\n\r\n // Round?\r\n if (qi > p) round(q, p, Big.RM, r[0] !== UNDEFINED);\r\n\r\n return q;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is equal to the value of Big y, otherwise return false.\r\n */\r\nP.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is greater than the value of Big y, otherwise return\r\n * false.\r\n */\r\nP.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\nP.gte = function (y) {\r\n return this.cmp(y) > -1;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is less than the value of Big y, otherwise return false.\r\n */\r\nP.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is less than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\nP.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big minus the value of Big y.\r\n */\r\nP.minus = P.sub = function (y) {\r\n var i, j, t, xlty,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xc = x.c.slice(),\r\n xe = x.e,\r\n yc = y.c,\r\n ye = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (yc[0]) {\r\n y.s = -b;\r\n } else if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = 1;\r\n }\r\n return y;\r\n }\r\n\r\n // Determine which is the bigger number. Prepend zeros to equalise exponents.\r\n if (a = xe - ye) {\r\n\r\n if (xlty = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n for (b = a; b--;) t.push(0);\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = ((xlty = xc.length < yc.length) ? xc : yc).length;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n if (xc[b] != yc[b]) {\r\n xlty = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xlty) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n /*\r\n * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only\r\n * needs to start at yc.length.\r\n */\r\n if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;\r\n\r\n // Subtract yc from xc.\r\n for (b = i; j > a;) {\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i];) xc[i] = 9;\r\n --xc[i];\r\n xc[j] += 10;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--b] === 0;) xc.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] === 0;) {\r\n xc.shift();\r\n --ye;\r\n }\r\n\r\n if (!xc[0]) {\r\n\r\n // n - n = +0\r\n y.s = 1;\r\n\r\n // Result must be zero.\r\n xc = [ye = 0];\r\n }\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big modulo the value of Big y.\r\n */\r\nP.mod = function (y) {\r\n var ygtx,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n if (!y.c[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n x.s = y.s = 1;\r\n ygtx = y.cmp(x) == 1;\r\n x.s = a;\r\n y.s = b;\r\n\r\n if (ygtx) return new Big(x);\r\n\r\n a = Big.DP;\r\n b = Big.RM;\r\n Big.DP = Big.RM = 0;\r\n x = x.div(y);\r\n Big.DP = a;\r\n Big.RM = b;\r\n\r\n return this.minus(x.times(y));\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big negated.\r\n */\r\nP.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big plus the value of Big y.\r\n */\r\nP.plus = P.add = function (y) {\r\n var e, k, t,\r\n x = this,\r\n Big = x.constructor;\r\n\r\n y = new Big(y);\r\n\r\n // Signs differ?\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e,\r\n xc = x.c,\r\n ye = y.e,\r\n yc = y.c;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (!yc[0]) {\r\n if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = x.s;\r\n }\r\n }\r\n return y;\r\n }\r\n\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents.\r\n // Note: reverse faster than unshifts.\r\n if (e = xe - ye) {\r\n if (e > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n e = -e;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; e--;) t.push(0);\r\n t.reverse();\r\n }\r\n\r\n // Point xc to the longer array.\r\n if (xc.length - yc.length < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n }\r\n\r\n e = yc.length;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.\r\n for (k = 0; e; xc[e] %= 10) k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n\r\n if (k) {\r\n xc.unshift(k);\r\n ++ye;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (e = xc.length; xc[--e] === 0;) xc.pop();\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a Big whose value is the value of this Big raised to the power n.\r\n * If n is negative, round to a maximum of Big.DP decimal places using rounding\r\n * mode Big.RM.\r\n *\r\n * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.\r\n */\r\nP.pow = function (n) {\r\n var x = this,\r\n one = new x.constructor('1'),\r\n y = one,\r\n isneg = n < 0;\r\n\r\n if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {\r\n throw Error(INVALID + 'exponent');\r\n }\r\n\r\n if (isneg) n = -n;\r\n\r\n for (;;) {\r\n if (n & 1) y = y.times(x);\r\n n >>= 1;\r\n if (!n) break;\r\n x = x.times(x);\r\n }\r\n\r\n return isneg ? one.div(y) : y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd\r\n * significant digits using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.prec = function (sd, rm) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n return round(new this.constructor(this), sd, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places\r\n * using rounding mode rm, or Big.RM if rm is not specified.\r\n * If dp is negative, round to an integer which is a multiple of 10**-dp.\r\n * If dp is not specified, round to 0 decimal places.\r\n *\r\n * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.round = function (dp, rm) {\r\n if (dp === UNDEFINED) dp = 0;\r\n else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n return round(new this.constructor(this), dp + this.e + 1, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the square root of the value of this Big, rounded, if\r\n * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\nP.sqrt = function () {\r\n var r, c, t,\r\n x = this,\r\n Big = x.constructor,\r\n s = x.s,\r\n e = x.e,\r\n half = new Big('0.5');\r\n\r\n // Zero?\r\n if (!x.c[0]) return new Big(x);\r\n\r\n // Negative?\r\n if (s < 0) {\r\n throw Error(NAME + 'No square root');\r\n }\r\n\r\n // Estimate.\r\n s = Math.sqrt(+stringify(x, true, true));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.\r\n if (s === 0 || s === 1 / 0) {\r\n c = x.c.join('');\r\n if (!(c.length + e & 1)) c += '0';\r\n s = Math.sqrt(c);\r\n e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);\r\n r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);\r\n } else {\r\n r = new Big(s + '');\r\n }\r\n\r\n e = r.e + (Big.DP += 4);\r\n\r\n // Newton-Raphson iteration.\r\n do {\r\n t = r;\r\n r = half.times(t.plus(x.div(t)));\r\n } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));\r\n\r\n return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big times the value of Big y.\r\n */\r\nP.times = P.mul = function (y) {\r\n var c,\r\n x = this,\r\n Big = x.constructor,\r\n xc = x.c,\r\n yc = (y = new Big(y)).c,\r\n a = xc.length,\r\n b = yc.length,\r\n i = x.e,\r\n j = y.e;\r\n\r\n // Determine sign of result.\r\n y.s = x.s == y.s ? 1 : -1;\r\n\r\n // Return signed 0 if either 0.\r\n if (!xc[0] || !yc[0]) {\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // Initialise exponent of result as x.e + y.e.\r\n y.e = i + j;\r\n\r\n // If array xc has fewer digits than yc, swap xc and yc, and lengths.\r\n if (a < b) {\r\n c = xc;\r\n xc = yc;\r\n yc = c;\r\n j = a;\r\n a = b;\r\n b = j;\r\n }\r\n\r\n // Initialise coefficient array of result with zeros.\r\n for (c = new Array(j = a + b); j--;) c[j] = 0;\r\n\r\n // Multiply.\r\n\r\n // i is initially xc.length.\r\n for (i = b; i--;) {\r\n b = 0;\r\n\r\n // a is yc.length.\r\n for (j = a + i; j > i;) {\r\n\r\n // Current sum of products at this digit position, plus carry.\r\n b = c[j] + yc[i] * xc[j - i - 1] + b;\r\n c[j--] = b % 10;\r\n\r\n // carry\r\n b = b / 10 | 0;\r\n }\r\n\r\n c[j] = b;\r\n }\r\n\r\n // Increment result exponent if there is a final carry, otherwise remove leading zero.\r\n if (b) ++y.e;\r\n else c.shift();\r\n\r\n // Remove trailing zeros.\r\n for (i = c.length; !c[--i];) c.pop();\r\n y.c = c;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big in exponential notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.toExponential = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), ++dp, rm);\r\n for (; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, true, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big in normal notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n */\r\nP.toFixed = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), dp + x.e + 1, rm);\r\n\r\n // x.e may have changed if the value is rounded up.\r\n for (dp = dp + x.e + 1; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, false, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Omit the sign for negative zero.\r\n */\r\nP[Symbol.for('nodejs.util.inspect.custom')] = P.toJSON = P.toString = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);\r\n};\r\n\r\n\r\n/*\r\n * Return the value of this Big as a primitve number.\r\n */\r\nP.toNumber = function () {\r\n var n = +stringify(this, true, true);\r\n if (this.constructor.strict === true && !this.eq(n.toString())) {\r\n throw Error(NAME + 'Imprecise conversion');\r\n }\r\n return n;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big rounded to sd significant digits using\r\n * rounding mode rm, or Big.RM if rm is not specified.\r\n * Use exponential notation if sd is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.toPrecision = function (sd, rm) {\r\n var x = this,\r\n Big = x.constructor,\r\n n = x.c[0];\r\n\r\n if (sd !== UNDEFINED) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n x = round(new Big(x), sd, rm);\r\n for (; x.c.length < sd;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Include the sign for negative zero.\r\n */\r\nP.valueOf = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n if (Big.strict === true) {\r\n throw Error(NAME + 'valueOf disallowed');\r\n }\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);\r\n};\r\n\r\n\r\n// Export\r\n\r\n\r\nexport var Big = _Big_();\r\n\r\n/// <reference types=\"https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/master/types/big.js/index.d.ts\" />\r\nexport default Big;\r\n","import Big from 'big.js';\nexport const NumberUtil = {\n bigNumber(value) {\n if (!value) {\n return new Big(0);\n }\n return new Big(value);\n },\n multiply(a, b) {\n if (a === undefined || b === undefined) {\n return new Big(0);\n }\n const aBigNumber = new Big(a);\n const bBigNumber = new Big(b);\n return aBigNumber.times(bBigNumber);\n },\n formatNumberToLocalString(value, decimals = 2) {\n if (value === undefined) {\n return '0.00';\n }\n if (typeof value === 'number') {\n return value.toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n }\n return parseFloat(value).toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n },\n parseLocalStringToNumber(value) {\n if (value === undefined) {\n return 0;\n }\n return parseFloat(value.replace(/,/gu, ''));\n }\n};\n//# sourceMappingURL=NumberUtil.js.map","export const erc20ABI = [\n {\n type: 'function',\n name: 'transfer',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: '_to',\n type: 'address'\n },\n {\n name: '_value',\n type: 'uint256'\n }\n ],\n outputs: [\n {\n name: '',\n type: 'bool'\n }\n ]\n },\n {\n type: 'function',\n name: 'transferFrom',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: '_from',\n type: 'address'\n },\n {\n name: '_to',\n type: 'address'\n },\n {\n name: '_value',\n type: 'uint256'\n }\n ],\n outputs: [\n {\n name: '',\n type: 'bool'\n }\n ]\n }\n];\n//# sourceMappingURL=erc20.js.map","export const swapABI = [\n {\n type: 'function',\n name: 'approve',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'spender', type: 'address' },\n { name: 'amount', type: 'uint256' }\n ],\n outputs: [{ type: 'bool' }]\n }\n];\n//# sourceMappingURL=swap.js.map","export const usdtABI = [\n {\n type: 'function',\n name: 'transfer',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: 'recipient',\n type: 'address'\n },\n {\n name: 'amount',\n type: 'uint256'\n }\n ],\n outputs: []\n },\n {\n type: 'function',\n name: 'transferFrom',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: 'sender',\n type: 'address'\n },\n {\n name: 'recipient',\n type: 'address'\n },\n {\n name: 'amount',\n type: 'uint256'\n }\n ],\n outputs: [\n {\n name: '',\n type: 'bool'\n }\n ]\n }\n];\n//# sourceMappingURL=usdt.js.map","import { erc20ABI } from '../contracts/erc20.js';\nimport { swapABI } from '../contracts/swap.js';\nimport { usdtABI } from '../contracts/usdt.js';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nexport const ContractUtil = {\n getERC20Abi: (tokenAddress) => {\n if (ConstantsUtil.USDT_CONTRACT_ADDRESSES.includes(tokenAddress)) {\n return usdtABI;\n }\n return erc20ABI;\n },\n getSwapAbi: () => swapABI\n};\n//# sourceMappingURL=ContractUtil.js.map","export const ParseUtil = {\n validateCaipAddress(address) {\n if (address.split(':')?.length !== 3) {\n throw new Error('Invalid CAIP Address');\n }\n return address;\n },\n parseCaipAddress(caipAddress) {\n const parts = caipAddress.split(':');\n if (parts.length !== 3) {\n throw new Error(`Invalid CAIP-10 address: ${caipAddress}`);\n }\n const [chainNamespace, chainId, address] = parts;\n if (!chainNamespace || !chainId || !address) {\n throw new Error(`Invalid CAIP-10 address: ${caipAddress}`);\n }\n return {\n chainNamespace: chainNamespace,\n chainId: chainId,\n address\n };\n },\n parseCaipNetworkId(caipNetworkId) {\n const parts = caipNetworkId.split(':');\n if (parts.length !== 2) {\n throw new Error(`Invalid CAIP-2 network id: ${caipNetworkId}`);\n }\n const [chainNamespace, chainId] = parts;\n if (!chainNamespace || !chainId) {\n throw new Error(`Invalid CAIP-2 network id: ${caipNetworkId}`);\n }\n return {\n chainNamespace: chainNamespace,\n chainId: chainId\n };\n }\n};\n//# sourceMappingURL=ParseUtil.js.map","export const SafeLocalStorageKeys = {\n WALLET_ID: '@appkit/wallet_id',\n WALLET_NAME: '@appkit/wallet_name',\n SOLANA_WALLET: '@appkit/solana_wallet',\n SOLANA_CAIP_CHAIN: '@appkit/solana_caip_chain',\n ACTIVE_CAIP_NETWORK_ID: '@appkit/active_caip_network_id',\n CONNECTED_SOCIAL: '@appkit/connected_social',\n CONNECTED_SOCIAL_USERNAME: '@appkit-wallet/SOCIAL_USERNAME',\n RECENT_WALLETS: '@appkit/recent_wallets',\n DEEPLINK_CHOICE: 'WALLETCONNECT_DEEPLINK_CHOICE',\n ACTIVE_NAMESPACE: '@appkit/active_namespace',\n CONNECTED_NAMESPACES: '@appkit/connected_namespaces',\n CONNECTION_STATUS: '@appkit/connection_status',\n SIWX_AUTH_TOKEN: '@appkit/siwx-auth-token',\n SIWX_NONCE_TOKEN: '@appkit/siwx-nonce-token',\n TELEGRAM_SOCIAL_PROVIDER: '@appkit/social_provider',\n NATIVE_BALANCE_CACHE: '@appkit/native_balance_cache',\n PORTFOLIO_CACHE: '@appkit/portfolio_cache',\n ENS_CACHE: '@appkit/ens_cache',\n IDENTITY_CACHE: '@appkit/identity_cache',\n PREFERRED_ACCOUNT_TYPES: '@appkit/preferred_account_types',\n CONNECTIONS: '@appkit/connections'\n};\nexport function getSafeConnectorIdKey(namespace) {\n if (!namespace) {\n throw new Error('Namespace is required for CONNECTED_CONNECTOR_ID');\n }\n return `@appkit/${namespace}:connected_connector_id`;\n}\nexport const SafeLocalStorage = {\n setItem(key, value) {\n if (isSafe() && value !== undefined) {\n localStorage.setItem(key, value);\n }\n },\n getItem(key) {\n if (isSafe()) {\n return localStorage.getItem(key) || undefined;\n }\n return undefined;\n },\n removeItem(key) {\n if (isSafe()) {\n localStorage.removeItem(key);\n }\n },\n clear() {\n if (isSafe()) {\n localStorage.clear();\n }\n }\n};\nexport function isSafe() {\n return typeof window !== 'undefined' && typeof localStorage !== 'undefined';\n}\n//# sourceMappingURL=SafeLocalStorage.js.map","export function getW3mThemeVariables(themeVariables, themeType) {\n if (themeType === 'light') {\n return {\n '--w3m-accent': themeVariables?.['--w3m-accent'] || 'hsla(231, 100%, 70%, 1)',\n '--w3m-background': '#fff'\n };\n }\n return {\n '--w3m-accent': themeVariables?.['--w3m-accent'] || 'hsla(230, 100%, 67%, 1)',\n '--w3m-background': '#121313'\n };\n}\n//# sourceMappingURL=ThemeUtil.js.map","const e=Symbol(),t=Symbol(),r=\"a\",n=\"w\";let o=(e,t)=>new Proxy(e,t);const s=Object.getPrototypeOf,c=new WeakMap,l=e=>e&&(c.has(e)?c.get(e):s(e)===Object.prototype||s(e)===Array.prototype),f=e=>\"object\"==typeof e&&null!==e,i=e=>{if(Array.isArray(e))return Array.from(e);const t=Object.getOwnPropertyDescriptors(e);return Object.values(t).forEach(e=>{e.configurable=!0}),Object.create(s(e),t)},u=e=>e[t]||e,a=(s,c,f,p)=>{if(!l(s))return s;let g=p&&p.get(s);if(!g){const e=u(s);g=(e=>Object.values(Object.getOwnPropertyDescriptors(e)).some(e=>!e.configurable&&!e.writable))(e)?[e,i(e)]:[e],null==p||p.set(s,g)}const[y,h]=g;let w=f&&f.get(y);return w&&w[1].f===!!h||(w=((o,s)=>{const c={f:s};let l=!1;const f=(e,t)=>{if(!l){let s=c[r].get(o);if(s||(s={},c[r].set(o,s)),e===n)s[n]=!0;else{let r=s[e];r||(r=new Set,s[e]=r),r.add(t)}}},i={get:(e,n)=>n===t?o:(f(\"k\",n),a(Reflect.get(e,n),c[r],c.c,c.t)),has:(t,n)=>n===e?(l=!0,c[r].delete(o),!0):(f(\"h\",n),Reflect.has(t,n)),getOwnPropertyDescriptor:(e,t)=>(f(\"o\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(f(n),Reflect.ownKeys(e))};return s&&(i.set=i.deleteProperty=()=>!1),[i,c]})(y,!!h),w[1].p=o(h||y,w[0]),f&&f.set(y,w)),w[1][r]=c,w[1].c=f,w[1].t=p,w[1].p},p=(e,t,r,o,s=Object.is)=>{if(s(e,t))return!1;if(!f(e)||!f(t))return!0;const c=r.get(u(e));if(!c)return!0;if(o){const r=o.get(e);if(r&&r.n===t)return r.g;o.set(e,{n:t,g:!1})}let l=null;try{for(const r of c.h||[])if(l=Reflect.has(e,r)!==Reflect.has(t,r),l)return l;if(!0===c[n]){if(l=((e,t)=>{const r=Reflect.ownKeys(e),n=Reflect.ownKeys(t);return r.length!==n.length||r.some((e,t)=>e!==n[t])})(e,t),l)return l}else for(const r of c.o||[])if(l=!!Reflect.getOwnPropertyDescriptor(e,r)!=!!Reflect.getOwnPropertyDescriptor(t,r),l)return l;for(const n of c.k||[])if(l=p(e[n],t[n],r,o,s),l)return l;return null===l&&(l=!0),l}finally{o&&o.set(e,{n:t,g:l})}},g=t=>!!l(t)&&e in t,y=e=>l(e)&&e[t]||null,h=(e,t=!0)=>{c.set(e,t)},w=(e,t,r)=>{const o=[],s=new WeakSet,c=(e,l)=>{if(s.has(e))return;f(e)&&s.add(e);const i=f(e)&&t.get(u(e));if(i){var a,p;if(null==(a=i.h)||a.forEach(e=>{const t=`:has(${String(e)})`;o.push(l?[...l,t]:[t])}),!0===i[n]){const e=\":ownKeys\";o.push(l?[...l,e]:[e])}else{var g;null==(g=i.o)||g.forEach(e=>{const t=`:hasOwn(${String(e)})`;o.push(l?[...l,t]:[t])})}null==(p=i.k)||p.forEach(t=>{r&&!(\"value\"in(Object.getOwnPropertyDescriptor(e,t)||{}))||c(e[t],l?[...l,t]:[t])})}else l&&o.push(l)};return c(e),o},O=e=>{o=e};export{w as affectedToPathList,a as createProxy,y as getUntracked,p as isChanged,h as markToTrack,O as replaceNewProxy,g as trackMemo};\n//# sourceMappingURL=index.modern.mjs.map\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer), defaultHandlePromise = (promise) => {\n switch (promise.status) {\n case \"fulfilled\":\n return promise.value;\n case \"rejected\":\n throw promise.reason;\n default:\n throw promise;\n }\n}, snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version, handlePromise = defaultHandlePromise) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const { enumerable } = Reflect.getOwnPropertyDescriptor(\n target,\n key\n );\n const desc = {\n value,\n enumerable,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n markToTrack(value, false);\n } else if (value instanceof Promise) {\n delete desc.value;\n desc.get = () => handlePromise(value);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshot(\n target2,\n ensureVersion(),\n handlePromise\n );\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n let nextValue = value;\n if (value instanceof Promise) {\n value.then((v) => {\n value.status = \"fulfilled\";\n value.value = v;\n notifyUpdate([\"resolve\", [prop], v]);\n }).catch((e) => {\n value.status = \"rejected\";\n value.reason = e;\n notifyUpdate([\"reject\", [prop], e]);\n });\n } else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxyFunction(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n return true;\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [\n baseObject,\n ensureVersion,\n createSnapshot,\n addListener\n ];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n initialObject,\n key\n );\n if (\"value\" in desc) {\n proxyObject[key] = initialObject[key];\n delete desc.value;\n delete desc.writable;\n }\n Object.defineProperty(baseObject, key, desc);\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n defaultHandlePromise,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nconst [defaultProxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return defaultProxyFunction(initialObject);\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject, handlePromise) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion(), handlePromise);\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nconst unstable_buildProxyFunction = buildProxyFunction;\n\nexport { getVersion, proxy, ref, snapshot, subscribe, unstable_buildProxyFunction };\n","import { subscribe, snapshot, proxy, ref, unstable_buildProxyFunction } from 'valtio/vanilla';\nimport { derive } from 'derive-valtio';\nexport { derive, underive, unstable_deriveSubscriptions } from 'derive-valtio';\n\nfunction subscribeKey(proxyObject, key, callback, notifyInSync) {\n let prevValue = proxyObject[key];\n return subscribe(\n proxyObject,\n () => {\n const nextValue = proxyObject[key];\n if (!Object.is(prevValue, nextValue)) {\n callback(prevValue = nextValue);\n }\n },\n notifyInSync\n );\n}\n\nlet currentCleanups;\nfunction watch(callback, options) {\n let alive = true;\n const cleanups = /* @__PURE__ */ new Set();\n const subscriptions = /* @__PURE__ */ new Map();\n const cleanup = () => {\n if (alive) {\n alive = false;\n cleanups.forEach((clean) => clean());\n cleanups.clear();\n subscriptions.forEach((unsubscribe) => unsubscribe());\n subscriptions.clear();\n }\n };\n const revalidate = async () => {\n if (!alive) {\n return;\n }\n cleanups.forEach((clean) => clean());\n cleanups.clear();\n const proxiesToSubscribe = /* @__PURE__ */ new Set();\n const parent = currentCleanups;\n currentCleanups = cleanups;\n try {\n const promiseOrPossibleCleanup = callback((proxyObject) => {\n proxiesToSubscribe.add(proxyObject);\n if (alive && !subscriptions.has(proxyObject)) {\n const unsubscribe = subscribe(proxyObject, revalidate, options == null ? void 0 : options.sync);\n subscriptions.set(proxyObject, unsubscribe);\n }\n return proxyObject;\n });\n const couldBeCleanup = promiseOrPossibleCleanup && promiseOrPossibleCleanup instanceof Promise ? await promiseOrPossibleCleanup : promiseOrPossibleCleanup;\n if (couldBeCleanup) {\n if (alive) {\n cleanups.add(couldBeCleanup);\n } else {\n cleanup();\n }\n }\n } finally {\n currentCleanups = parent;\n }\n subscriptions.forEach((unsubscribe, proxyObject) => {\n if (!proxiesToSubscribe.has(proxyObject)) {\n subscriptions.delete(proxyObject);\n unsubscribe();\n }\n });\n };\n if (currentCleanups) {\n currentCleanups.add(cleanup);\n }\n revalidate();\n return cleanup;\n}\n\nconst DEVTOOLS = Symbol();\nfunction devtools(proxyObject, options) {\n if (typeof options === \"string\") {\n console.warn(\n \"string name option is deprecated, use { name }. https://github.com/pmndrs/valtio/pull/400\"\n );\n options = { name: options };\n }\n const { enabled, name = \"\", ...rest } = options || {};\n let extension;\n try {\n extension = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extension) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\"[Warning] Please install/enable Redux devtools extension\");\n }\n return;\n }\n let isTimeTraveling = false;\n const devtools2 = extension.connect({ name, ...rest });\n const unsub1 = subscribe(proxyObject, (ops) => {\n const action = ops.filter(([_, path]) => path[0] !== DEVTOOLS).map(([op, path]) => `${op}:${path.map(String).join(\".\")}`).join(\", \");\n if (!action) {\n return;\n }\n if (isTimeTraveling) {\n isTimeTraveling = false;\n } else {\n const snapWithoutDevtools = Object.assign({}, snapshot(proxyObject));\n delete snapWithoutDevtools[DEVTOOLS];\n devtools2.send(\n {\n type: action,\n updatedAt: (/* @__PURE__ */ new Date()).toLocaleString()\n },\n snapWithoutDevtools\n );\n }\n });\n const unsub2 = devtools2.subscribe((message) => {\n var _a, _b, _c, _d, _e, _f;\n if (message.type === \"ACTION\" && message.payload) {\n try {\n Object.assign(proxyObject, JSON.parse(message.payload));\n } catch (e) {\n console.error(\n \"please dispatch a serializable value that JSON.parse() and proxy() support\\n\",\n e\n );\n }\n }\n if (message.type === \"DISPATCH\" && message.state) {\n if (((_a = message.payload) == null ? void 0 : _a.type) === \"JUMP_TO_ACTION\" || ((_b = message.payload) == null ? void 0 : _b.type) === \"JUMP_TO_STATE\") {\n isTimeTraveling = true;\n const state = JSON.parse(message.state);\n Object.assign(proxyObject, state);\n }\n proxyObject[DEVTOOLS] = message;\n } else if (message.type === \"DISPATCH\" && ((_c = message.payload) == null ? void 0 : _c.type) === \"COMMIT\") {\n devtools2.init(snapshot(proxyObject));\n } else if (message.type === \"DISPATCH\" && ((_d = message.payload) == null ? void 0 : _d.type) === \"IMPORT_STATE\") {\n const actions = (_e = message.payload.nextLiftedState) == null ? void 0 : _e.actionsById;\n const computedStates = ((_f = message.payload.nextLiftedState) == null ? void 0 : _f.computedStates) || [];\n isTimeTraveling = true;\n computedStates.forEach(({ state }, index) => {\n const action = actions[index] || \"No action found\";\n Object.assign(proxyObject, state);\n if (index === 0) {\n devtools2.init(snapshot(proxyObject));\n } else {\n devtools2.send(action, snapshot(proxyObject));\n }\n });\n }\n });\n devtools2.init(snapshot(proxyObject));\n return () => {\n unsub1();\n unsub2 == null ? void 0 : unsub2();\n };\n}\n\nfunction addComputed_DEPRECATED(proxyObject, computedFns_FAKE, targetObject = proxyObject) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"addComputed is deprecated. Please consider using `derive`. Falling back to emulation with derive. https://github.com/pmndrs/valtio/pull/201\"\n );\n }\n const derivedFns = {};\n Object.keys(computedFns_FAKE).forEach((key) => {\n derivedFns[key] = (get) => computedFns_FAKE[key](get(proxyObject));\n });\n return derive(derivedFns, { proxy: targetObject });\n}\n\nfunction proxyWithComputed_DEPRECATED(initialObject, computedFns) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n 'proxyWithComputed is deprecated. Please follow \"Computed Properties\" guide in docs.'\n );\n }\n Object.keys(computedFns).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(initialObject, key)) {\n throw new Error(\"object property already defined\");\n }\n const computedFn = computedFns[key];\n const { get, set } = typeof computedFn === \"function\" ? { get: computedFn } : computedFn;\n const desc = {};\n desc.get = () => get(snapshot(proxyObject));\n if (set) {\n desc.set = (newValue) => set(proxyObject, newValue);\n }\n Object.defineProperty(initialObject, key, desc);\n });\n const proxyObject = proxy(initialObject);\n return proxyObject;\n}\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nlet refSet;\nconst deepClone = (obj) => {\n if (!refSet) {\n refSet = unstable_buildProxyFunction()[2];\n }\n if (!isObject(obj) || refSet.has(obj)) {\n return obj;\n }\n const baseObject = Array.isArray(obj) ? [] : Object.create(Object.getPrototypeOf(obj));\n Reflect.ownKeys(obj).forEach((key) => {\n baseObject[key] = deepClone(obj[key]);\n });\n return baseObject;\n};\nfunction proxyWithHistory_DEPRECATED(initialValue, skipSubscribe = false) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n 'proxyWithHistory is deprecated. Please use the \"valtio-history\" package; refer to the docs'\n );\n }\n const proxyObject = proxy({\n value: initialValue,\n history: ref({\n wip: void 0,\n // to avoid infinite loop\n snapshots: [],\n index: -1\n }),\n clone: deepClone,\n canUndo: () => proxyObject.history.index > 0,\n undo: () => {\n if (proxyObject.canUndo()) {\n proxyObject.value = proxyObject.history.wip = proxyObject.clone(\n proxyObject.history.snapshots[--proxyObject.history.index]\n );\n }\n },\n canRedo: () => proxyObject.history.index < proxyObject.history.snapshots.length - 1,\n redo: () => {\n if (proxyObject.canRedo()) {\n proxyObject.value = proxyObject.history.wip = proxyObject.clone(\n proxyObject.history.snapshots[++proxyObject.history.index]\n );\n }\n },\n saveHistory: () => {\n proxyObject.history.snapshots.splice(proxyObject.history.index + 1);\n proxyObject.history.snapshots.push(snapshot(proxyObject).value);\n ++proxyObject.history.index;\n },\n subscribe: () => subscribe(proxyObject, (ops) => {\n if (ops.every(\n (op) => op[1][0] === \"value\" && (op[0] !== \"set\" || op[2] !== proxyObject.history.wip)\n )) {\n proxyObject.saveHistory();\n }\n })\n });\n proxyObject.saveHistory();\n if (!skipSubscribe) {\n proxyObject.subscribe();\n }\n return proxyObject;\n}\n\nfunction proxySet(initialValues) {\n const set = proxy({\n data: Array.from(new Set(initialValues)),\n has(value) {\n return this.data.indexOf(value) !== -1;\n },\n add(value) {\n let hasProxy = false;\n if (typeof value === \"object\" && value !== null) {\n hasProxy = this.data.indexOf(proxy(value)) !== -1;\n }\n if (this.data.indexOf(value) === -1 && !hasProxy) {\n this.data.push(value);\n }\n return this;\n },\n delete(value) {\n const index = this.data.indexOf(value);\n if (index === -1) {\n return false;\n }\n this.data.splice(index, 1);\n return true;\n },\n clear() {\n this.data.splice(0);\n },\n get size() {\n return this.data.length;\n },\n forEach(cb) {\n this.data.forEach((value) => {\n cb(value, value, this);\n });\n },\n get [Symbol.toStringTag]() {\n return \"Set\";\n },\n toJSON() {\n return new Set(this.data);\n },\n [Symbol.iterator]() {\n return this.data[Symbol.iterator]();\n },\n values() {\n return this.data.values();\n },\n keys() {\n return this.data.values();\n },\n entries() {\n return new Set(this.data).entries();\n }\n });\n Object.defineProperties(set, {\n data: {\n enumerable: false\n },\n size: {\n enumerable: false\n },\n toJSON: {\n enumerable: false\n }\n });\n Object.seal(set);\n return set;\n}\n\nfunction proxyMap(entries) {\n const map = proxy({\n data: Array.from(entries || []),\n has(key) {\n return this.data.some((p) => p[0] === key);\n },\n set(key, value) {\n const record = this.data.find((p) => p[0] === key);\n if (record) {\n record[1] = value;\n } else {\n this.data.push([key, value]);\n }\n return this;\n },\n get(key) {\n var _a;\n return (_a = this.data.find((p) => p[0] === key)) == null ? void 0 : _a[1];\n },\n delete(key) {\n const index = this.data.findIndex((p) => p[0] === key);\n if (index === -1) {\n return false;\n }\n this.data.splice(index, 1);\n return true;\n },\n clear() {\n this.data.splice(0);\n },\n get size() {\n return this.data.length;\n },\n toJSON() {\n return new Map(this.data);\n },\n forEach(cb) {\n this.data.forEach((p) => {\n cb(p[1], p[0], this);\n });\n },\n keys() {\n return this.data.map((p) => p[0]).values();\n },\n values() {\n return this.data.map((p) => p[1]).values();\n },\n entries() {\n return new Map(this.data).entries();\n },\n get [Symbol.toStringTag]() {\n return \"Map\";\n },\n [Symbol.iterator]() {\n return this.entries();\n }\n });\n Object.defineProperties(map, {\n data: {\n enumerable: false\n },\n size: {\n enumerable: false\n },\n toJSON: {\n enumerable: false\n }\n });\n Object.seal(map);\n return map;\n}\n\nexport { addComputed_DEPRECATED as addComputed, devtools, proxyMap, proxySet, proxyWithComputed_DEPRECATED as proxyWithComputed, proxyWithHistory_DEPRECATED as proxyWithHistory, subscribeKey, watch };\n","import {} from '@reown/appkit-common';\nconst SECURE_SITE = \n// eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n(typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']\n : undefined) || 'https://secure.walletconnect.org';\nexport const ONRAMP_PROVIDERS = [\n {\n label: 'Coinbase',\n name: 'coinbase',\n feeRange: '1-2%',\n url: '',\n supportedChains: ['eip155']\n },\n {\n label: 'Meld.io',\n name: 'meld',\n feeRange: '1-2%',\n url: 'https://meldcrypto.com',\n supportedChains: ['eip155', 'solana']\n }\n];\nexport const MELD_PUBLIC_KEY = 'WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU';\nexport const ConstantsUtil = {\n FOUR_MINUTES_MS: 240_000,\n TEN_SEC_MS: 10_000,\n FIVE_SEC_MS: 5_000,\n THREE_SEC_MS: 3_000,\n ONE_SEC_MS: 1_000,\n SECURE_SITE,\n SECURE_SITE_DASHBOARD: `${SECURE_SITE}/dashboard`,\n SECURE_SITE_FAVICON: `${SECURE_SITE}/images/favicon.png`,\n RESTRICTED_TIMEZONES: [\n 'ASIA/SHANGHAI',\n 'ASIA/URUMQI',\n 'ASIA/CHONGQING',\n 'ASIA/HARBIN',\n 'ASIA/KASHGAR',\n 'ASIA/MACAU',\n 'ASIA/HONG_KONG',\n 'ASIA/MACAO',\n 'ASIA/BEIJING',\n 'ASIA/HARBIN'\n ],\n /**\n * Network name to Coinbase Pay SDK chain name map object\n * @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts\n */\n WC_COINBASE_PAY_SDK_CHAINS: [\n 'ethereum',\n 'arbitrum',\n 'polygon',\n 'berachain',\n 'avalanche-c-chain',\n 'optimism',\n 'celo',\n 'base'\n ],\n WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: 'ethereum',\n WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {\n Ethereum: 'ethereum',\n 'Arbitrum One': 'arbitrum',\n Polygon: 'polygon',\n Berachain: 'berachain',\n Avalanche: 'avalanche-c-chain',\n 'OP Mainnet': 'optimism',\n Celo: 'celo',\n Base: 'base'\n },\n WC_COINBASE_ONRAMP_APP_ID: 'bf18c88d-495a-463b-b249-0b9d3656cf5e',\n SWAP_SUGGESTED_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP'\n ],\n SWAP_POPULAR_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP',\n 'METAL',\n 'DAI',\n 'CHAMP',\n 'WOLF',\n 'SALE',\n 'BAL',\n 'BUSD',\n 'MUST',\n 'BTCpx',\n 'ROUTE',\n 'HEX',\n 'WELT',\n 'amDAI',\n 'VSQ',\n 'VISION',\n 'AURUM',\n 'pSP',\n 'SNX',\n 'VC',\n 'LINK',\n 'CHP',\n 'amUSDT',\n 'SPHERE',\n 'FOX',\n 'GIDDY',\n 'GFC',\n 'OMEN',\n 'OX_OLD',\n 'DE',\n 'WNT'\n ],\n BALANCE_SUPPORTED_CHAINS: ['eip155', 'solana'],\n SWAP_SUPPORTED_NETWORKS: [\n // Ethereum'\n 'eip155:1',\n // Arbitrum One'\n 'eip155:42161',\n // Optimism'\n 'eip155:10',\n // ZKSync Era'\n 'eip155:324',\n // Base'\n 'eip155:8453',\n // BNB Smart Chain'\n 'eip155:56',\n // Polygon'\n 'eip155:137',\n // Gnosis'\n 'eip155:100',\n // Avalanche'\n 'eip155:43114',\n // Fantom'\n 'eip155:250',\n // Klaytn'\n 'eip155:8217',\n // Aurora\n 'eip155:1313161554'\n ],\n NAMES_SUPPORTED_CHAIN_NAMESPACES: ['eip155'],\n ONRAMP_SUPPORTED_CHAIN_NAMESPACES: ['eip155', 'solana'],\n ACTIVITY_ENABLED_CHAIN_NAMESPACES: ['eip155'],\n NATIVE_TOKEN_ADDRESS: {\n eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n solana: 'So11111111111111111111111111111111111111111',\n polkadot: '0x',\n bip122: '0x',\n cosmos: '0x'\n },\n CONVERT_SLIPPAGE_TOLERANCE: 1,\n CONNECT_LABELS: {\n MOBILE: 'Open and continue in the wallet app',\n WEB: 'Open and continue in the wallet app'\n },\n SEND_SUPPORTED_NAMESPACES: ['eip155', 'solana'],\n DEFAULT_REMOTE_FEATURES: {\n swaps: ['1inch'],\n onramp: ['coinbase', 'meld'],\n email: true,\n socials: [\n 'google',\n 'x',\n 'discord',\n 'farcaster',\n 'github',\n 'apple',\n 'facebook'\n ],\n activity: true,\n reownBranding: true\n },\n DEFAULT_REMOTE_FEATURES_DISABLED: {\n email: false,\n socials: false,\n swaps: false,\n onramp: false,\n activity: false,\n reownBranding: false\n },\n DEFAULT_FEATURES: {\n receive: true,\n send: true,\n emailShowWallets: true,\n connectorTypeOrder: [\n 'walletConnect',\n 'recent',\n 'injected',\n 'featured',\n 'custom',\n 'external',\n 'recommended'\n ],\n analytics: true,\n allWallets: true,\n legalCheckbox: false,\n smartSessions: false,\n collapseWallets: false,\n walletFeaturesOrder: ['onramp', 'swaps', 'receive', 'send'],\n connectMethodsOrder: undefined,\n pay: false\n },\n DEFAULT_SOCIALS: [\n 'google',\n 'x',\n 'farcaster',\n 'discord',\n 'apple',\n 'github',\n 'facebook'\n ],\n DEFAULT_ACCOUNT_TYPES: {\n bip122: 'payment',\n eip155: 'smartAccount',\n polkadot: 'eoa',\n solana: 'eoa'\n },\n ADAPTER_TYPES: {\n UNIVERSAL: 'universal',\n SOLANA: 'solana',\n WAGMI: 'wagmi',\n ETHERS: 'ethers',\n ETHERS5: 'ethers5',\n BITCOIN: 'bitcoin'\n }\n};\n//# sourceMappingURL=ConstantsUtil.js.map","/* eslint-disable no-console */\nimport { SafeLocalStorage, SafeLocalStorageKeys, getSafeConnectorIdKey } from '@reown/appkit-common';\n// -- Utility -----------------------------------------------------------------\nexport const StorageUtil = {\n // Cache expiry in milliseconds\n cacheExpiry: {\n portfolio: 30000,\n nativeBalance: 30000,\n ens: 300000,\n identity: 300000\n },\n isCacheExpired(timestamp, cacheExpiry) {\n return Date.now() - timestamp > cacheExpiry;\n },\n getActiveNetworkProps() {\n const namespace = StorageUtil.getActiveNamespace();\n const caipNetworkId = StorageUtil.getActiveCaipNetworkId();\n const stringChainId = caipNetworkId ? caipNetworkId.split(':')[1] : undefined;\n // eslint-disable-next-line no-nested-ternary\n const chainId = stringChainId\n ? isNaN(Number(stringChainId))\n ? stringChainId\n : Number(stringChainId)\n : undefined;\n return {\n namespace,\n caipNetworkId,\n chainId\n };\n },\n setWalletConnectDeepLink({ name, href }) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.DEEPLINK_CHOICE, JSON.stringify({ href, name }));\n }\n catch {\n console.info('Unable to set WalletConnect deep link');\n }\n },\n getWalletConnectDeepLink() {\n try {\n const deepLink = SafeLocalStorage.getItem(SafeLocalStorageKeys.DEEPLINK_CHOICE);\n if (deepLink) {\n return JSON.parse(deepLink);\n }\n }\n catch {\n console.info('Unable to get WalletConnect deep link');\n }\n return undefined;\n },\n deleteWalletConnectDeepLink() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.DEEPLINK_CHOICE);\n }\n catch {\n console.info('Unable to delete WalletConnect deep link');\n }\n },\n setActiveNamespace(namespace) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ACTIVE_NAMESPACE, namespace);\n }\n catch {\n console.info('Unable to set active namespace');\n }\n },\n setActiveCaipNetworkId(caipNetworkId) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID, caipNetworkId);\n StorageUtil.setActiveNamespace(caipNetworkId.split(':')[0]);\n }\n catch {\n console.info('Unable to set active caip network id');\n }\n },\n getActiveCaipNetworkId() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID);\n }\n catch {\n console.info('Unable to get active caip network id');\n return undefined;\n }\n },\n deleteActiveCaipNetworkId() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID);\n }\n catch {\n console.info('Unable to delete active caip network id');\n }\n },\n deleteConnectedConnectorId(namespace) {\n try {\n const key = getSafeConnectorIdKey(namespace);\n SafeLocalStorage.removeItem(key);\n }\n catch {\n console.info('Unable to delete connected connector id');\n }\n },\n setAppKitRecent(wallet) {\n try {\n const recentWallets = StorageUtil.getRecentWallets();\n const exists = recentWallets.find(w => w.id === wallet.id);\n if (!exists) {\n recentWallets.unshift(wallet);\n if (recentWallets.length > 2) {\n recentWallets.pop();\n }\n SafeLocalStorage.setItem(SafeLocalStorageKeys.RECENT_WALLETS, JSON.stringify(recentWallets));\n }\n }\n catch {\n console.info('Unable to set AppKit recent');\n }\n },\n getRecentWallets() {\n try {\n const recent = SafeLocalStorage.getItem(SafeLocalStorageKeys.RECENT_WALLETS);\n return recent ? JSON.parse(recent) : [];\n }\n catch {\n console.info('Unable to get AppKit recent');\n }\n return [];\n },\n setConnectedConnectorId(namespace, connectorId) {\n try {\n const key = getSafeConnectorIdKey(namespace);\n SafeLocalStorage.setItem(key, connectorId);\n }\n catch {\n console.info('Unable to set Connected Connector Id');\n }\n },\n getActiveNamespace() {\n try {\n const activeNamespace = SafeLocalStorage.getItem(SafeLocalStorageKeys.ACTIVE_NAMESPACE);\n return activeNamespace;\n }\n catch {\n console.info('Unable to get active namespace');\n }\n return undefined;\n },\n getConnectedConnectorId(namespace) {\n if (!namespace) {\n return undefined;\n }\n try {\n const key = getSafeConnectorIdKey(namespace);\n return SafeLocalStorage.getItem(key);\n }\n catch (e) {\n console.info('Unable to get connected connector id in namespace ', namespace);\n }\n return undefined;\n },\n setConnectedSocialProvider(socialProvider) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTED_SOCIAL, socialProvider);\n }\n catch {\n console.info('Unable to set connected social provider');\n }\n },\n getConnectedSocialProvider() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTED_SOCIAL);\n }\n catch {\n console.info('Unable to get connected social provider');\n }\n return undefined;\n },\n deleteConnectedSocialProvider() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.CONNECTED_SOCIAL);\n }\n catch {\n console.info('Unable to delete connected social provider');\n }\n },\n getConnectedSocialUsername() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTED_SOCIAL_USERNAME);\n }\n catch {\n console.info('Unable to get connected social username');\n }\n return undefined;\n },\n getStoredActiveCaipNetworkId() {\n const storedCaipNetworkId = SafeLocalStorage.getItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID);\n const networkId = storedCaipNetworkId?.split(':')?.[1];\n return networkId;\n },\n setConnectionStatus(status) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTION_STATUS, status);\n }\n catch {\n console.info('Unable to set connection status');\n }\n },\n getConnectionStatus() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTION_STATUS);\n }\n catch {\n return undefined;\n }\n },\n getConnectedNamespaces() {\n try {\n const namespaces = SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTED_NAMESPACES);\n if (!namespaces?.length) {\n return [];\n }\n return namespaces.split(',');\n }\n catch {\n return [];\n }\n },\n setConnectedNamespaces(namespaces) {\n try {\n const uniqueNamespaces = Array.from(new Set(namespaces));\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTED_NAMESPACES, uniqueNamespaces.join(','));\n }\n catch {\n console.info('Unable to set namespaces in storage');\n }\n },\n addConnectedNamespace(namespace) {\n try {\n const namespaces = StorageUtil.getConnectedNamespaces();\n if (!namespaces.includes(namespace)) {\n namespaces.push(namespace);\n StorageUtil.setConnectedNamespaces(namespaces);\n }\n }\n catch {\n console.info('Unable to add connected namespace');\n }\n },\n removeConnectedNamespace(namespace) {\n try {\n const namespaces = StorageUtil.getConnectedNamespaces();\n const index = namespaces.indexOf(namespace);\n if (index > -1) {\n namespaces.splice(index, 1);\n StorageUtil.setConnectedNamespaces(namespaces);\n }\n }\n catch {\n console.info('Unable to remove connected namespace');\n }\n },\n getTelegramSocialProvider() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.TELEGRAM_SOCIAL_PROVIDER);\n }\n catch {\n console.info('Unable to get telegram social provider');\n return null;\n }\n },\n setTelegramSocialProvider(socialProvider) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.TELEGRAM_SOCIAL_PROVIDER, socialProvider);\n }\n catch {\n console.info('Unable to set telegram social provider');\n }\n },\n removeTelegramSocialProvider() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.TELEGRAM_SOCIAL_PROVIDER);\n }\n catch {\n console.info('Unable to remove telegram social provider');\n }\n },\n getBalanceCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.PORTFOLIO_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get balance cache');\n }\n return cache;\n },\n removeAddressFromBalanceCache(caipAddress) {\n try {\n const cache = StorageUtil.getBalanceCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.PORTFOLIO_CACHE, JSON.stringify({ ...cache, [caipAddress]: undefined }));\n }\n catch {\n console.info('Unable to remove address from balance cache', caipAddress);\n }\n },\n getBalanceCacheForCaipAddress(caipAddress) {\n try {\n const cache = StorageUtil.getBalanceCache();\n const balanceCache = cache[caipAddress];\n // We want to discard cache if it's older than the cache expiry\n if (balanceCache &&\n !this.isCacheExpired(balanceCache.timestamp, this.cacheExpiry.portfolio)) {\n return balanceCache.balance;\n }\n StorageUtil.removeAddressFromBalanceCache(caipAddress);\n }\n catch {\n console.info('Unable to get balance cache for address', caipAddress);\n }\n return undefined;\n },\n updateBalanceCache(params) {\n try {\n const cache = StorageUtil.getBalanceCache();\n cache[params.caipAddress] = params;\n SafeLocalStorage.setItem(SafeLocalStorageKeys.PORTFOLIO_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update balance cache', params);\n }\n },\n getNativeBalanceCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get balance cache');\n }\n return cache;\n },\n removeAddressFromNativeBalanceCache(caipAddress) {\n try {\n const cache = StorageUtil.getBalanceCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE, JSON.stringify({ ...cache, [caipAddress]: undefined }));\n }\n catch {\n console.info('Unable to remove address from balance cache', caipAddress);\n }\n },\n getNativeBalanceCacheForCaipAddress(caipAddress) {\n try {\n const cache = StorageUtil.getNativeBalanceCache();\n const nativeBalanceCache = cache[caipAddress];\n // We want to discard cache if it's older than the cache expiry\n if (nativeBalanceCache &&\n !this.isCacheExpired(nativeBalanceCache.timestamp, this.cacheExpiry.nativeBalance)) {\n return nativeBalanceCache;\n }\n console.info('Discarding cache for address', caipAddress);\n StorageUtil.removeAddressFromBalanceCache(caipAddress);\n }\n catch {\n console.info('Unable to get balance cache for address', caipAddress);\n }\n return undefined;\n },\n updateNativeBalanceCache(params) {\n try {\n const cache = StorageUtil.getNativeBalanceCache();\n cache[params.caipAddress] = params;\n SafeLocalStorage.setItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update balance cache', params);\n }\n },\n getEnsCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.ENS_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get ens name cache');\n }\n return cache;\n },\n getEnsFromCacheForAddress(address) {\n try {\n const cache = StorageUtil.getEnsCache();\n const ensCache = cache[address];\n // We want to discard cache if it's older than the cache expiry\n if (ensCache && !this.isCacheExpired(ensCache.timestamp, this.cacheExpiry.ens)) {\n return ensCache.ens;\n }\n StorageUtil.removeEnsFromCache(address);\n }\n catch {\n console.info('Unable to get ens name from cache', address);\n }\n return undefined;\n },\n updateEnsCache(params) {\n try {\n const cache = StorageUtil.getEnsCache();\n cache[params.address] = params;\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ENS_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update ens name cache', params);\n }\n },\n removeEnsFromCache(address) {\n try {\n const cache = StorageUtil.getEnsCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ENS_CACHE, JSON.stringify({ ...cache, [address]: undefined }));\n }\n catch {\n console.info('Unable to remove ens name from cache', address);\n }\n },\n getIdentityCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.IDENTITY_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get identity cache');\n }\n return cache;\n },\n getIdentityFromCacheForAddress(address) {\n try {\n const cache = StorageUtil.getIdentityCache();\n const identityCache = cache[address];\n // We want to discard cache if it's older than the cache expiry\n if (identityCache &&\n !this.isCacheExpired(identityCache.timestamp, this.cacheExpiry.identity)) {\n return identityCache.identity;\n }\n StorageUtil.removeIdentityFromCache(address);\n }\n catch {\n console.info('Unable to get identity from cache', address);\n }\n return undefined;\n },\n updateIdentityCache(params) {\n try {\n const cache = StorageUtil.getIdentityCache();\n cache[params.address] = {\n identity: params.identity,\n timestamp: params.timestamp\n };\n SafeLocalStorage.setItem(SafeLocalStorageKeys.IDENTITY_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update identity cache', params);\n }\n },\n removeIdentityFromCache(address) {\n try {\n const cache = StorageUtil.getIdentityCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.IDENTITY_CACHE, JSON.stringify({ ...cache, [address]: undefined }));\n }\n catch {\n console.info('Unable to remove identity from cache', address);\n }\n },\n clearAddressCache() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.PORTFOLIO_CACHE);\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE);\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.ENS_CACHE);\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.IDENTITY_CACHE);\n }\n catch {\n console.info('Unable to clear address cache');\n }\n },\n setPreferredAccountTypes(accountTypes) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.PREFERRED_ACCOUNT_TYPES, JSON.stringify(accountTypes));\n }\n catch {\n console.info('Unable to set preferred account types', accountTypes);\n }\n },\n getPreferredAccountTypes() {\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.PREFERRED_ACCOUNT_TYPES);\n if (!result) {\n return {};\n }\n return JSON.parse(result);\n }\n catch {\n console.info('Unable to get preferred account types');\n }\n return {};\n },\n setConnections(connections, chainNamespace) {\n try {\n const newConnections = {\n ...StorageUtil.getConnections(),\n [chainNamespace]: connections\n };\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTIONS, JSON.stringify(newConnections));\n }\n catch (error) {\n console.error('Unable to sync connections to storage', error);\n }\n },\n getConnections() {\n try {\n const connectionsStorage = SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTIONS);\n if (!connectionsStorage) {\n return {};\n }\n return JSON.parse(connectionsStorage);\n }\n catch (error) {\n console.error('Unable to get connections from storage', error);\n return {};\n }\n }\n};\n//# sourceMappingURL=StorageUtil.js.map","import { ConstantsUtil as CommonConstants } from '@reown/appkit-common';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nimport { StorageUtil } from './StorageUtil.js';\nexport const CoreHelperUtil = {\n isMobile() {\n if (this.isClient()) {\n return Boolean((typeof window?.matchMedia === 'function' &&\n window?.matchMedia('(pointer:coarse)')?.matches) ||\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent));\n }\n return false;\n },\n checkCaipNetwork(network, networkName = '') {\n return network?.caipNetworkId.toLocaleLowerCase().includes(networkName.toLowerCase());\n },\n isAndroid() {\n if (!this.isMobile()) {\n return false;\n }\n const ua = window?.navigator.userAgent.toLowerCase();\n return CoreHelperUtil.isMobile() && ua.includes('android');\n },\n isIos() {\n if (!this.isMobile()) {\n return false;\n }\n const ua = window?.navigator.userAgent.toLowerCase();\n return ua.includes('iphone') || ua.includes('ipad');\n },\n isSafari() {\n if (!this.isClient()) {\n return false;\n }\n const ua = window?.navigator.userAgent.toLowerCase();\n return ua.includes('safari');\n },\n isClient() {\n return typeof window !== 'undefined';\n },\n isPairingExpired(expiry) {\n return expiry ? expiry - Date.now() <= ConstantsUtil.TEN_SEC_MS : true;\n },\n isAllowedRetry(lastRetry, differenceMs = ConstantsUtil.ONE_SEC_MS) {\n return Date.now() - lastRetry >= differenceMs;\n },\n copyToClopboard(text) {\n navigator.clipboard.writeText(text);\n },\n isIframe() {\n try {\n return window?.self !== window?.top;\n }\n catch (e) {\n return false;\n }\n },\n isSafeApp() {\n if (CoreHelperUtil.isClient() && window.self !== window.top) {\n try {\n const ancestor = window?.location?.ancestorOrigins?.[0];\n const safeAppUrl = 'https://app.safe.global';\n if (ancestor) {\n const ancestorUrl = new URL(ancestor);\n const safeUrl = new URL(safeAppUrl);\n return ancestorUrl.hostname === safeUrl.hostname;\n }\n }\n catch {\n return false;\n }\n }\n return false;\n },\n getPairingExpiry() {\n return Date.now() + ConstantsUtil.FOUR_MINUTES_MS;\n },\n getNetworkId(caipAddress) {\n return caipAddress?.split(':')[1];\n },\n getPlainAddress(caipAddress) {\n return caipAddress?.split(':')[2];\n },\n async wait(milliseconds) {\n return new Promise(resolve => {\n setTimeout(resolve, milliseconds);\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n debounce(func, timeout = 500) {\n let timer = undefined;\n return (...args) => {\n function next() {\n func(...args);\n }\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(next, timeout);\n };\n },\n isHttpUrl(url) {\n return url.startsWith('http://') || url.startsWith('https://');\n },\n formatNativeUrl(appUrl, wcUri, universalLink = null) {\n if (CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatUniversalUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n let safeUniversalLink = universalLink;\n if (!safeAppUrl.includes('://')) {\n safeAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '');\n safeAppUrl = `${safeAppUrl}://`;\n }\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n if (safeUniversalLink && !safeUniversalLink?.endsWith('/')) {\n safeUniversalLink = `${safeUniversalLink}/`;\n }\n // Android deeplinks in tg context require the uri to be encoded twice\n if (this.isTelegram() && this.isAndroid()) {\n // eslint-disable-next-line no-param-reassign\n wcUri = encodeURIComponent(wcUri);\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n redirectUniversalLink: safeUniversalLink\n ? `${safeUniversalLink}wc?uri=${encodedWcUrl}`\n : undefined,\n href: safeAppUrl\n };\n },\n formatUniversalUrl(appUrl, wcUri) {\n if (!CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatNativeUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n href: safeAppUrl\n };\n },\n getOpenTargetForPlatform(target) {\n if (target === 'popupWindow') {\n return target;\n }\n // Only '_blank' deeplinks work in Telegram context\n if (this.isTelegram()) {\n // But for social login, we need to load the page in the same context\n if (StorageUtil.getTelegramSocialProvider()) {\n return '_top';\n }\n return '_blank';\n }\n return target;\n },\n openHref(href, target, features) {\n window?.open(href, this.getOpenTargetForPlatform(target), features || 'noreferrer noopener');\n },\n returnOpenHref(href, target, features) {\n return window?.open(href, this.getOpenTargetForPlatform(target), features || 'noreferrer noopener');\n },\n isTelegram() {\n return (typeof window !== 'undefined' &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (Boolean(window.TelegramWebviewProxy) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Boolean(window.Telegram) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Boolean(window.TelegramWebviewProxyProto)));\n },\n isPWA() {\n if (typeof window === 'undefined') {\n return false;\n }\n const isStandaloneDisplayMode = window.matchMedia?.('(display-mode: standalone)')?.matches;\n const isIOSStandalone = window?.navigator?.standalone;\n return Boolean(isStandaloneDisplayMode || isIOSStandalone);\n },\n async preloadImage(src) {\n const imagePromise = new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = resolve;\n image.onerror = reject;\n image.crossOrigin = 'anonymous';\n image.src = src;\n });\n return Promise.race([imagePromise, CoreHelperUtil.wait(2000)]);\n },\n formatBalance(balance, symbol) {\n let formattedBalance = '0.000';\n if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n const formattedValue = Math.floor(number * 1000) / 1000;\n if (formattedValue) {\n formattedBalance = formattedValue.toString();\n }\n }\n }\n return `${formattedBalance}${symbol ? ` ${symbol}` : ''}`;\n },\n formatBalance2(balance, symbol) {\n let formattedBalance = undefined;\n if (balance === '0') {\n formattedBalance = '0';\n }\n else if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n formattedBalance = number.toString().match(/^-?\\d+(?:\\.\\d{0,3})?/u)?.[0];\n }\n }\n return {\n value: formattedBalance ?? '0',\n rest: formattedBalance === '0' ? '000' : '',\n symbol\n };\n },\n getApiUrl() {\n return CommonConstants.W3M_API_URL;\n },\n getBlockchainApiUrl() {\n return CommonConstants.BLOCKCHAIN_API_RPC_URL;\n },\n getAnalyticsUrl() {\n return CommonConstants.PULSE_API_URL;\n },\n getUUID() {\n if (crypto?.randomUUID) {\n return crypto.randomUUID();\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseError(error) {\n if (typeof error === 'string') {\n return error;\n }\n else if (typeof error?.issues?.[0]?.message === 'string') {\n return error.issues[0].message;\n }\n else if (error instanceof Error) {\n return error.message;\n }\n return 'Unknown error';\n },\n sortRequestedNetworks(approvedIds, requestedNetworks = []) {\n const approvedIndexMap = {};\n if (requestedNetworks && approvedIds) {\n approvedIds.forEach((id, index) => {\n approvedIndexMap[id] = index;\n });\n requestedNetworks.sort((a, b) => {\n const indexA = approvedIndexMap[a.id];\n const indexB = approvedIndexMap[b.id];\n if (indexA !== undefined && indexB !== undefined) {\n return indexA - indexB;\n }\n else if (indexA !== undefined) {\n return -1;\n }\n else if (indexB !== undefined) {\n return 1;\n }\n return 0;\n });\n }\n return requestedNetworks;\n },\n calculateBalance(array) {\n let sum = 0;\n for (const item of array) {\n sum += item.value ?? 0;\n }\n return sum;\n },\n formatTokenBalance(number) {\n const roundedNumber = number.toFixed(2);\n const [dollars, pennies] = roundedNumber.split('.');\n return { dollars, pennies };\n },\n isAddress(address, chain = 'eip155') {\n switch (chain) {\n case 'eip155':\n if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {\n return false;\n }\n else if (/^(?:0x)?[0-9a-f]{40}$/iu.test(address) ||\n /^(?:0x)?[0-9A-F]{40}$/iu.test(address)) {\n return true;\n }\n return false;\n case 'solana':\n return /[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(address);\n default:\n return false;\n }\n },\n uniqueBy(arr, key) {\n const set = new Set();\n return arr.filter(item => {\n const keyValue = item[key];\n if (set.has(keyValue)) {\n return false;\n }\n set.add(keyValue);\n return true;\n });\n },\n generateSdkVersion(adapters, platform, version) {\n const hasNoAdapters = adapters.length === 0;\n const adapterNames = (hasNoAdapters\n ? ConstantsUtil.ADAPTER_TYPES.UNIVERSAL\n : adapters.map(adapter => adapter.adapterType).join(','));\n return `${platform}-${adapterNames}-${version}`;\n },\n // eslint-disable-next-line max-params\n createAccount(namespace, address, type, publicKey, path) {\n return {\n namespace,\n address,\n type,\n publicKey,\n path\n };\n },\n isCaipAddress(address) {\n if (typeof address !== 'string') {\n return false;\n }\n const sections = address.split(':');\n const namespace = sections[0];\n return (sections.filter(Boolean).length === 3 &&\n namespace in CommonConstants.CHAIN_NAME_MAP);\n },\n isMac() {\n const ua = window?.navigator.userAgent.toLowerCase();\n return ua.includes('macintosh') && !ua.includes('safari');\n },\n formatTelegramSocialLoginUrl(url) {\n const valueToInject = `--${encodeURIComponent(window?.location.href)}`;\n const paramToInject = 'state=';\n const parsedUrl = new URL(url);\n if (parsedUrl.host === 'auth.magic.link') {\n const providerParam = 'provider_authorization_url=';\n const providerUrl = url.substring(url.indexOf(providerParam) + providerParam.length);\n const resultUrl = this.injectIntoUrl(decodeURIComponent(providerUrl), paramToInject, valueToInject);\n return url.replace(providerUrl, encodeURIComponent(resultUrl));\n }\n return this.injectIntoUrl(url, paramToInject, valueToInject);\n },\n injectIntoUrl(url, key, appendString) {\n // Find the position of \"key\" e.g. \"state=\" in the URL\n const keyIndex = url.indexOf(key);\n if (keyIndex === -1) {\n throw new Error(`${key} parameter not found in the URL: ${url}`);\n }\n // Find the position of the next \"&\" after \"key\"\n const keyEndIndex = url.indexOf('&', keyIndex);\n const keyLength = key.length;\n // If there is no \"&\" after key, it means \"key\" is the last parameter\n // eslint-disable-next-line no-negated-condition\n const keyParamEnd = keyEndIndex !== -1 ? keyEndIndex : url.length;\n // Extract the part of the URL before the key value\n const beforeKeyValue = url.substring(0, keyIndex + keyLength);\n // Extract the current key value\n const currentKeyValue = url.substring(keyIndex + keyLength, keyParamEnd);\n // Extract the part of the URL after the key value\n const afterKeyValue = url.substring(keyEndIndex);\n // Append the new string to the key value\n const newKeyValue = currentKeyValue + appendString;\n // Reconstruct the URL with the appended key value\n const newUrl = beforeKeyValue + newKeyValue + afterKeyValue;\n return newUrl;\n }\n};\n//# sourceMappingURL=CoreHelperUtil.js.map","async function fetchData(...args) {\n const response = await fetch(...args);\n if (!response.ok) {\n // Create error object and reject if not a 2xx response code\n const err = new Error(`HTTP status code: ${response.status}`, {\n cause: response\n });\n throw err;\n }\n return response;\n}\n// -- Utility --------------------------------------------------------------------\nexport class FetchUtil {\n constructor({ baseUrl, clientId }) {\n this.baseUrl = baseUrl;\n this.clientId = clientId;\n }\n async get({ headers, signal, cache, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, { method: 'GET', headers, signal, cache });\n return response.json();\n }\n async getBlob({ headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, { method: 'GET', headers, signal });\n return response.blob();\n }\n async post({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, {\n method: 'POST',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async put({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, {\n method: 'PUT',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async delete({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, {\n method: 'DELETE',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n createUrl({ path, params }) {\n const url = new URL(path, this.baseUrl);\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n url.searchParams.append(key, value);\n }\n });\n }\n if (this.clientId) {\n url.searchParams.append('clientId', this.clientId);\n }\n return url;\n }\n}\n//# sourceMappingURL=FetchUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nimport { CoreHelperUtil } from './CoreHelperUtil.js';\nexport const OptionsUtil = {\n getFeatureValue(key, features) {\n const optionValue = features?.[key];\n if (optionValue === undefined) {\n return ConstantsUtil.DEFAULT_FEATURES[key];\n }\n return optionValue;\n },\n filterSocialsByPlatform(socials) {\n if (!socials || !socials.length) {\n return socials;\n }\n if (CoreHelperUtil.isTelegram()) {\n if (CoreHelperUtil.isIos()) {\n return socials.filter(s => s !== 'google');\n }\n if (CoreHelperUtil.isMac()) {\n return socials.filter(s => s !== 'x');\n }\n if (CoreHelperUtil.isAndroid()) {\n return socials.filter(s => !['facebook', 'x'].includes(s));\n }\n }\n return socials;\n }\n};\n//# sourceMappingURL=OptionsUtil.js.map","import { proxy, snapshot } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { OptionsUtil } from '../utils/OptionsUtil.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n features: ConstantsUtil.DEFAULT_FEATURES,\n projectId: '',\n sdkType: 'appkit',\n sdkVersion: 'html-wagmi-undefined',\n defaultAccountTypes: ConstantsUtil.DEFAULT_ACCOUNT_TYPES,\n enableNetworkSwitch: true,\n experimental_preferUniversalLinks: false,\n remoteFeatures: {}\n});\n// -- Controller ---------------------------------------- //\nexport const OptionsController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setOptions(options) {\n Object.assign(state, options);\n },\n setRemoteFeatures(remoteFeatures) {\n if (!remoteFeatures) {\n return;\n }\n const newRemoteFeatures = { ...state.remoteFeatures, ...remoteFeatures };\n state.remoteFeatures = newRemoteFeatures;\n if (state.remoteFeatures?.socials) {\n state.remoteFeatures.socials = OptionsUtil.filterSocialsByPlatform(state.remoteFeatures.socials);\n }\n },\n setFeatures(features) {\n if (!features) {\n return;\n }\n if (!state.features) {\n state.features = ConstantsUtil.DEFAULT_FEATURES;\n }\n const newFeatures = { ...state.features, ...features };\n state.features = newFeatures;\n },\n setProjectId(projectId) {\n state.projectId = projectId;\n },\n setCustomRpcUrls(customRpcUrls) {\n state.customRpcUrls = customRpcUrls;\n },\n setAllWallets(allWallets) {\n state.allWallets = allWallets;\n },\n setIncludeWalletIds(includeWalletIds) {\n state.includeWalletIds = includeWalletIds;\n },\n setExcludeWalletIds(excludeWalletIds) {\n state.excludeWalletIds = excludeWalletIds;\n },\n setFeaturedWalletIds(featuredWalletIds) {\n state.featuredWalletIds = featuredWalletIds;\n },\n setTokens(tokens) {\n state.tokens = tokens;\n },\n setTermsConditionsUrl(termsConditionsUrl) {\n state.termsConditionsUrl = termsConditionsUrl;\n },\n setPrivacyPolicyUrl(privacyPolicyUrl) {\n state.privacyPolicyUrl = privacyPolicyUrl;\n },\n setCustomWallets(customWallets) {\n state.customWallets = customWallets;\n },\n setIsSiweEnabled(isSiweEnabled) {\n state.isSiweEnabled = isSiweEnabled;\n },\n setIsUniversalProvider(isUniversalProvider) {\n state.isUniversalProvider = isUniversalProvider;\n },\n setSdkVersion(sdkVersion) {\n state.sdkVersion = sdkVersion;\n },\n setMetadata(metadata) {\n state.metadata = metadata;\n },\n setDisableAppend(disableAppend) {\n state.disableAppend = disableAppend;\n },\n setEIP6963Enabled(enableEIP6963) {\n state.enableEIP6963 = enableEIP6963;\n },\n setDebug(debug) {\n state.debug = debug;\n },\n setEnableWalletConnect(enableWalletConnect) {\n state.enableWalletConnect = enableWalletConnect;\n },\n setEnableWalletGuide(enableWalletGuide) {\n state.enableWalletGuide = enableWalletGuide;\n },\n setEnableAuthLogger(enableAuthLogger) {\n state.enableAuthLogger = enableAuthLogger;\n },\n setEnableWallets(enableWallets) {\n state.enableWallets = enableWallets;\n },\n setPreferUniversalLinks(preferUniversalLinks) {\n state.experimental_preferUniversalLinks = preferUniversalLinks;\n },\n setHasMultipleAddresses(hasMultipleAddresses) {\n state.hasMultipleAddresses = hasMultipleAddresses;\n },\n setSIWX(siwx) {\n state.siwx = siwx;\n },\n setConnectMethodsOrder(connectMethodsOrder) {\n state.features = {\n ...state.features,\n connectMethodsOrder\n };\n },\n setWalletFeaturesOrder(walletFeaturesOrder) {\n state.features = {\n ...state.features,\n walletFeaturesOrder\n };\n },\n setSocialsOrder(socialsOrder) {\n state.remoteFeatures = {\n ...state.remoteFeatures,\n socials: socialsOrder\n };\n },\n setCollapseWallets(collapseWallets) {\n state.features = {\n ...state.features,\n collapseWallets\n };\n },\n setEnableEmbedded(enableEmbedded) {\n state.enableEmbedded = enableEmbedded;\n },\n setAllowUnsupportedChain(allowUnsupportedChain) {\n state.allowUnsupportedChain = allowUnsupportedChain;\n },\n setManualWCControl(manualWCControl) {\n state.manualWCControl = manualWCControl;\n },\n setEnableNetworkSwitch(enableNetworkSwitch) {\n state.enableNetworkSwitch = enableNetworkSwitch;\n },\n setDefaultAccountTypes(defaultAccountType = {}) {\n Object.entries(defaultAccountType).forEach(([namespace, accountType]) => {\n if (accountType) {\n // @ts-expect-error - Keys are validated by the param type\n state.defaultAccountTypes[namespace] = accountType;\n }\n });\n },\n setUniversalProviderConfigOverride(universalProviderConfigOverride) {\n state.universalProviderConfigOverride = universalProviderConfigOverride;\n },\n getUniversalProviderConfigOverride() {\n return state.universalProviderConfigOverride;\n },\n getSnapshot() {\n return snapshot(state);\n }\n};\n//# sourceMappingURL=OptionsController.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { OptionsController } from './OptionsController.js';\n// -- Constants ----------------------------------------- //\nconst DEFAULT_STATE = Object.freeze({\n enabled: true,\n events: []\n});\nconst api = new FetchUtil({ baseUrl: CoreHelperUtil.getAnalyticsUrl(), clientId: null });\n// Rate limiting constants\nconst MAX_ERRORS_PER_MINUTE = 5;\nconst ONE_MINUTE_MS = 60 * 1000;\n// -- State --------------------------------------------- //\nconst state = proxy({\n ...DEFAULT_STATE\n});\n// -- Controller ---------------------------------------- //\nexport const TelemetryController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async sendError(error, category) {\n if (!state.enabled) {\n return;\n }\n // Check rate limiting using events array\n const now = Date.now();\n const recentErrors = state.events.filter(event => {\n const eventTime = new Date(event.properties.timestamp || '').getTime();\n return now - eventTime < ONE_MINUTE_MS;\n });\n if (recentErrors.length >= MAX_ERRORS_PER_MINUTE) {\n // Exit silently\n return;\n }\n const errorEvent = {\n type: 'error',\n event: category,\n properties: {\n errorType: error.name,\n errorMessage: error.message,\n stackTrace: error.stack,\n timestamp: new Date().toISOString()\n }\n };\n state.events.push(errorEvent);\n try {\n if (typeof window === 'undefined') {\n return;\n }\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n await api.post({\n path: '/e',\n params: {\n projectId,\n st: sdkType,\n sv: sdkVersion || 'html-wagmi-4.2.2'\n },\n body: {\n eventId: CoreHelperUtil.getUUID(),\n url: window.location.href,\n domain: window.location.hostname,\n timestamp: new Date().toISOString(),\n props: {\n type: 'error',\n event: category,\n errorType: error.name,\n errorMessage: error.message,\n stackTrace: error.stack\n }\n }\n });\n }\n catch {\n // Do nothing\n }\n },\n enable() {\n state.enabled = true;\n },\n disable() {\n state.enabled = false;\n },\n clearEvents() {\n state.events = [];\n }\n};\n//# sourceMappingURL=TelemetryController.js.map","import { TelemetryController } from '../controllers/TelemetryController.js';\nexport class AppKitError extends Error {\n constructor(message, category, originalError) {\n super(message);\n this.name = 'AppKitError';\n this.category = category;\n this.originalError = originalError;\n // Ensure `this instanceof AppKitError` is true, important for custom errors.\n Object.setPrototypeOf(this, AppKitError.prototype);\n let isStackConstructedFromOriginal = false;\n if (originalError instanceof Error &&\n typeof originalError.stack === 'string' &&\n originalError.stack) {\n const originalErrorStack = originalError.stack;\n /**\n * Most error stacks start with \"ErrorName: ErrorMessage\\n...frames...\"\n * We want to take the \"...frames...\" part.\n */\n const firstNewlineIndex = originalErrorStack.indexOf('\\n');\n if (firstNewlineIndex > -1) {\n const originalFrames = originalErrorStack.substring(firstNewlineIndex + 1);\n this.stack = `${this.name}: ${this.message}\\n${originalFrames}`;\n isStackConstructedFromOriginal = true;\n }\n }\n if (!isStackConstructedFromOriginal) {\n /**\n * If stack was not (or could not be) constructed from originalError,\n * generate a standard stack trace for this AppKitError instance.\n * This will point to where `new AppKitError()` was called.\n */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, AppKitError);\n }\n else if (!this.stack) {\n /**\n * Fallback for environments without Error.captureStackTrace.\n * `super(message)` might have set a stack.\n * If `this.stack` is still undefined/empty, provide a minimal one.\n * Node.js and modern browsers typically set `this.stack` from `super(message)`.\n */\n this.stack = `${this.name}: ${this.message}`;\n }\n }\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction errorHandler(err, defaultCategory) {\n const error = err instanceof AppKitError\n ? err\n : new AppKitError(err instanceof Error ? err.message : String(err), defaultCategory, err);\n TelemetryController.sendError(error, error.category);\n throw error;\n}\nexport function withErrorBoundary(controller, defaultCategory = 'INTERNAL_SDK_ERROR') {\n const newController = {};\n Object.keys(controller).forEach(key => {\n const original = controller[key];\n if (typeof original === 'function') {\n let wrapped = original;\n if (original.constructor.name === 'AsyncFunction') {\n wrapped = async (...args) => {\n try {\n return await original(...args);\n }\n catch (err) {\n return errorHandler(err, defaultCategory);\n }\n };\n }\n else {\n wrapped = (...args) => {\n try {\n return original(...args);\n }\n catch (err) {\n return errorHandler(err, defaultCategory);\n }\n };\n }\n newController[key] = wrapped;\n }\n else {\n newController[key] = original;\n }\n });\n return newController;\n}\n//# sourceMappingURL=withErrorBoundary.js.map","import { ConstantsUtil } from '@reown/appkit-common';\n/*\n * Exclude wallets that do not support relay connections but have custom deeplink mechanisms\n * Excludes:\n * - Phantom\n * - Coinbase\n */\nexport const CUSTOM_DEEPLINK_WALLETS = {\n PHANTOM: {\n id: 'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393',\n url: 'https://phantom.app'\n },\n SOLFLARE: {\n id: '1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79',\n url: 'https://solflare.com'\n },\n COINBASE: {\n id: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n url: 'https://go.cb-w.com'\n }\n};\nexport const MobileWalletUtil = {\n /**\n * Handles mobile wallet redirection for wallets that have Universal Links and doesn't support WalletConnect Deep Links.\n *\n * @param {string} id - The id of the wallet.\n * @param {ChainNamespace} namespace - The namespace of the chain.\n */\n handleMobileDeeplinkRedirect(id, namespace) {\n /**\n * Universal Links requires explicit user interaction to open the wallet app.\n * Previously we've been calling this with the life-cycle methods in the Solana clients by listening the SELECT_WALLET event of EventController.\n * But this breaks the UL functionality for some wallets like Phantom.\n */\n const href = window.location.href;\n const encodedHref = encodeURIComponent(href);\n if (id === CUSTOM_DEEPLINK_WALLETS.PHANTOM.id && !('phantom' in window)) {\n const protocol = href.startsWith('https') ? 'https' : 'http';\n const host = href.split('/')[2];\n const encodedRef = encodeURIComponent(`${protocol}://${host}`);\n window.location.href = `${CUSTOM_DEEPLINK_WALLETS.PHANTOM.url}/ul/browse/${encodedHref}?ref=${encodedRef}`;\n }\n if (id === CUSTOM_DEEPLINK_WALLETS.SOLFLARE.id && !('solflare' in window)) {\n window.location.href = `${CUSTOM_DEEPLINK_WALLETS.SOLFLARE.url}/ul/v1/browse/${encodedHref}?ref=${encodedHref}`;\n }\n if (namespace === ConstantsUtil.CHAIN.SOLANA) {\n if (id === CUSTOM_DEEPLINK_WALLETS.COINBASE.id && !('coinbaseSolana' in window)) {\n window.location.href = `${CUSTOM_DEEPLINK_WALLETS.COINBASE.url}/dapp?cb_url=${encodedHref}`;\n }\n }\n }\n};\n//# sourceMappingURL=MobileWallet.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n walletImages: {},\n networkImages: {},\n chainImages: {},\n connectorImages: {},\n tokenImages: {},\n currencyImages: {}\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeNetworkImages(callback) {\n return sub(state.networkImages, () => callback(state.networkImages));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setWalletImage(key, value) {\n state.walletImages[key] = value;\n },\n setNetworkImage(key, value) {\n state.networkImages[key] = value;\n },\n setChainImage(key, value) {\n state.chainImages[key] = value;\n },\n setConnectorImage(key, value) {\n state.connectorImages = { ...state.connectorImages, [key]: value };\n },\n setTokenImage(key, value) {\n state.tokenImages[key] = value;\n },\n setCurrencyImage(key, value) {\n state.currencyImages[key] = value;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const AssetController = withErrorBoundary(controller);\n//# sourceMappingURL=AssetController.js.map","import { proxy } from 'valtio/vanilla';\nimport { ApiController } from '../controllers/ApiController.js';\nimport { AssetController } from '../controllers/AssetController.js';\nconst namespaceImageIds = {\n // Ethereum\n eip155: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',\n // Solana\n solana: 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n // Polkadot\n polkadot: '',\n // Bitcoin\n bip122: '0b4838db-0161-4ffe-022d-532bf03dba00',\n // Cosmos\n cosmos: ''\n};\n// -- State --------------------------------------------- //\nconst state = proxy({\n networkImagePromises: {}\n});\n// -- Util ---------------------------------------- //\nexport const AssetUtil = {\n async fetchWalletImage(imageId) {\n if (!imageId) {\n return undefined;\n }\n await ApiController._fetchWalletImage(imageId);\n return this.getWalletImageById(imageId);\n },\n async fetchNetworkImage(imageId) {\n if (!imageId) {\n return undefined;\n }\n const existingImage = this.getNetworkImageById(imageId);\n // Check if the image already exists\n if (existingImage) {\n return existingImage;\n }\n // Check if the promise is already created\n if (!state.networkImagePromises[imageId]) {\n state.networkImagePromises[imageId] = ApiController._fetchNetworkImage(imageId);\n }\n await state.networkImagePromises[imageId];\n return this.getNetworkImageById(imageId);\n },\n getWalletImageById(imageId) {\n if (!imageId) {\n return undefined;\n }\n return AssetController.state.walletImages[imageId];\n },\n getWalletImage(wallet) {\n if (wallet?.image_url) {\n return wallet?.image_url;\n }\n if (wallet?.image_id) {\n return AssetController.state.walletImages[wallet.image_id];\n }\n return undefined;\n },\n getNetworkImage(network) {\n if (network?.assets?.imageUrl) {\n return network?.assets?.imageUrl;\n }\n if (network?.assets?.imageId) {\n return AssetController.state.networkImages[network.assets.imageId];\n }\n return undefined;\n },\n getNetworkImageById(imageId) {\n if (!imageId) {\n return undefined;\n }\n return AssetController.state.networkImages[imageId];\n },\n getConnectorImage(connector) {\n if (connector?.imageUrl) {\n return connector.imageUrl;\n }\n if (connector?.imageId) {\n return AssetController.state.connectorImages[connector.imageId];\n }\n return undefined;\n },\n getChainImage(chain) {\n return AssetController.state.networkImages[namespaceImageIds[chain]];\n }\n};\n//# sourceMappingURL=AssetUtil.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { OptionsController } from './OptionsController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n message: '',\n variant: 'info',\n open: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n open(message, variant) {\n const { debug } = OptionsController.state;\n const { shortMessage, longMessage } = message;\n if (debug) {\n state.message = shortMessage;\n state.variant = variant;\n state.open = true;\n }\n if (longMessage) {\n // eslint-disable-next-line no-console\n console.error(typeof longMessage === 'function' ? longMessage() : longMessage);\n }\n },\n close() {\n state.open = false;\n state.message = '';\n state.variant = 'info';\n }\n};\n// Export the controller wrapped with our error boundary\nexport const AlertController = withErrorBoundary(controller);\n//# sourceMappingURL=AlertController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { ConstantsUtil, isSafe } from '@reown/appkit-common';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { AccountController } from './AccountController.js';\nimport { AlertController } from './AlertController.js';\nimport { OptionsController } from './OptionsController.js';\n// -- Helpers ------------------------------------------- //\nconst baseUrl = CoreHelperUtil.getAnalyticsUrl();\nconst api = new FetchUtil({ baseUrl, clientId: null });\nconst excluded = ['MODAL_CREATED'];\n// -- State --------------------------------------------- //\nconst state = proxy({\n timestamp: Date.now(),\n reportedErrors: {},\n data: {\n type: 'track',\n event: 'MODAL_CREATED'\n }\n});\n// -- Controller ---------------------------------------- //\nexport const EventsController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n getSdkProperties() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n projectId,\n st: sdkType,\n sv: sdkVersion || 'html-wagmi-4.2.2'\n };\n },\n async _sendAnalyticsEvent(payload) {\n try {\n const address = AccountController.state.address;\n if (excluded.includes(payload.data.event) || typeof window === 'undefined') {\n return;\n }\n await api.post({\n path: '/e',\n params: EventsController.getSdkProperties(),\n body: {\n eventId: CoreHelperUtil.getUUID(),\n url: window.location.href,\n domain: window.location.hostname,\n timestamp: payload.timestamp,\n props: { ...payload.data, address }\n }\n });\n state.reportedErrors['FORBIDDEN'] = false;\n }\n catch (err) {\n const isForbiddenError = err instanceof Error &&\n err.cause instanceof Response &&\n err.cause.status === ConstantsUtil.HTTP_STATUS_CODES.FORBIDDEN &&\n !state.reportedErrors['FORBIDDEN'];\n if (isForbiddenError) {\n AlertController.open({\n shortMessage: 'Invalid App Configuration',\n longMessage: `Origin ${isSafe() ? window.origin : 'uknown'} not found on Allowlist - update configuration on cloud.reown.com`\n }, 'error');\n state.reportedErrors['FORBIDDEN'] = true;\n }\n }\n },\n sendEvent(data) {\n state.timestamp = Date.now();\n state.data = data;\n if (OptionsController.state.features?.analytics) {\n EventsController._sendAnalyticsEvent(state);\n }\n }\n};\n//# sourceMappingURL=EventsController.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { AssetUtil } from '../utils/AssetUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { CUSTOM_DEEPLINK_WALLETS } from '../utils/MobileWallet.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AssetController } from './AssetController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { OptionsController } from './OptionsController.js';\n// -- Helpers ------------------------------------------- //\nconst baseUrl = CoreHelperUtil.getApiUrl();\nexport const api = new FetchUtil({\n baseUrl,\n clientId: null\n});\nconst entries = 40;\nconst recommendedEntries = 4;\nconst imageCountToFetch = 20;\n// -- State --------------------------------------------- //\nconst state = proxy({\n promises: {},\n page: 1,\n count: 0,\n featured: [],\n allFeatured: [],\n recommended: [],\n allRecommended: [],\n wallets: [],\n filteredWallets: [],\n search: [],\n isAnalyticsEnabled: false,\n excludedWallets: [],\n isFetchingRecommendedWallets: false\n});\n// -- Controller ---------------------------------------- //\nexport const ApiController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getSdkProperties() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n projectId,\n st: sdkType || 'appkit',\n sv: sdkVersion || 'html-wagmi-4.2.2'\n };\n },\n _filterOutExtensions(wallets) {\n if (OptionsController.state.isUniversalProvider) {\n return wallets.filter(w => Boolean(w.mobile_link || w.desktop_link || w.webapp_link));\n }\n return wallets;\n },\n async _fetchWalletImage(imageId) {\n const imageUrl = `${api.baseUrl}/getWalletImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setWalletImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchNetworkImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setNetworkImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchConnectorImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setConnectorImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchCurrencyImage(countryCode) {\n const imageUrl = `${api.baseUrl}/public/getCurrencyImage/${countryCode}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setCurrencyImage(countryCode, URL.createObjectURL(blob));\n },\n async _fetchTokenImage(symbol) {\n const imageUrl = `${api.baseUrl}/public/getTokenImage/${symbol}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setTokenImage(symbol, URL.createObjectURL(blob));\n },\n _filterWalletsByPlatform(wallets) {\n const filteredWallets = CoreHelperUtil.isMobile()\n ? wallets?.filter(w => {\n if (w.mobile_link) {\n return true;\n }\n if (w.id === CUSTOM_DEEPLINK_WALLETS.COINBASE.id) {\n return true;\n }\n const isSolana = ChainController.state.activeChain === 'solana';\n return (isSolana &&\n (w.id === CUSTOM_DEEPLINK_WALLETS.SOLFLARE.id ||\n w.id === CUSTOM_DEEPLINK_WALLETS.PHANTOM.id));\n })\n : wallets;\n return filteredWallets;\n },\n async fetchProjectConfig() {\n const response = await api.get({\n path: '/appkit/v1/config',\n params: ApiController._getSdkProperties()\n });\n return response.features;\n },\n async fetchAllowedOrigins() {\n try {\n const { allowedOrigins } = await api.get({\n path: '/projects/v1/origins',\n params: ApiController._getSdkProperties()\n });\n return allowedOrigins;\n }\n catch (error) {\n return [];\n }\n },\n async fetchNetworkImages() {\n const requestedCaipNetworks = ChainController.getAllRequestedCaipNetworks();\n const ids = requestedCaipNetworks\n ?.map(({ assets }) => assets?.imageId)\n .filter(Boolean)\n .filter(imageId => !AssetUtil.getNetworkImageById(imageId));\n if (ids) {\n await Promise.allSettled(ids.map(id => ApiController._fetchNetworkImage(id)));\n }\n },\n async fetchConnectorImages() {\n const { connectors } = ConnectorController.state;\n const ids = connectors.map(({ imageId }) => imageId).filter(Boolean);\n await Promise.allSettled(ids.map(id => ApiController._fetchConnectorImage(id)));\n },\n async fetchCurrencyImages(currencies = []) {\n await Promise.allSettled(currencies.map(currency => ApiController._fetchCurrencyImage(currency)));\n },\n async fetchTokenImages(tokens = []) {\n await Promise.allSettled(tokens.map(token => ApiController._fetchTokenImage(token)));\n },\n async fetchWallets(params) {\n const exclude = params.exclude ?? [];\n const sdkProperties = ApiController._getSdkProperties();\n if (sdkProperties.sv.startsWith('html-core-')) {\n exclude.push(...Object.values(CUSTOM_DEEPLINK_WALLETS).map(w => w.id));\n }\n const wallets = await api.get({\n path: '/getWallets',\n params: {\n ...ApiController._getSdkProperties(),\n ...params,\n page: String(params.page),\n entries: String(params.entries),\n include: params.include?.join(','),\n exclude: exclude.join(',')\n }\n });\n const filteredWallets = ApiController._filterWalletsByPlatform(wallets?.data);\n return {\n data: filteredWallets || [],\n // Keep original count for display on main page\n count: wallets?.count\n };\n },\n async fetchFeaturedWallets() {\n const { featuredWalletIds } = OptionsController.state;\n if (featuredWalletIds?.length) {\n const params = {\n ...ApiController._getSdkProperties(),\n page: 1,\n entries: featuredWalletIds?.length ?? recommendedEntries,\n include: featuredWalletIds\n };\n const { data } = await ApiController.fetchWallets(params);\n const sortedData = [...data].sort((a, b) => featuredWalletIds.indexOf(a.id) - featuredWalletIds.indexOf(b.id));\n const images = sortedData.map(d => d.image_id).filter(Boolean);\n await Promise.allSettled(images.map(id => ApiController._fetchWalletImage(id)));\n state.featured = sortedData;\n state.allFeatured = sortedData;\n }\n },\n async fetchRecommendedWallets() {\n try {\n state.isFetchingRecommendedWallets = true;\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const exclude = [...(excludeWalletIds ?? []), ...(featuredWalletIds ?? [])].filter(Boolean);\n const chains = ChainController.getRequestedCaipNetworkIds().join(',');\n const params = {\n page: 1,\n entries: recommendedEntries,\n include: includeWalletIds,\n exclude,\n chains\n };\n const { data, count } = await ApiController.fetchWallets(params);\n const recent = StorageUtil.getRecentWallets();\n const recommendedImages = data.map(d => d.image_id).filter(Boolean);\n const recentImages = recent.map(r => r.image_id).filter(Boolean);\n await Promise.allSettled([...recommendedImages, ...recentImages].map(id => ApiController._fetchWalletImage(id)));\n state.recommended = data;\n state.allRecommended = data;\n state.count = count ?? 0;\n }\n catch {\n // Catch silently\n }\n finally {\n state.isFetchingRecommendedWallets = false;\n }\n },\n async fetchWalletsByPage({ page }) {\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const chains = ChainController.getRequestedCaipNetworkIds().join(',');\n const exclude = [\n ...state.recommended.map(({ id }) => id),\n ...(excludeWalletIds ?? []),\n ...(featuredWalletIds ?? [])\n ].filter(Boolean);\n const params = {\n page,\n entries,\n include: includeWalletIds,\n exclude,\n chains\n };\n const { data, count } = await ApiController.fetchWallets(params);\n const images = data\n .slice(0, imageCountToFetch)\n .map(w => w.image_id)\n .filter(Boolean);\n await Promise.allSettled(images.map(id => ApiController._fetchWalletImage(id)));\n state.wallets = CoreHelperUtil.uniqueBy([...state.wallets, ...ApiController._filterOutExtensions(data)], 'id').filter(w => w.chains?.some(chain => chains.includes(chain)));\n state.count = count > state.count ? count : state.count;\n state.page = page;\n },\n async initializeExcludedWallets({ ids }) {\n const params = {\n page: 1,\n entries: ids.length,\n include: ids\n };\n const { data } = await ApiController.fetchWallets(params);\n if (data) {\n data.forEach(wallet => {\n state.excludedWallets.push({ rdns: wallet.rdns, name: wallet.name });\n });\n }\n },\n async searchWallet({ search, badge }) {\n const { includeWalletIds, excludeWalletIds } = OptionsController.state;\n const chains = ChainController.getRequestedCaipNetworkIds().join(',');\n state.search = [];\n const params = {\n page: 1,\n entries: 100,\n search: search?.trim(),\n badge_type: badge,\n include: includeWalletIds,\n exclude: excludeWalletIds,\n chains\n };\n const { data } = await ApiController.fetchWallets(params);\n EventsController.sendEvent({\n type: 'track',\n event: 'SEARCH_WALLET',\n properties: { badge: badge ?? '', search: search ?? '' }\n });\n const images = data.map(w => w.image_id).filter(Boolean);\n await Promise.allSettled([\n ...images.map(id => ApiController._fetchWalletImage(id)),\n CoreHelperUtil.wait(300)\n ]);\n state.search = ApiController._filterOutExtensions(data);\n },\n initPromise(key, fetchFn) {\n const existingPromise = state.promises[key];\n if (existingPromise) {\n return existingPromise;\n }\n return (state.promises[key] = fetchFn());\n },\n prefetch({ fetchConnectorImages = true, fetchFeaturedWallets = true, fetchRecommendedWallets = true, fetchNetworkImages = true } = {}) {\n const promises = [\n fetchConnectorImages &&\n ApiController.initPromise('connectorImages', ApiController.fetchConnectorImages),\n fetchFeaturedWallets &&\n ApiController.initPromise('featuredWallets', ApiController.fetchFeaturedWallets),\n fetchRecommendedWallets &&\n ApiController.initPromise('recommendedWallets', ApiController.fetchRecommendedWallets),\n fetchNetworkImages &&\n ApiController.initPromise('networkImages', ApiController.fetchNetworkImages)\n ].filter(Boolean);\n return Promise.allSettled(promises);\n },\n prefetchAnalyticsConfig() {\n if (OptionsController.state.features?.analytics) {\n ApiController.fetchAnalyticsConfig();\n }\n },\n async fetchAnalyticsConfig() {\n try {\n const { isAnalyticsEnabled } = await api.get({\n path: '/getAnalyticsConfig',\n params: ApiController._getSdkProperties()\n });\n OptionsController.setFeatures({ analytics: isAnalyticsEnabled });\n }\n catch (error) {\n OptionsController.setFeatures({ analytics: false });\n }\n },\n filterByNamespaces(namespaces) {\n if (!namespaces?.length) {\n state.featured = state.allFeatured;\n state.recommended = state.allRecommended;\n return;\n }\n const caipNetworkIds = ChainController.getRequestedCaipNetworkIds().join(',');\n state.featured = state.allFeatured.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.recommended = state.allRecommended.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.filteredWallets = state.wallets.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n },\n clearFilterByNamespaces() {\n state.filteredWallets = [];\n },\n setFilterByNamespace(namespace) {\n if (!namespace) {\n state.featured = state.allFeatured;\n state.recommended = state.allRecommended;\n return;\n }\n const caipNetworkIds = ChainController.getRequestedCaipNetworkIds().join(',');\n state.featured = state.allFeatured.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.recommended = state.allRecommended.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.filteredWallets = state.wallets.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n }\n};\n//# sourceMappingURL=ApiController.js.map","import { proxy, snapshot } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { ModalController } from './ModalController.js';\nimport { OptionsController } from './OptionsController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n view: 'Connect',\n history: ['Connect'],\n transactionStack: []\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n pushTransactionStack(action) {\n state.transactionStack.push(action);\n },\n popTransactionStack(status) {\n const action = state.transactionStack.pop();\n if (!action) {\n return;\n }\n const { onSuccess, onError, onCancel } = action;\n switch (status) {\n case 'success':\n onSuccess?.();\n break;\n case 'error':\n onError?.();\n RouterController.goBack();\n break;\n case 'cancel':\n onCancel?.();\n RouterController.goBack();\n break;\n default:\n }\n },\n push(view, data) {\n if (view !== state.view) {\n state.view = view;\n state.history.push(view);\n state.data = data;\n }\n },\n reset(view, data) {\n state.view = view;\n state.history = [view];\n state.data = data;\n },\n replace(view, data) {\n const lastView = state.history.at(-1);\n const isSameView = lastView === view;\n if (!isSameView) {\n state.view = view;\n state.history[state.history.length - 1] = view;\n state.data = data;\n }\n },\n goBack() {\n const isConnected = ChainController.state.activeCaipAddress;\n const isFarcasterView = RouterController.state.view === 'ConnectingFarcaster';\n const shouldReload = !isConnected && isFarcasterView;\n if (state.history.length > 1) {\n state.history.pop();\n const [last] = state.history.slice(-1);\n if (last) {\n const isConnectView = last === 'Connect';\n if (isConnected && isConnectView) {\n state.view = 'Account';\n }\n else {\n state.view = last;\n }\n }\n }\n else {\n ModalController.close();\n }\n if (state.data?.wallet) {\n state.data.wallet = undefined;\n }\n // Reloading the iframe contentwindow and doing the view animation in the modal causes a small freeze in the transition. Doing these separately fixes that.\n setTimeout(() => {\n if (shouldReload) {\n AccountController.setFarcasterUrl(undefined, ChainController.state.activeChain);\n const authConnector = ConnectorController.getAuthConnector();\n authConnector?.provider?.reload();\n const optionsState = snapshot(OptionsController.state);\n authConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n projectId: optionsState.projectId,\n sdkType: optionsState.sdkType\n });\n }\n }, 100);\n },\n goBackToIndex(historyIndex) {\n if (state.history.length > 1) {\n state.history = state.history.slice(0, historyIndex + 1);\n const [last] = state.history.slice(-1);\n if (last) {\n state.view = last;\n }\n }\n },\n goBackOrCloseModal() {\n if (RouterController.state.history.length > 1) {\n RouterController.goBack();\n }\n else {\n ModalController.close();\n }\n }\n};\n// Export the controller wrapped with our error boundary\nexport const RouterController = withErrorBoundary(controller);\n//# sourceMappingURL=RouterController.js.map","import { proxy, snapshot, subscribe as sub } from 'valtio/vanilla';\nimport { getW3mThemeVariables } from '@reown/appkit-common';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { ConnectorController } from './ConnectorController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n themeMode: 'dark',\n themeVariables: {},\n w3mThemeVariables: undefined\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setThemeMode(themeMode) {\n state.themeMode = themeMode;\n try {\n const authConnector = ConnectorController.getAuthConnector();\n if (authConnector) {\n const themeVariables = controller.getSnapshot().themeVariables;\n authConnector.provider.syncTheme({\n themeMode,\n themeVariables,\n w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)\n });\n }\n }\n catch {\n // eslint-disable-next-line no-console\n console.info('Unable to sync theme to auth connector');\n }\n },\n setThemeVariables(themeVariables) {\n state.themeVariables = { ...state.themeVariables, ...themeVariables };\n try {\n const authConnector = ConnectorController.getAuthConnector();\n if (authConnector) {\n const themeVariablesSnapshot = controller.getSnapshot().themeVariables;\n authConnector.provider.syncTheme({\n themeVariables: themeVariablesSnapshot,\n w3mThemeVariables: getW3mThemeVariables(state.themeVariables, state.themeMode)\n });\n }\n }\n catch {\n // eslint-disable-next-line no-console\n console.info('Unable to sync theme to auth connector');\n }\n },\n getSnapshot() {\n return snapshot(state);\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ThemeController = withErrorBoundary(controller);\n//# sourceMappingURL=ThemeController.js.map","import { proxy, ref, snapshot, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil, getW3mThemeVariables } from '@reown/appkit-common';\nimport { MobileWalletUtil } from '../utils/MobileWallet.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { ApiController } from './ApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { RouterController } from './RouterController.js';\nimport { ThemeController } from './ThemeController.js';\nconst defaultActiveConnectors = {\n eip155: undefined,\n solana: undefined,\n polkadot: undefined,\n bip122: undefined,\n cosmos: undefined\n};\n// -- State --------------------------------------------- //\nconst state = proxy({\n allConnectors: [],\n connectors: [],\n activeConnector: undefined,\n filterByNamespace: undefined,\n activeConnectorIds: { ...defaultActiveConnectors },\n filterByNamespaceMap: {\n eip155: true,\n solana: true,\n polkadot: true,\n bip122: true,\n cosmos: true\n }\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => {\n callback(state);\n });\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n initialize(namespaces) {\n namespaces.forEach(namespace => {\n const connectorId = StorageUtil.getConnectedConnectorId(namespace);\n if (connectorId) {\n ConnectorController.setConnectorId(connectorId, namespace);\n }\n });\n },\n setActiveConnector(connector) {\n if (connector) {\n state.activeConnector = ref(connector);\n }\n },\n setConnectors(connectors) {\n const newConnectors = connectors.filter(newConnector => !state.allConnectors.some(existingConnector => existingConnector.id === newConnector.id &&\n ConnectorController.getConnectorName(existingConnector.name) ===\n ConnectorController.getConnectorName(newConnector.name) &&\n existingConnector.chain === newConnector.chain));\n /**\n * We are reassigning the state of the proxy to a new array of new objects, ConnectorController can cause issues. So it is better to use ref in ConnectorController case.\n * Check more about proxy on https://valtio.dev/docs/api/basic/proxy#Gotchas\n * Check more about ref on https://valtio.dev/docs/api/basic/ref\n */\n newConnectors.forEach(connector => {\n if (connector.type !== 'MULTI_CHAIN') {\n state.allConnectors.push(ref(connector));\n }\n });\n const enabledNamespaces = ConnectorController.getEnabledNamespaces();\n const connectorsFilteredByNamespaces = ConnectorController.getEnabledConnectors(enabledNamespaces);\n state.connectors = ConnectorController.mergeMultiChainConnectors(connectorsFilteredByNamespaces);\n },\n filterByNamespaces(enabledNamespaces) {\n Object.keys(state.filterByNamespaceMap).forEach(namespace => {\n state.filterByNamespaceMap[namespace] = false;\n });\n enabledNamespaces.forEach(namespace => {\n state.filterByNamespaceMap[namespace] = true;\n });\n ConnectorController.updateConnectorsForEnabledNamespaces();\n },\n filterByNamespace(namespace, enabled) {\n state.filterByNamespaceMap[namespace] = enabled;\n ConnectorController.updateConnectorsForEnabledNamespaces();\n },\n updateConnectorsForEnabledNamespaces() {\n const enabledNamespaces = ConnectorController.getEnabledNamespaces();\n const enabledConnectors = ConnectorController.getEnabledConnectors(enabledNamespaces);\n const areAllNamespacesEnabled = ConnectorController.areAllNamespacesEnabled();\n state.connectors = ConnectorController.mergeMultiChainConnectors(enabledConnectors);\n if (areAllNamespacesEnabled) {\n ApiController.clearFilterByNamespaces();\n }\n else {\n ApiController.filterByNamespaces(enabledNamespaces);\n }\n },\n getEnabledNamespaces() {\n return Object.entries(state.filterByNamespaceMap)\n .filter(([_, enabled]) => enabled)\n .map(([namespace]) => namespace);\n },\n getEnabledConnectors(enabledNamespaces) {\n return state.allConnectors.filter(connector => enabledNamespaces.includes(connector.chain));\n },\n areAllNamespacesEnabled() {\n return Object.values(state.filterByNamespaceMap).every(enabled => enabled);\n },\n mergeMultiChainConnectors(connectors) {\n const connectorsByNameMap = ConnectorController.generateConnectorMapByName(connectors);\n const mergedConnectors = [];\n connectorsByNameMap.forEach(keyConnectors => {\n const firstItem = keyConnectors[0];\n const isAuthConnector = firstItem?.id === ConstantsUtil.CONNECTOR_ID.AUTH;\n if (keyConnectors.length > 1 && firstItem) {\n mergedConnectors.push({\n name: firstItem.name,\n imageUrl: firstItem.imageUrl,\n imageId: firstItem.imageId,\n connectors: [...keyConnectors],\n type: isAuthConnector ? 'AUTH' : 'MULTI_CHAIN',\n // These values are just placeholders, we don't use them in multi-chain connector select screen\n chain: 'eip155',\n id: firstItem?.id || ''\n });\n }\n else if (firstItem) {\n mergedConnectors.push(firstItem);\n }\n });\n return mergedConnectors;\n },\n generateConnectorMapByName(connectors) {\n const connectorsByNameMap = new Map();\n connectors.forEach(connector => {\n const { name } = connector;\n const connectorName = ConnectorController.getConnectorName(name);\n if (!connectorName) {\n return;\n }\n const connectorsByName = connectorsByNameMap.get(connectorName) || [];\n const haveSameConnector = connectorsByName.find(c => c.chain === connector.chain);\n if (!haveSameConnector) {\n connectorsByName.push(connector);\n }\n connectorsByNameMap.set(connectorName, connectorsByName);\n });\n return connectorsByNameMap;\n },\n getConnectorName(name) {\n if (!name) {\n return name;\n }\n const nameOverrideMap = {\n 'Trust Wallet': 'Trust'\n };\n return nameOverrideMap[name] || name;\n },\n getUniqueConnectorsByName(connectors) {\n const uniqueConnectors = [];\n connectors.forEach(c => {\n if (!uniqueConnectors.find(uc => uc.chain === c.chain)) {\n uniqueConnectors.push(c);\n }\n });\n return uniqueConnectors;\n },\n addConnector(connector) {\n if (connector.id === ConstantsUtil.CONNECTOR_ID.AUTH) {\n const authConnector = connector;\n const optionsState = snapshot(OptionsController.state);\n const themeMode = ThemeController.getSnapshot().themeMode;\n const themeVariables = ThemeController.getSnapshot().themeVariables;\n authConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n projectId: optionsState.projectId,\n sdkType: optionsState.sdkType\n });\n authConnector?.provider?.syncTheme({\n themeMode,\n themeVariables,\n w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)\n });\n ConnectorController.setConnectors([connector]);\n }\n else {\n ConnectorController.setConnectors([connector]);\n }\n },\n getAuthConnector(chainNamespace) {\n const activeNamespace = chainNamespace || ChainController.state.activeChain;\n const authConnector = state.connectors.find(c => c.id === ConstantsUtil.CONNECTOR_ID.AUTH);\n if (!authConnector) {\n return undefined;\n }\n if (authConnector?.connectors?.length) {\n const connector = authConnector.connectors.find(c => c.chain === activeNamespace);\n return connector;\n }\n return authConnector;\n },\n getAnnouncedConnectorRdns() {\n return state.connectors.filter(c => c.type === 'ANNOUNCED').map(c => c.info?.rdns);\n },\n getConnectorById(id) {\n return state.allConnectors.find(c => c.id === id);\n },\n getConnector(id, rdns) {\n const connectorsByNamespace = state.allConnectors.filter(c => c.chain === ChainController.state.activeChain);\n return connectorsByNamespace.find(c => c.explorerId === id || c.info?.rdns === rdns);\n },\n syncIfAuthConnector(connector) {\n if (connector.id !== 'ID_AUTH') {\n return;\n }\n const authConnector = connector;\n const optionsState = snapshot(OptionsController.state);\n const themeMode = ThemeController.getSnapshot().themeMode;\n const themeVariables = ThemeController.getSnapshot().themeVariables;\n authConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n sdkType: optionsState.sdkType,\n projectId: optionsState.projectId\n });\n authConnector.provider.syncTheme({\n themeMode,\n themeVariables,\n w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)\n });\n },\n /**\n * Returns the connectors filtered by namespace.\n * @param namespace - The namespace to filter the connectors by.\n * @returns ConnectorWithProviders[].\n */\n getConnectorsByNamespace(namespace) {\n const namespaceConnectors = state.allConnectors.filter(connector => connector.chain === namespace);\n return ConnectorController.mergeMultiChainConnectors(namespaceConnectors);\n },\n selectWalletConnector(wallet) {\n const connector = ConnectorController.getConnector(wallet.id, wallet.rdns);\n const namespace = ChainController.state.activeChain;\n MobileWalletUtil.handleMobileDeeplinkRedirect(connector?.explorerId || wallet.id, namespace);\n if (connector) {\n RouterController.push('ConnectingExternal', { connector });\n }\n else {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n },\n /**\n * Returns the connectors. If a namespace is provided, the connectors are filtered by namespace.\n * @param namespace - The namespace to filter the connectors by. If not provided, all connectors are returned.\n * @returns ConnectorWithProviders[].\n */\n getConnectors(namespace) {\n if (namespace) {\n return ConnectorController.getConnectorsByNamespace(namespace);\n }\n return ConnectorController.mergeMultiChainConnectors(state.allConnectors);\n },\n /**\n * Sets the filter by namespace and updates the connectors.\n * @param namespace - The namespace to filter the connectors by.\n */\n setFilterByNamespace(namespace) {\n state.filterByNamespace = namespace;\n state.connectors = ConnectorController.getConnectors(namespace);\n ApiController.setFilterByNamespace(namespace);\n },\n setConnectorId(connectorId, namespace) {\n if (connectorId) {\n state.activeConnectorIds = {\n ...state.activeConnectorIds,\n [namespace]: connectorId\n };\n StorageUtil.setConnectedConnectorId(namespace, connectorId);\n }\n },\n removeConnectorId(namespace) {\n state.activeConnectorIds = {\n ...state.activeConnectorIds,\n [namespace]: undefined\n };\n StorageUtil.deleteConnectedConnectorId(namespace);\n },\n getConnectorId(namespace) {\n if (!namespace) {\n return undefined;\n }\n return state.activeConnectorIds[namespace];\n },\n isConnected(namespace) {\n if (!namespace) {\n return Object.values(state.activeConnectorIds).some(id => Boolean(id));\n }\n return Boolean(state.activeConnectorIds[namespace]);\n },\n resetConnectorIds() {\n state.activeConnectorIds = { ...defaultActiveConnectors };\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ConnectorController = withErrorBoundary(controller);\n//# sourceMappingURL=ConnectorController.js.map","const DEFAULT_SDK_URL = 'https://secure.walletconnect.org/sdk';\nexport const SECURE_SITE_SDK = (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_SDK_URL']\n : undefined) || DEFAULT_SDK_URL;\nexport const DEFAULT_LOG_LEVEL = (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_DEFAULT_LOG_LEVEL']\n : undefined) || 'error';\nexport const SECURE_SITE_SDK_VERSION = (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_SDK_VERSION']\n : undefined) || '4';\nexport const W3mFrameConstants = {\n APP_EVENT_KEY: '@w3m-app/',\n FRAME_EVENT_KEY: '@w3m-frame/',\n RPC_METHOD_KEY: 'RPC_',\n STORAGE_KEY: '@appkit-wallet/',\n SESSION_TOKEN_KEY: 'SESSION_TOKEN_KEY',\n EMAIL_LOGIN_USED_KEY: 'EMAIL_LOGIN_USED_KEY',\n LAST_USED_CHAIN_KEY: 'LAST_USED_CHAIN_KEY',\n LAST_EMAIL_LOGIN_TIME: 'LAST_EMAIL_LOGIN_TIME',\n EMAIL: 'EMAIL',\n PREFERRED_ACCOUNT_TYPE: 'PREFERRED_ACCOUNT_TYPE',\n SMART_ACCOUNT_ENABLED: 'SMART_ACCOUNT_ENABLED',\n SMART_ACCOUNT_ENABLED_NETWORKS: 'SMART_ACCOUNT_ENABLED_NETWORKS',\n SOCIAL_USERNAME: 'SOCIAL_USERNAME',\n APP_SWITCH_NETWORK: '@w3m-app/SWITCH_NETWORK',\n APP_CONNECT_EMAIL: '@w3m-app/CONNECT_EMAIL',\n APP_CONNECT_DEVICE: '@w3m-app/CONNECT_DEVICE',\n APP_CONNECT_OTP: '@w3m-app/CONNECT_OTP',\n APP_CONNECT_SOCIAL: '@w3m-app/CONNECT_SOCIAL',\n APP_GET_SOCIAL_REDIRECT_URI: '@w3m-app/GET_SOCIAL_REDIRECT_URI',\n APP_GET_USER: '@w3m-app/GET_USER',\n APP_SIGN_OUT: '@w3m-app/SIGN_OUT',\n APP_IS_CONNECTED: '@w3m-app/IS_CONNECTED',\n APP_GET_CHAIN_ID: '@w3m-app/GET_CHAIN_ID',\n APP_RPC_REQUEST: '@w3m-app/RPC_REQUEST',\n APP_UPDATE_EMAIL: '@w3m-app/UPDATE_EMAIL',\n APP_UPDATE_EMAIL_PRIMARY_OTP: '@w3m-app/UPDATE_EMAIL_PRIMARY_OTP',\n APP_UPDATE_EMAIL_SECONDARY_OTP: '@w3m-app/UPDATE_EMAIL_SECONDARY_OTP',\n APP_AWAIT_UPDATE_EMAIL: '@w3m-app/AWAIT_UPDATE_EMAIL',\n APP_SYNC_THEME: '@w3m-app/SYNC_THEME',\n APP_SYNC_DAPP_DATA: '@w3m-app/SYNC_DAPP_DATA',\n APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS: '@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS',\n APP_INIT_SMART_ACCOUNT: '@w3m-app/INIT_SMART_ACCOUNT',\n APP_SET_PREFERRED_ACCOUNT: '@w3m-app/SET_PREFERRED_ACCOUNT',\n APP_CONNECT_FARCASTER: '@w3m-app/CONNECT_FARCASTER',\n APP_GET_FARCASTER_URI: '@w3m-app/GET_FARCASTER_URI',\n APP_RELOAD: '@w3m-app/RELOAD',\n FRAME_SWITCH_NETWORK_ERROR: '@w3m-frame/SWITCH_NETWORK_ERROR',\n FRAME_SWITCH_NETWORK_SUCCESS: '@w3m-frame/SWITCH_NETWORK_SUCCESS',\n FRAME_CONNECT_EMAIL_ERROR: '@w3m-frame/CONNECT_EMAIL_ERROR',\n FRAME_CONNECT_EMAIL_SUCCESS: '@w3m-frame/CONNECT_EMAIL_SUCCESS',\n FRAME_CONNECT_DEVICE_ERROR: '@w3m-frame/CONNECT_DEVICE_ERROR',\n FRAME_CONNECT_DEVICE_SUCCESS: '@w3m-frame/CONNECT_DEVICE_SUCCESS',\n FRAME_CONNECT_OTP_SUCCESS: '@w3m-frame/CONNECT_OTP_SUCCESS',\n FRAME_CONNECT_OTP_ERROR: '@w3m-frame/CONNECT_OTP_ERROR',\n FRAME_CONNECT_SOCIAL_SUCCESS: '@w3m-frame/CONNECT_SOCIAL_SUCCESS',\n FRAME_CONNECT_SOCIAL_ERROR: '@w3m-frame/CONNECT_SOCIAL_ERROR',\n FRAME_CONNECT_FARCASTER_SUCCESS: '@w3m-frame/CONNECT_FARCASTER_SUCCESS',\n FRAME_CONNECT_FARCASTER_ERROR: '@w3m-frame/CONNECT_FARCASTER_ERROR',\n FRAME_GET_FARCASTER_URI_SUCCESS: '@w3m-frame/GET_FARCASTER_URI_SUCCESS',\n FRAME_GET_FARCASTER_URI_ERROR: '@w3m-frame/GET_FARCASTER_URI_ERROR',\n FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS: '@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS',\n FRAME_GET_SOCIAL_REDIRECT_URI_ERROR: '@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR',\n FRAME_GET_USER_SUCCESS: '@w3m-frame/GET_USER_SUCCESS',\n FRAME_GET_USER_ERROR: '@w3m-frame/GET_USER_ERROR',\n FRAME_SIGN_OUT_SUCCESS: '@w3m-frame/SIGN_OUT_SUCCESS',\n FRAME_SIGN_OUT_ERROR: '@w3m-frame/SIGN_OUT_ERROR',\n FRAME_IS_CONNECTED_SUCCESS: '@w3m-frame/IS_CONNECTED_SUCCESS',\n FRAME_IS_CONNECTED_ERROR: '@w3m-frame/IS_CONNECTED_ERROR',\n FRAME_GET_CHAIN_ID_SUCCESS: '@w3m-frame/GET_CHAIN_ID_SUCCESS',\n FRAME_GET_CHAIN_ID_ERROR: '@w3m-frame/GET_CHAIN_ID_ERROR',\n FRAME_RPC_REQUEST_SUCCESS: '@w3m-frame/RPC_REQUEST_SUCCESS',\n FRAME_RPC_REQUEST_ERROR: '@w3m-frame/RPC_REQUEST_ERROR',\n FRAME_SESSION_UPDATE: '@w3m-frame/SESSION_UPDATE',\n FRAME_UPDATE_EMAIL_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SUCCESS',\n FRAME_UPDATE_EMAIL_ERROR: '@w3m-frame/UPDATE_EMAIL_ERROR',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR',\n FRAME_SYNC_THEME_SUCCESS: '@w3m-frame/SYNC_THEME_SUCCESS',\n FRAME_SYNC_THEME_ERROR: '@w3m-frame/SYNC_THEME_ERROR',\n FRAME_SYNC_DAPP_DATA_SUCCESS: '@w3m-frame/SYNC_DAPP_DATA_SUCCESS',\n FRAME_SYNC_DAPP_DATA_ERROR: '@w3m-frame/SYNC_DAPP_DATA_ERROR',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR',\n FRAME_INIT_SMART_ACCOUNT_SUCCESS: '@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS',\n FRAME_INIT_SMART_ACCOUNT_ERROR: '@w3m-frame/INIT_SMART_ACCOUNT_ERROR',\n FRAME_SET_PREFERRED_ACCOUNT_SUCCESS: '@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS',\n FRAME_SET_PREFERRED_ACCOUNT_ERROR: '@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR',\n FRAME_READY: '@w3m-frame/READY',\n FRAME_RELOAD_SUCCESS: '@w3m-frame/RELOAD_SUCCESS',\n FRAME_RELOAD_ERROR: '@w3m-frame/RELOAD_ERROR',\n RPC_RESPONSE_TYPE_ERROR: 'RPC_RESPONSE_ERROR',\n RPC_RESPONSE_TYPE_TX: 'RPC_RESPONSE_TRANSACTION_HASH',\n RPC_RESPONSE_TYPE_OBJECT: 'RPC_RESPONSE_OBJECT'\n};\nexport const W3mFrameRpcConstants = {\n SAFE_RPC_METHODS: [\n 'eth_accounts',\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getAccount',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockReceipts',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_maxPriorityFeePerGas',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_sendRawTransaction',\n 'eth_syncing',\n 'eth_uninstallFilter',\n 'wallet_getCapabilities',\n 'wallet_getCallsStatus',\n 'eth_getUserOperationReceipt',\n 'eth_estimateUserOperationGas',\n 'eth_getUserOperationByHash',\n 'eth_supportedEntryPoints',\n 'wallet_getAssets'\n ],\n NOT_SAFE_RPC_METHODS: [\n 'personal_sign',\n 'eth_signTypedData_v4',\n 'eth_sendTransaction',\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction',\n 'wallet_sendCalls',\n 'wallet_grantPermissions',\n 'wallet_revokePermissions',\n 'eth_sendUserOperation'\n ],\n GET_CHAIN_ID: 'eth_chainId',\n RPC_METHOD_NOT_ALLOWED_MESSAGE: 'Requested RPC call is not allowed',\n RPC_METHOD_NOT_ALLOWED_UI_MESSAGE: 'Action not allowed',\n ACCOUNT_TYPES: {\n EOA: 'eoa',\n SMART_ACCOUNT: 'smartAccount'\n }\n};\n//# sourceMappingURL=W3mFrameConstants.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\n// -- Constants ----------------------------------------- //\nconst DEFAULT_STATE = Object.freeze({\n message: '',\n variant: 'success',\n svg: undefined,\n open: false,\n autoClose: true\n});\n// -- State --------------------------------------------- //\nconst state = proxy({\n ...DEFAULT_STATE\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n showLoading(message, options = {}) {\n this._showMessage({ message, variant: 'loading', ...options });\n },\n showSuccess(message) {\n this._showMessage({ message, variant: 'success' });\n },\n showSvg(message, svg) {\n this._showMessage({ message, svg });\n },\n showError(message) {\n const errorMessage = CoreHelperUtil.parseError(message);\n this._showMessage({ message: errorMessage, variant: 'error' });\n },\n hide() {\n state.message = DEFAULT_STATE.message;\n state.variant = DEFAULT_STATE.variant;\n state.svg = DEFAULT_STATE.svg;\n state.open = DEFAULT_STATE.open;\n state.autoClose = DEFAULT_STATE.autoClose;\n },\n _showMessage({ message, svg, variant = 'success', autoClose = DEFAULT_STATE.autoClose }) {\n if (state.open) {\n state.open = false;\n setTimeout(() => {\n state.message = message;\n state.variant = variant;\n state.svg = svg;\n state.open = true;\n state.autoClose = autoClose;\n }, 150);\n }\n else {\n state.message = message;\n state.variant = variant;\n state.svg = svg;\n state.open = true;\n state.autoClose = autoClose;\n }\n }\n};\nexport const SnackController = controller;\n//# sourceMappingURL=SnackController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { EventsController } from './EventsController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { SnackController } from './SnackController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n transactions: [],\n coinbaseTransactions: {},\n transactionsByYear: {},\n lastNetworkInView: undefined,\n loading: false,\n empty: false,\n next: undefined\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setLastNetworkInView(lastNetworkInView) {\n state.lastNetworkInView = lastNetworkInView;\n },\n async fetchTransactions(accountAddress, onramp) {\n if (!accountAddress) {\n throw new Error(\"Transactions can't be fetched without an accountAddress\");\n }\n state.loading = true;\n try {\n const response = await BlockchainApiController.fetchTransactions({\n account: accountAddress,\n cursor: state.next,\n onramp,\n // Coinbase transaction history state updates require the latest data\n cache: onramp === 'coinbase' ? 'no-cache' : undefined,\n chainId: ChainController.state.activeCaipNetwork?.caipNetworkId\n });\n const nonSpamTransactions = TransactionsController.filterSpamTransactions(response.data);\n const sameChainTransactions = TransactionsController.filterByConnectedChain(nonSpamTransactions);\n const filteredTransactions = [...state.transactions, ...sameChainTransactions];\n state.loading = false;\n if (onramp === 'coinbase') {\n state.coinbaseTransactions = TransactionsController.groupTransactionsByYearAndMonth(state.coinbaseTransactions, response.data);\n }\n else {\n state.transactions = filteredTransactions;\n state.transactionsByYear = TransactionsController.groupTransactionsByYearAndMonth(state.transactionsByYear, sameChainTransactions);\n }\n state.empty = filteredTransactions.length === 0;\n state.next = response.next ? response.next : undefined;\n }\n catch (error) {\n const activeChainNamespace = ChainController.state.activeChain;\n EventsController.sendEvent({\n type: 'track',\n event: 'ERROR_FETCH_TRANSACTIONS',\n properties: {\n address: accountAddress,\n projectId: OptionsController.state.projectId,\n cursor: state.next,\n isSmartAccount: AccountController.state.preferredAccountTypes?.[activeChainNamespace] ===\n W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT\n }\n });\n SnackController.showError('Failed to fetch transactions');\n state.loading = false;\n state.empty = true;\n state.next = undefined;\n }\n },\n groupTransactionsByYearAndMonth(transactionsMap = {}, transactions = []) {\n const grouped = transactionsMap;\n transactions.forEach(transaction => {\n const year = new Date(transaction.metadata.minedAt).getFullYear();\n const month = new Date(transaction.metadata.minedAt).getMonth();\n const yearTransactions = grouped[year] ?? {};\n const monthTransactions = yearTransactions[month] ?? [];\n // If there's a transaction with the same id, remove the old one\n const newMonthTransactions = monthTransactions.filter(tx => tx.id !== transaction.id);\n grouped[year] = {\n ...yearTransactions,\n [month]: [...newMonthTransactions, transaction].sort((a, b) => new Date(b.metadata.minedAt).getTime() - new Date(a.metadata.minedAt).getTime())\n };\n });\n return grouped;\n },\n filterSpamTransactions(transactions) {\n return transactions.filter(transaction => {\n const isAllSpam = transaction.transfers.every(transfer => transfer.nft_info?.flags.is_spam === true);\n return !isAllSpam;\n });\n },\n filterByConnectedChain(transactions) {\n const chainId = ChainController.state.activeCaipNetwork?.caipNetworkId;\n const filteredTransactions = transactions.filter(transaction => transaction.metadata.chain === chainId);\n return filteredTransactions;\n },\n clearCursor() {\n state.next = undefined;\n },\n resetTransactions() {\n state.transactions = [];\n state.transactionsByYear = {};\n state.lastNetworkInView = undefined;\n state.loading = false;\n state.empty = false;\n state.next = undefined;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const TransactionsController = withErrorBoundary(controller, 'API_ERROR');\n//# sourceMappingURL=TransactionsController.js.map","/* eslint-disable no-console */\nimport { proxy, ref } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport {} from '@reown/appkit-common';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AppKitError, withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { ModalController } from './ModalController.js';\nimport { RouterController } from './RouterController.js';\nimport { TransactionsController } from './TransactionsController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n connections: new Map(),\n wcError: false,\n buffering: false,\n status: 'disconnected'\n});\n// eslint-disable-next-line init-declarations\nlet wcConnectionPromise;\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getClient() {\n return state._client;\n },\n setClient(client) {\n state._client = ref(client);\n },\n async connectWalletConnect() {\n if (CoreHelperUtil.isTelegram() || (CoreHelperUtil.isSafari() && CoreHelperUtil.isIos())) {\n if (wcConnectionPromise) {\n await wcConnectionPromise;\n wcConnectionPromise = undefined;\n return;\n }\n if (!CoreHelperUtil.isPairingExpired(state?.wcPairingExpiry)) {\n const link = state.wcUri;\n state.wcUri = link;\n return;\n }\n wcConnectionPromise = ConnectionController._getClient()\n ?.connectWalletConnect?.()\n .catch(() => undefined);\n ConnectionController.state.status = 'connecting';\n await wcConnectionPromise;\n wcConnectionPromise = undefined;\n state.wcPairingExpiry = undefined;\n ConnectionController.state.status = 'connected';\n }\n else {\n await ConnectionController._getClient()?.connectWalletConnect?.();\n }\n },\n async connectExternal(options, chain, setChain = true) {\n await ConnectionController._getClient()?.connectExternal?.(options);\n if (setChain) {\n ChainController.setActiveNamespace(chain);\n }\n },\n async reconnectExternal(options) {\n await ConnectionController._getClient()?.reconnectExternal?.(options);\n const namespace = options.chain || ChainController.state.activeChain;\n if (namespace) {\n ConnectorController.setConnectorId(options.id, namespace);\n }\n },\n async setPreferredAccountType(accountType, namespace) {\n ModalController.setLoading(true, ChainController.state.activeChain);\n const authConnector = ConnectorController.getAuthConnector();\n if (!authConnector) {\n return;\n }\n AccountController.setPreferredAccountType(accountType, namespace);\n await authConnector.provider.setPreferredAccount(accountType);\n StorageUtil.setPreferredAccountTypes(AccountController.state.preferredAccountTypes ?? { [namespace]: accountType });\n await ConnectionController.reconnectExternal(authConnector);\n ModalController.setLoading(false, ChainController.state.activeChain);\n EventsController.sendEvent({\n type: 'track',\n event: 'SET_PREFERRED_ACCOUNT_TYPE',\n properties: {\n accountType,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n },\n async signMessage(message) {\n return ConnectionController._getClient()?.signMessage(message);\n },\n parseUnits(value, decimals) {\n return ConnectionController._getClient()?.parseUnits(value, decimals);\n },\n formatUnits(value, decimals) {\n return ConnectionController._getClient()?.formatUnits(value, decimals);\n },\n async sendTransaction(args) {\n return ConnectionController._getClient()?.sendTransaction(args);\n },\n async getCapabilities(params) {\n return ConnectionController._getClient()?.getCapabilities(params);\n },\n async grantPermissions(params) {\n return ConnectionController._getClient()?.grantPermissions(params);\n },\n async walletGetAssets(params) {\n return ConnectionController._getClient()?.walletGetAssets(params) ?? {};\n },\n async estimateGas(args) {\n return ConnectionController._getClient()?.estimateGas(args);\n },\n async writeContract(args) {\n return ConnectionController._getClient()?.writeContract(args);\n },\n async getEnsAddress(value) {\n return ConnectionController._getClient()?.getEnsAddress(value);\n },\n async getEnsAvatar(value) {\n return ConnectionController._getClient()?.getEnsAvatar(value);\n },\n checkInstalled(ids) {\n return ConnectionController._getClient()?.checkInstalled?.(ids) || false;\n },\n resetWcConnection() {\n state.wcUri = undefined;\n state.wcPairingExpiry = undefined;\n state.wcLinking = undefined;\n state.recentWallet = undefined;\n state.status = 'disconnected';\n TransactionsController.resetTransactions();\n StorageUtil.deleteWalletConnectDeepLink();\n },\n resetUri() {\n state.wcUri = undefined;\n state.wcPairingExpiry = undefined;\n wcConnectionPromise = undefined;\n },\n finalizeWcConnection() {\n const { wcLinking, recentWallet } = ConnectionController.state;\n if (wcLinking) {\n StorageUtil.setWalletConnectDeepLink(wcLinking);\n }\n if (recentWallet) {\n StorageUtil.setAppKitRecent(recentWallet);\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: {\n method: wcLinking ? 'mobile' : 'qrcode',\n name: RouterController.state.data?.wallet?.name || 'Unknown'\n }\n });\n },\n setWcBasic(wcBasic) {\n state.wcBasic = wcBasic;\n },\n setUri(uri) {\n state.wcUri = uri;\n state.wcPairingExpiry = CoreHelperUtil.getPairingExpiry();\n },\n setWcLinking(wcLinking) {\n state.wcLinking = wcLinking;\n },\n setWcError(wcError) {\n state.wcError = wcError;\n state.buffering = false;\n },\n setRecentWallet(wallet) {\n state.recentWallet = wallet;\n },\n setBuffering(buffering) {\n state.buffering = buffering;\n },\n setStatus(status) {\n state.status = status;\n },\n async disconnect(namespace) {\n try {\n await ConnectionController._getClient()?.disconnect(namespace);\n }\n catch (error) {\n throw new AppKitError('Failed to disconnect', 'INTERNAL_SDK_ERROR', error);\n }\n },\n setConnections(connections, chainNamespace) {\n state.connections.set(chainNamespace, connections);\n },\n switchAccount({ connection, address, namespace }) {\n const connectedConnectorId = ConnectorController.state.activeConnectorIds[namespace];\n const isConnectorConnected = connectedConnectorId === connection.connectorId;\n if (isConnectorConnected) {\n const currentNetwork = ChainController.state.activeCaipNetwork;\n if (currentNetwork) {\n const caipAddress = `${namespace}:${currentNetwork.id}:${address}`;\n AccountController.setCaipAddress(caipAddress, namespace);\n }\n else {\n console.warn(`No current network found for namespace \"${namespace}\"`);\n }\n }\n else {\n const connector = ConnectorController.getConnector(connection.connectorId);\n if (connector) {\n ConnectionController.connectExternal(connector, namespace);\n }\n else {\n console.warn(`No connector found for namespace \"${namespace}\"`);\n }\n }\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ConnectionController = withErrorBoundary(controller);\n//# sourceMappingURL=ConnectionController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey } from 'valtio/vanilla/utils';\n// -- State --------------------------------------------- //\nconst state = proxy({\n loading: false,\n open: false,\n selectedNetworkId: undefined,\n activeChain: undefined,\n initialized: false\n});\n// -- Controller ---------------------------------------- //\nexport const PublicStateController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeOpen(callback) {\n return subscribeKey(state, 'open', callback);\n },\n set(newState) {\n Object.assign(state, { ...state, ...newState });\n }\n};\n//# sourceMappingURL=PublicStateController.js.map","import { formatUnits } from 'viem';\nexport const ERC7811Utils = {\n /**\n * Creates a Balance object from an ERC7811 Asset object\n * @param asset - Asset object to convert\n * @param chainId - Chain ID in CAIP-2 format\n * @returns Balance object\n */\n createBalance(asset, chainId) {\n const metadata = {\n name: (asset.metadata['name'] || ''),\n symbol: (asset.metadata['symbol'] || ''),\n decimals: (asset.metadata['decimals'] || 0),\n value: (asset.metadata['value'] || 0),\n price: (asset.metadata['price'] || 0),\n iconUrl: (asset.metadata['iconUrl'] || '')\n };\n return {\n name: metadata.name,\n symbol: metadata.symbol,\n chainId,\n address: asset.address === 'native'\n ? undefined\n : this.convertAddressToCAIP10Address(asset.address, chainId),\n value: metadata.value,\n price: metadata.price,\n quantity: {\n decimals: metadata.decimals.toString(),\n numeric: this.convertHexToBalance({\n hex: asset.balance,\n decimals: metadata.decimals\n })\n },\n iconUrl: metadata.iconUrl\n };\n },\n /**\n * Converts a hex string to a Balance object\n * @param hex - Hex string to convert\n * @param decimals - Number of decimals to use\n * @returns Balance object\n */\n convertHexToBalance({ hex, decimals }) {\n return formatUnits(BigInt(hex), decimals);\n },\n /**\n * Converts an address to a CAIP-10 address\n * @param address - Address to convert\n * @param chainId - Chain ID in CAIP-2 format\n * @returns CAIP-10 address\n */\n convertAddressToCAIP10Address(address, chainId) {\n return `${chainId}:${address}`;\n },\n /**\n * Creates a CAIP-2 Chain ID from a chain ID and namespace\n * @param chainId - Chain ID in hex format\n * @param namespace - Chain namespace\n * @returns\n */\n createCAIP2ChainId(chainId, namespace) {\n return `${namespace}:${parseInt(chainId, 16)}`;\n },\n /**\n * Gets the chain ID in hex format from a CAIP-2 Chain ID\n * @param caip2ChainId - CAIP-2 Chain ID\n * @returns Chain ID in hex format\n */\n getChainIdHexFromCAIP2ChainId(caip2ChainId) {\n const parts = caip2ChainId.split(':');\n if (parts.length < 2 || !parts[1]) {\n return '0x0';\n }\n const chainPart = parts[1];\n const parsed = parseInt(chainPart, 10);\n return isNaN(parsed) ? '0x0' : `0x${parsed.toString(16)}`;\n },\n /**\n * Checks if a response is a valid WalletGetAssetsResponse\n * @param response - The response to check\n * @returns True if the response is a valid WalletGetAssetsResponse, false otherwise\n */\n isWalletGetAssetsResponse(response) {\n // Check if response is an object and has the expected structure\n if (typeof response !== 'object' || response === null) {\n return false;\n }\n // Check if all values are arrays and conform to the expected asset structure\n return Object.values(response).every(value => Array.isArray(value) && value.every(asset => this.isValidAsset(asset)));\n },\n /**\n * Checks if an asset object is valid.\n * @param asset - The asset object to check.\n * @returns True if the asset is valid, false otherwise.\n */\n isValidAsset(asset) {\n return (typeof asset === 'object' &&\n asset !== null &&\n typeof asset.address === 'string' &&\n typeof asset.balance === 'string' &&\n (asset.type === 'ERC20' || asset.type === 'NATIVE') &&\n typeof asset.metadata === 'object' &&\n asset.metadata !== null &&\n typeof asset.metadata['name'] === 'string' &&\n typeof asset.metadata['symbol'] === 'string' &&\n typeof asset.metadata['decimals'] === 'number' &&\n typeof asset.metadata['price'] === 'number' &&\n typeof asset.metadata['iconUrl'] === 'string');\n }\n};\n//# sourceMappingURL=ERC7811Util.js.map","import { AccountController } from '../controllers/AccountController.js';\nimport { BlockchainApiController } from '../controllers/BlockchainApiController.js';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { ConnectionController } from '../controllers/ConnectionController.js';\nimport { ERC7811Utils } from './ERC7811Util.js';\n// -- Controller ---------------------------------------- //\nexport const SendApiUtil = {\n async getMyTokensWithBalance(forceUpdate) {\n const address = AccountController.state.address;\n const caipNetwork = ChainController.state.activeCaipNetwork;\n if (!address || !caipNetwork) {\n return [];\n }\n // Extract EIP-155 specific logic\n if (caipNetwork.chainNamespace === 'eip155') {\n const eip155Balances = await this.getEIP155Balances(address, caipNetwork);\n if (eip155Balances) {\n return this.filterLowQualityTokens(eip155Balances);\n }\n }\n // Fallback to 1Inch API\n const response = await BlockchainApiController.getBalance(address, caipNetwork.caipNetworkId, forceUpdate);\n return this.filterLowQualityTokens(response.balances);\n },\n async getEIP155Balances(address, caipNetwork) {\n try {\n const chainIdHex = ERC7811Utils.getChainIdHexFromCAIP2ChainId(caipNetwork.caipNetworkId);\n const walletCapabilities = (await ConnectionController.getCapabilities(address));\n if (!walletCapabilities?.[chainIdHex]?.['assetDiscovery']?.supported) {\n return null;\n }\n const walletGetAssetsResponse = await ConnectionController.walletGetAssets({\n account: address,\n chainFilter: [chainIdHex]\n });\n if (!ERC7811Utils.isWalletGetAssetsResponse(walletGetAssetsResponse)) {\n return null;\n }\n const assets = walletGetAssetsResponse[chainIdHex] || [];\n return assets.map(asset => ERC7811Utils.createBalance(asset, caipNetwork.caipNetworkId));\n }\n catch (error) {\n return null;\n }\n },\n /**\n * The 1Inch API includes many low-quality tokens in the balance response,\n * which appear inconsistently. This filter prevents them from being displayed.\n */\n filterLowQualityTokens(balances) {\n return balances.filter(balance => balance.quantity.decimals !== '0');\n },\n mapBalancesToSwapTokens(balances) {\n return (balances?.map(token => ({\n ...token,\n address: token?.address\n ? token.address\n : ChainController.getActiveNetworkTokenAddress(),\n decimals: parseInt(token.quantity.decimals, 10),\n logoUri: token.iconUrl,\n eip2612: false\n })) || []);\n }\n};\n//# sourceMappingURL=SendApiUtil.js.map","import { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { NumberUtil } from '@reown/appkit-common';\nimport { ContractUtil } from '@reown/appkit-common';\nimport { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { SendApiUtil } from '../utils/SendApiUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { EventsController } from './EventsController.js';\nimport { RouterController } from './RouterController.js';\nimport { SnackController } from './SnackController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n tokenBalances: [],\n loading: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setToken(token) {\n if (token) {\n state.token = ref(token);\n }\n },\n setTokenAmount(sendTokenAmount) {\n state.sendTokenAmount = sendTokenAmount;\n },\n setReceiverAddress(receiverAddress) {\n state.receiverAddress = receiverAddress;\n },\n setReceiverProfileImageUrl(receiverProfileImageUrl) {\n state.receiverProfileImageUrl = receiverProfileImageUrl;\n },\n setReceiverProfileName(receiverProfileName) {\n state.receiverProfileName = receiverProfileName;\n },\n setNetworkBalanceInUsd(networkBalanceInUSD) {\n state.networkBalanceInUSD = networkBalanceInUSD;\n },\n setLoading(loading) {\n state.loading = loading;\n },\n async sendToken() {\n try {\n SendController.setLoading(true);\n switch (ChainController.state.activeCaipNetwork?.chainNamespace) {\n case 'eip155':\n await SendController.sendEvmToken();\n return;\n case 'solana':\n await SendController.sendSolanaToken();\n return;\n default:\n throw new Error('Unsupported chain');\n }\n }\n finally {\n SendController.setLoading(false);\n }\n },\n async sendEvmToken() {\n const activeChainNamespace = ChainController.state.activeChain;\n const activeAccountType = AccountController.state.preferredAccountTypes?.[activeChainNamespace];\n if (!SendController.state.sendTokenAmount || !SendController.state.receiverAddress) {\n throw new Error('An amount and receiver address are required');\n }\n if (!SendController.state.token) {\n throw new Error('A token is required');\n }\n if (SendController.state.token?.address) {\n EventsController.sendEvent({\n type: 'track',\n event: 'SEND_INITIATED',\n properties: {\n isSmartAccount: activeAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,\n token: SendController.state.token.address,\n amount: SendController.state.sendTokenAmount,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n await SendController.sendERC20Token({\n receiverAddress: SendController.state.receiverAddress,\n tokenAddress: SendController.state.token.address,\n sendTokenAmount: SendController.state.sendTokenAmount,\n decimals: SendController.state.token.quantity.decimals\n });\n }\n else {\n EventsController.sendEvent({\n type: 'track',\n event: 'SEND_INITIATED',\n properties: {\n isSmartAccount: activeAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,\n token: SendController.state.token.symbol || '',\n amount: SendController.state.sendTokenAmount,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n await SendController.sendNativeToken({\n receiverAddress: SendController.state.receiverAddress,\n sendTokenAmount: SendController.state.sendTokenAmount,\n decimals: SendController.state.token.quantity.decimals\n });\n }\n },\n async fetchTokenBalance(onError) {\n state.loading = true;\n const chainId = ChainController.state.activeCaipNetwork?.caipNetworkId;\n const chain = ChainController.state.activeCaipNetwork?.chainNamespace;\n const caipAddress = ChainController.state.activeCaipAddress;\n const address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n if (state.lastRetry &&\n !CoreHelperUtil.isAllowedRetry(state.lastRetry, 30 * ConstantsUtil.ONE_SEC_MS)) {\n state.loading = false;\n return [];\n }\n try {\n if (address && chainId && chain) {\n const balances = await SendApiUtil.getMyTokensWithBalance();\n state.tokenBalances = balances;\n state.lastRetry = undefined;\n return balances;\n }\n }\n catch (error) {\n state.lastRetry = Date.now();\n onError?.(error);\n SnackController.showError('Token Balance Unavailable');\n }\n finally {\n state.loading = false;\n }\n return [];\n },\n fetchNetworkBalance() {\n if (state.tokenBalances.length === 0) {\n return;\n }\n const networkTokenBalances = SendApiUtil.mapBalancesToSwapTokens(state.tokenBalances);\n if (!networkTokenBalances) {\n return;\n }\n const networkToken = networkTokenBalances.find(token => token.address === ChainController.getActiveNetworkTokenAddress());\n if (!networkToken) {\n return;\n }\n state.networkBalanceInUSD = networkToken\n ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString()\n : '0';\n },\n async sendNativeToken(params) {\n RouterController.pushTransactionStack({});\n const to = params.receiverAddress;\n const address = AccountController.state.address;\n const value = ConnectionController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));\n const data = '0x';\n await ConnectionController.sendTransaction({\n chainNamespace: 'eip155',\n to,\n address,\n data,\n value: value ?? BigInt(0)\n });\n EventsController.sendEvent({\n type: 'track',\n event: 'SEND_SUCCESS',\n properties: {\n isSmartAccount: AccountController.state.preferredAccountTypes?.['eip155'] ===\n W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,\n token: SendController.state.token?.symbol || '',\n amount: params.sendTokenAmount,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n ConnectionController._getClient()?.updateBalance('eip155');\n SendController.resetSend();\n },\n async sendERC20Token(params) {\n RouterController.pushTransactionStack({\n onSuccess() {\n RouterController.replace('Account');\n }\n });\n const amount = ConnectionController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));\n if (AccountController.state.address &&\n params.sendTokenAmount &&\n params.receiverAddress &&\n params.tokenAddress) {\n const tokenAddress = CoreHelperUtil.getPlainAddress(params.tokenAddress);\n await ConnectionController.writeContract({\n fromAddress: AccountController.state.address,\n tokenAddress,\n args: [params.receiverAddress, amount ?? BigInt(0)],\n method: 'transfer',\n abi: ContractUtil.getERC20Abi(tokenAddress),\n chainNamespace: 'eip155'\n });\n SendController.resetSend();\n }\n },\n async sendSolanaToken() {\n if (!SendController.state.sendTokenAmount || !SendController.state.receiverAddress) {\n throw new Error('An amount and receiver address are required');\n }\n RouterController.pushTransactionStack({\n onSuccess() {\n RouterController.replace('Account');\n }\n });\n await ConnectionController.sendTransaction({\n chainNamespace: 'solana',\n to: SendController.state.receiverAddress,\n value: SendController.state.sendTokenAmount\n });\n ConnectionController._getClient()?.updateBalance('solana');\n SendController.resetSend();\n },\n resetSend() {\n state.token = undefined;\n state.sendTokenAmount = undefined;\n state.receiverAddress = undefined;\n state.receiverProfileImageUrl = undefined;\n state.receiverProfileName = undefined;\n state.loading = false;\n state.tokenBalances = [];\n }\n};\n// Export the controller wrapped with our error boundary\nexport const SendController = withErrorBoundary(controller);\n//# sourceMappingURL=SendController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { proxyMap, subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil as CommonConstantsUtil, NetworkUtil } from '@reown/appkit-common';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { ModalController } from './ModalController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { PublicStateController } from './PublicStateController.js';\nimport { RouterController } from './RouterController.js';\nimport { SendController } from './SendController.js';\n// -- Constants ----------------------------------------- //\nconst accountState = {\n currentTab: 0,\n tokenBalance: [],\n smartAccountDeployed: false,\n addressLabels: new Map(),\n allAccounts: [],\n user: undefined\n};\nconst networkState = {\n caipNetwork: undefined,\n supportsAllNetworks: true,\n smartAccountEnabledNetworks: []\n};\n// -- State --------------------------------------------- //\nconst state = proxy({\n chains: proxyMap(),\n activeCaipAddress: undefined,\n activeChain: undefined,\n activeCaipNetwork: undefined,\n noAdapters: false,\n universalAdapter: {\n networkControllerClient: undefined,\n connectionControllerClient: undefined\n },\n isSwitchingNamespace: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => {\n callback(state);\n });\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribeChainProp(property, callback, chain) {\n let prev = undefined;\n return sub(state.chains, () => {\n const activeChain = chain || state.activeChain;\n if (activeChain) {\n const nextValue = state.chains.get(activeChain)?.[property];\n if (prev !== nextValue) {\n prev = nextValue;\n callback(nextValue);\n }\n }\n });\n },\n initialize(adapters, caipNetworks, clients) {\n const { chainId: activeChainId, namespace: activeNamespace } = StorageUtil.getActiveNetworkProps();\n const activeCaipNetwork = caipNetworks?.find(network => network.id.toString() === activeChainId?.toString());\n const defaultAdapter = adapters.find(adapter => adapter?.namespace === activeNamespace);\n const adapterToActivate = defaultAdapter || adapters?.[0];\n const namespacesFromAdapters = adapters.map(a => a.namespace).filter(n => n !== undefined);\n /**\n * If the AppKit is in embedded mode (for Demo app), we should get the available namespaces from the adapters.\n */\n const namespaces = OptionsController.state.enableEmbedded\n ? new Set([...namespacesFromAdapters])\n : new Set([...(caipNetworks?.map(network => network.chainNamespace) ?? [])]);\n if (adapters?.length === 0 || !adapterToActivate) {\n state.noAdapters = true;\n }\n if (!state.noAdapters) {\n state.activeChain = adapterToActivate?.namespace;\n state.activeCaipNetwork = activeCaipNetwork;\n ChainController.setChainNetworkData(adapterToActivate?.namespace, {\n caipNetwork: activeCaipNetwork\n });\n if (state.activeChain) {\n PublicStateController.set({ activeChain: adapterToActivate?.namespace });\n }\n }\n namespaces.forEach(namespace => {\n const namespaceNetworks = caipNetworks?.filter(network => network.chainNamespace === namespace);\n ChainController.state.chains.set(namespace, {\n namespace,\n networkState: proxy({\n ...networkState,\n caipNetwork: namespaceNetworks?.[0]\n }),\n accountState: proxy(accountState),\n caipNetworks: namespaceNetworks ?? [],\n ...clients\n });\n ChainController.setRequestedCaipNetworks(namespaceNetworks ?? [], namespace);\n });\n },\n removeAdapter(namespace) {\n if (state.activeChain === namespace) {\n const nextAdapter = Array.from(state.chains.entries()).find(([chainNamespace]) => chainNamespace !== namespace);\n if (nextAdapter) {\n const caipNetwork = nextAdapter[1]?.caipNetworks?.[0];\n if (caipNetwork) {\n ChainController.setActiveCaipNetwork(caipNetwork);\n }\n }\n }\n state.chains.delete(namespace);\n },\n addAdapter(adapter, { networkControllerClient, connectionControllerClient }, caipNetworks) {\n state.chains.set(adapter.namespace, {\n namespace: adapter.namespace,\n networkState: {\n ...networkState,\n caipNetwork: caipNetworks[0]\n },\n accountState,\n caipNetworks,\n connectionControllerClient,\n networkControllerClient\n });\n ChainController.setRequestedCaipNetworks(caipNetworks?.filter(caipNetwork => caipNetwork.chainNamespace === adapter.namespace) ?? [], adapter.namespace);\n },\n addNetwork(network) {\n const chainAdapter = state.chains.get(network.chainNamespace);\n if (chainAdapter) {\n const newNetworks = [...(chainAdapter.caipNetworks || [])];\n if (!chainAdapter.caipNetworks?.find(caipNetwork => caipNetwork.id === network.id)) {\n newNetworks.push(network);\n }\n state.chains.set(network.chainNamespace, { ...chainAdapter, caipNetworks: newNetworks });\n ChainController.setRequestedCaipNetworks(newNetworks, network.chainNamespace);\n ConnectorController.filterByNamespace(network.chainNamespace, true);\n }\n },\n removeNetwork(namespace, networkId) {\n const chainAdapter = state.chains.get(namespace);\n if (chainAdapter) {\n // Check if network being removed is active network\n const isActiveNetwork = state.activeCaipNetwork?.id === networkId;\n // Filter out the network being removed\n const newCaipNetworksOfAdapter = [\n ...(chainAdapter.caipNetworks?.filter(network => network.id !== networkId) || [])\n ];\n // If active network was removed and there are other networks available, switch to first one\n if (isActiveNetwork && chainAdapter?.caipNetworks?.[0]) {\n ChainController.setActiveCaipNetwork(chainAdapter.caipNetworks[0]);\n }\n state.chains.set(namespace, { ...chainAdapter, caipNetworks: newCaipNetworksOfAdapter });\n ChainController.setRequestedCaipNetworks(newCaipNetworksOfAdapter || [], namespace);\n if (newCaipNetworksOfAdapter.length === 0) {\n ConnectorController.filterByNamespace(namespace, false);\n }\n }\n },\n setAdapterNetworkState(chain, props) {\n const chainAdapter = state.chains.get(chain);\n if (chainAdapter) {\n chainAdapter.networkState = {\n ...(chainAdapter.networkState || networkState),\n ...props\n };\n state.chains.set(chain, chainAdapter);\n }\n },\n setChainAccountData(chain, accountProps, _unknown = true) {\n if (!chain) {\n throw new Error('Chain is required to update chain account data');\n }\n const chainAdapter = state.chains.get(chain);\n if (chainAdapter) {\n const newAccountState = { ...(chainAdapter.accountState || accountState), ...accountProps };\n state.chains.set(chain, { ...chainAdapter, accountState: newAccountState });\n if (state.chains.size === 1 || state.activeChain === chain) {\n if (accountProps.caipAddress) {\n state.activeCaipAddress = accountProps.caipAddress;\n }\n AccountController.replaceState(newAccountState);\n }\n }\n },\n setChainNetworkData(chain, networkProps) {\n if (!chain) {\n return;\n }\n const chainAdapter = state.chains.get(chain);\n if (chainAdapter) {\n const newNetworkState = { ...(chainAdapter.networkState || networkState), ...networkProps };\n state.chains.set(chain, { ...chainAdapter, networkState: newNetworkState });\n }\n },\n // eslint-disable-next-line max-params\n setAccountProp(prop, value, chain, replaceState = true) {\n ChainController.setChainAccountData(chain, { [prop]: value }, replaceState);\n if (prop === 'status' && value === 'disconnected' && chain) {\n ConnectorController.removeConnectorId(chain);\n }\n },\n setActiveNamespace(chain) {\n state.activeChain = chain;\n const newAdapter = chain ? state.chains.get(chain) : undefined;\n const caipNetwork = newAdapter?.networkState?.caipNetwork;\n if (caipNetwork?.id && chain) {\n state.activeCaipAddress = newAdapter?.accountState?.caipAddress;\n state.activeCaipNetwork = caipNetwork;\n ChainController.setChainNetworkData(chain, { caipNetwork });\n StorageUtil.setActiveCaipNetworkId(caipNetwork?.caipNetworkId);\n PublicStateController.set({\n activeChain: chain,\n selectedNetworkId: caipNetwork?.caipNetworkId\n });\n }\n },\n setActiveCaipNetwork(caipNetwork) {\n if (!caipNetwork) {\n return;\n }\n if (state.activeChain !== caipNetwork.chainNamespace) {\n ChainController.setIsSwitchingNamespace(true);\n }\n const newAdapter = state.chains.get(caipNetwork.chainNamespace);\n state.activeChain = caipNetwork.chainNamespace;\n state.activeCaipNetwork = caipNetwork;\n ChainController.setChainNetworkData(caipNetwork.chainNamespace, { caipNetwork });\n if (newAdapter?.accountState?.address) {\n state.activeCaipAddress = `${caipNetwork.chainNamespace}:${caipNetwork.id}:${newAdapter?.accountState?.address}`;\n }\n else {\n state.activeCaipAddress = undefined;\n }\n // Update the chain's account state with the new caip address value\n ChainController.setAccountProp('caipAddress', state.activeCaipAddress, caipNetwork.chainNamespace);\n if (newAdapter) {\n AccountController.replaceState(newAdapter.accountState);\n }\n // Reset send state when switching networks\n SendController.resetSend();\n PublicStateController.set({\n activeChain: state.activeChain,\n selectedNetworkId: state.activeCaipNetwork?.caipNetworkId\n });\n StorageUtil.setActiveCaipNetworkId(caipNetwork.caipNetworkId);\n const isSupported = ChainController.checkIfSupportedNetwork(caipNetwork.chainNamespace);\n if (!isSupported &&\n OptionsController.state.enableNetworkSwitch &&\n !OptionsController.state.allowUnsupportedChain &&\n !ConnectionController.state.wcBasic) {\n ChainController.showUnsupportedChainUI();\n }\n },\n addCaipNetwork(caipNetwork) {\n if (!caipNetwork) {\n return;\n }\n const chain = state.chains.get(caipNetwork.chainNamespace);\n if (chain) {\n chain?.caipNetworks?.push(caipNetwork);\n }\n },\n async switchActiveNamespace(namespace) {\n if (!namespace) {\n return;\n }\n const isDifferentChain = namespace !== ChainController.state.activeChain;\n const caipNetworkOfNamespace = ChainController.getNetworkData(namespace)?.caipNetwork;\n const firstNetworkWithChain = ChainController.getCaipNetworkByNamespace(namespace, caipNetworkOfNamespace?.id);\n if (isDifferentChain && firstNetworkWithChain) {\n await ChainController.switchActiveNetwork(firstNetworkWithChain);\n }\n },\n async switchActiveNetwork(network) {\n const activeAdapter = ChainController.state.chains.get(ChainController.state.activeChain);\n const unsupportedNetwork = !activeAdapter?.caipNetworks?.some(caipNetwork => caipNetwork.id === state.activeCaipNetwork?.id);\n const networkControllerClient = ChainController.getNetworkControllerClient(network.chainNamespace);\n if (networkControllerClient) {\n try {\n await networkControllerClient.switchCaipNetwork(network);\n if (unsupportedNetwork) {\n ModalController.close();\n }\n }\n catch (error) {\n RouterController.goBack();\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SWITCH_NETWORK',\n properties: { network: network.caipNetworkId }\n });\n }\n },\n getNetworkControllerClient(chainNamespace) {\n const chain = chainNamespace || state.activeChain;\n const chainAdapter = state.chains.get(chain);\n if (!chainAdapter) {\n throw new Error('Chain adapter not found');\n }\n if (!chainAdapter.networkControllerClient) {\n throw new Error('NetworkController client not set');\n }\n return chainAdapter.networkControllerClient;\n },\n getConnectionControllerClient(_chain) {\n const chain = _chain || state.activeChain;\n if (!chain) {\n throw new Error('Chain is required to get connection controller client');\n }\n const chainAdapter = state.chains.get(chain);\n if (!chainAdapter?.connectionControllerClient) {\n throw new Error('ConnectionController client not set');\n }\n return chainAdapter.connectionControllerClient;\n },\n getAccountProp(key, _chain) {\n let chain = state.activeChain;\n if (_chain) {\n chain = _chain;\n }\n if (!chain) {\n return undefined;\n }\n const chainAccountState = state.chains.get(chain)?.accountState;\n if (!chainAccountState) {\n return undefined;\n }\n return chainAccountState[key];\n },\n getNetworkProp(key, namespace) {\n const chainNetworkState = state.chains.get(namespace)?.networkState;\n if (!chainNetworkState) {\n return undefined;\n }\n return chainNetworkState[key];\n },\n getRequestedCaipNetworks(chainToFilter) {\n const adapter = state.chains.get(chainToFilter);\n const { approvedCaipNetworkIds = [], requestedCaipNetworks = [] } = adapter?.networkState || {};\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n return sortedNetworks;\n },\n getAllRequestedCaipNetworks() {\n const requestedCaipNetworks = [];\n state.chains.forEach(chainAdapter => {\n const caipNetworks = ChainController.getRequestedCaipNetworks(chainAdapter.namespace);\n requestedCaipNetworks.push(...caipNetworks);\n });\n return requestedCaipNetworks;\n },\n setRequestedCaipNetworks(caipNetworks, chain) {\n ChainController.setAdapterNetworkState(chain, { requestedCaipNetworks: caipNetworks });\n const allRequestedCaipNetworks = ChainController.getAllRequestedCaipNetworks();\n const namespaces = allRequestedCaipNetworks.map(network => network.chainNamespace);\n const uniqueNamespaces = Array.from(new Set(namespaces));\n ConnectorController.filterByNamespaces(uniqueNamespaces);\n },\n getAllApprovedCaipNetworkIds() {\n const approvedCaipNetworkIds = [];\n state.chains.forEach(chainAdapter => {\n const approvedIds = ChainController.getApprovedCaipNetworkIds(chainAdapter.namespace);\n approvedCaipNetworkIds.push(...approvedIds);\n });\n return approvedCaipNetworkIds;\n },\n getActiveCaipNetwork() {\n return state.activeCaipNetwork;\n },\n getActiveCaipAddress() {\n return state.activeCaipAddress;\n },\n getApprovedCaipNetworkIds(namespace) {\n const adapter = state.chains.get(namespace);\n const approvedCaipNetworkIds = adapter?.networkState?.approvedCaipNetworkIds || [];\n return approvedCaipNetworkIds;\n },\n async setApprovedCaipNetworksData(namespace) {\n const networkControllerClient = ChainController.getNetworkControllerClient();\n const data = await networkControllerClient?.getApprovedCaipNetworksData();\n ChainController.setAdapterNetworkState(namespace, {\n approvedCaipNetworkIds: data?.approvedCaipNetworkIds,\n supportsAllNetworks: data?.supportsAllNetworks\n });\n },\n checkIfSupportedNetwork(namespace, caipNetwork) {\n const activeCaipNetwork = caipNetwork || state.activeCaipNetwork;\n const requestedCaipNetworks = ChainController.getRequestedCaipNetworks(namespace);\n if (!requestedCaipNetworks.length) {\n return true;\n }\n return requestedCaipNetworks?.some(network => network.id === activeCaipNetwork?.id);\n },\n checkIfSupportedChainId(chainId) {\n if (!state.activeChain) {\n return true;\n }\n const requestedCaipNetworks = ChainController.getRequestedCaipNetworks(state.activeChain);\n return requestedCaipNetworks?.some(network => network.id === chainId);\n },\n // Smart Account Network Handlers\n setSmartAccountEnabledNetworks(smartAccountEnabledNetworks, chain) {\n ChainController.setAdapterNetworkState(chain, { smartAccountEnabledNetworks });\n },\n checkIfSmartAccountEnabled() {\n const networkId = NetworkUtil.caipNetworkIdToNumber(state.activeCaipNetwork?.caipNetworkId);\n const activeChain = state.activeChain;\n if (!activeChain || !networkId) {\n return false;\n }\n const smartAccountEnabledNetworks = ChainController.getNetworkProp('smartAccountEnabledNetworks', activeChain);\n return Boolean(smartAccountEnabledNetworks?.includes(Number(networkId)));\n },\n getActiveNetworkTokenAddress() {\n const namespace = state.activeCaipNetwork?.chainNamespace || 'eip155';\n const chainId = state.activeCaipNetwork?.id || 1;\n const address = ConstantsUtil.NATIVE_TOKEN_ADDRESS[namespace];\n return `${namespace}:${chainId}:${address}`;\n },\n showUnsupportedChainUI() {\n ModalController.open({ view: 'UnsupportedChain' });\n },\n checkIfNamesSupported() {\n const activeCaipNetwork = state.activeCaipNetwork;\n return Boolean(activeCaipNetwork?.chainNamespace &&\n ConstantsUtil.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(activeCaipNetwork.chainNamespace));\n },\n resetNetwork(namespace) {\n ChainController.setAdapterNetworkState(namespace, {\n approvedCaipNetworkIds: undefined,\n supportsAllNetworks: true,\n smartAccountEnabledNetworks: []\n });\n },\n resetAccount(chain) {\n const chainToWrite = chain;\n if (!chainToWrite) {\n throw new Error('Chain is required to set account prop');\n }\n state.activeCaipAddress = undefined;\n ChainController.setChainAccountData(chainToWrite, {\n smartAccountDeployed: false,\n currentTab: 0,\n caipAddress: undefined,\n address: undefined,\n balance: undefined,\n balanceSymbol: undefined,\n profileName: undefined,\n profileImage: undefined,\n addressExplorerUrl: undefined,\n tokenBalance: [],\n connectedWalletInfo: undefined,\n preferredAccountTypes: undefined,\n socialProvider: undefined,\n socialWindow: undefined,\n farcasterUrl: undefined,\n allAccounts: [],\n user: undefined,\n status: 'disconnected'\n });\n ConnectorController.removeConnectorId(chainToWrite);\n },\n setIsSwitchingNamespace(isSwitchingNamespace) {\n state.isSwitchingNamespace = isSwitchingNamespace;\n },\n getFirstCaipNetworkSupportsAuthConnector() {\n const availableChains = [];\n let firstCaipNetwork = undefined;\n state.chains.forEach(chain => {\n if (CommonConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(ns => ns === chain.namespace)) {\n if (chain.namespace) {\n availableChains.push(chain.namespace);\n }\n }\n });\n if (availableChains.length > 0) {\n const firstAvailableChain = availableChains[0];\n firstCaipNetwork = firstAvailableChain\n ? state.chains.get(firstAvailableChain)?.caipNetworks?.[0]\n : undefined;\n return firstCaipNetwork;\n }\n return undefined;\n },\n getAccountData(chainNamespace) {\n if (!chainNamespace) {\n return AccountController.state;\n }\n return ChainController.state.chains.get(chainNamespace)?.accountState;\n },\n getNetworkData(chainNamespace) {\n const namespace = chainNamespace || state.activeChain;\n if (!namespace) {\n return undefined;\n }\n return ChainController.state.chains.get(namespace)?.networkState;\n },\n getCaipNetworkByNamespace(chainNamespace, chainId) {\n if (!chainNamespace) {\n return undefined;\n }\n const chain = ChainController.state.chains.get(chainNamespace);\n const byChainId = chain?.caipNetworks?.find(network => network.id === chainId);\n if (byChainId) {\n return byChainId;\n }\n return chain?.networkState?.caipNetwork || chain?.caipNetworks?.[0];\n },\n /**\n * Get the requested CaipNetwork IDs for a given namespace. If namespace is not provided, all requested CaipNetwork IDs will be returned\n * @param namespace - The namespace to get the requested CaipNetwork IDs for\n * @returns The requested CaipNetwork IDs\n */\n getRequestedCaipNetworkIds() {\n const namespace = ConnectorController.state.filterByNamespace;\n const chains = namespace ? [state.chains.get(namespace)] : Array.from(state.chains.values());\n return chains\n .flatMap(chain => chain?.caipNetworks || [])\n .map(caipNetwork => caipNetwork.caipNetworkId);\n },\n getCaipNetworks(namespace) {\n if (namespace) {\n return ChainController.getRequestedCaipNetworks(namespace);\n }\n return ChainController.getAllRequestedCaipNetworks();\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ChainController = withErrorBoundary(controller);\n//# sourceMappingURL=ChainController.js.map","import { proxy } from 'valtio/vanilla';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { SnackController } from './SnackController.js';\nconst DEFAULT_OPTIONS = {\n purchaseCurrencies: [\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n },\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'Ether',\n symbol: 'ETH',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n }\n ],\n paymentCurrencies: [\n {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n },\n {\n id: 'EUR',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n }\n ]\n};\n// -- Helpers ------------------------------------------- //\nconst baseUrl = CoreHelperUtil.getBlockchainApiUrl();\n// -- State --------------------------------------------- //\nconst state = proxy({\n clientId: null,\n api: new FetchUtil({ baseUrl, clientId: null }),\n supportedChains: { http: [], ws: [] }\n});\n// -- Controller ---------------------------------------- //\nexport const BlockchainApiController = {\n state,\n async get(request) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const projectId = OptionsController.state.projectId;\n const params = {\n ...(request.params || {}),\n st,\n sv,\n projectId\n };\n return state.api.get({\n ...request,\n params\n });\n },\n getSdkProperties() {\n const { sdkType, sdkVersion } = OptionsController.state;\n return {\n st: sdkType || 'unknown',\n sv: sdkVersion || 'unknown'\n };\n },\n async isNetworkSupported(networkId) {\n if (!networkId) {\n return false;\n }\n try {\n if (!state.supportedChains.http.length) {\n await BlockchainApiController.getSupportedNetworks();\n }\n }\n catch (e) {\n return false;\n }\n return state.supportedChains.http.includes(networkId);\n },\n async getSupportedNetworks() {\n try {\n const supportedChains = await BlockchainApiController.get({\n path: 'v1/supported-chains'\n });\n state.supportedChains = supportedChains;\n return supportedChains;\n }\n catch {\n return state.supportedChains;\n }\n },\n async fetchIdentity({ address, caipNetworkId }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(caipNetworkId);\n if (!isSupported) {\n return { avatar: '', name: '' };\n }\n const identityCache = StorageUtil.getIdentityFromCacheForAddress(address);\n if (identityCache) {\n return identityCache;\n }\n const result = await BlockchainApiController.get({\n path: `/v1/identity/${address}`,\n params: {\n sender: ChainController.state.activeCaipAddress\n ? CoreHelperUtil.getPlainAddress(ChainController.state.activeCaipAddress)\n : undefined\n }\n });\n StorageUtil.updateIdentityCache({\n address,\n identity: result,\n timestamp: Date.now()\n });\n return result;\n },\n async fetchTransactions({ account, cursor, onramp, signal, cache, chainId }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { data: [], next: undefined };\n }\n return BlockchainApiController.get({\n path: `/v1/account/${account}/history`,\n params: {\n cursor,\n onramp,\n chainId\n },\n signal,\n cache\n });\n },\n async fetchSwapQuote({ amount, userAddress, from, to, gasPrice }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { quotes: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/convert/quotes`,\n headers: {\n 'Content-Type': 'application/json'\n },\n params: {\n amount,\n userAddress,\n from,\n to,\n gasPrice\n }\n });\n },\n async fetchSwapTokens({ chainId }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { tokens: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/convert/tokens`,\n params: { chainId }\n });\n },\n async fetchTokenPrice({ addresses }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { fungibles: [] };\n }\n return state.api.post({\n path: '/v1/fungible/price',\n body: {\n currency: 'usd',\n addresses,\n projectId: OptionsController.state.projectId\n },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n async fetchSwapAllowance({ tokenAddress, userAddress }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { allowance: '0' };\n }\n return BlockchainApiController.get({\n path: `/v1/convert/allowance`,\n params: {\n tokenAddress,\n userAddress\n },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n async fetchGasPrice({ chainId }) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n throw new Error('Network not supported for Gas Price');\n }\n return BlockchainApiController.get({\n path: `/v1/convert/gas-price`,\n headers: {\n 'Content-Type': 'application/json'\n },\n params: {\n chainId,\n st,\n sv\n }\n });\n },\n async generateSwapCalldata({ amount, from, to, userAddress, disableEstimate }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n throw new Error('Network not supported for Swaps');\n }\n return state.api.post({\n path: '/v1/convert/build-transaction',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: {\n amount,\n eip155: {\n slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE\n },\n projectId: OptionsController.state.projectId,\n from,\n to,\n userAddress,\n disableEstimate\n }\n });\n },\n async generateApproveCalldata({ from, to, userAddress }) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n throw new Error('Network not supported for Swaps');\n }\n return BlockchainApiController.get({\n path: `/v1/convert/build-approve`,\n headers: {\n 'Content-Type': 'application/json'\n },\n params: {\n userAddress,\n from,\n to,\n st,\n sv\n }\n });\n },\n async getBalance(address, chainId, forceUpdate) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n SnackController.showError('Token Balance Unavailable');\n return { balances: [] };\n }\n const caipAddress = `${chainId}:${address}`;\n const cachedBalance = StorageUtil.getBalanceCacheForCaipAddress(caipAddress);\n if (cachedBalance) {\n return cachedBalance;\n }\n const balance = await BlockchainApiController.get({\n path: `/v1/account/${address}/balance`,\n params: {\n currency: 'usd',\n chainId,\n forceUpdate,\n st,\n sv\n }\n });\n StorageUtil.updateBalanceCache({\n caipAddress,\n balance,\n timestamp: Date.now()\n });\n return balance;\n },\n async lookupEnsName(name) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { addresses: {}, attributes: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/profile/account/${name}`,\n params: { apiVersion: '2' }\n });\n },\n async reverseLookupEnsName({ address }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return [];\n }\n return BlockchainApiController.get({\n path: `/v1/profile/reverse/${address}`,\n params: {\n sender: AccountController.state.address,\n apiVersion: '2'\n }\n });\n },\n async getEnsNameSuggestions(name) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { suggestions: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/profile/suggestions/${name}`,\n params: { zone: 'reown.id' }\n });\n },\n async registerEnsName({ coinType, address, message, signature }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { success: false };\n }\n return state.api.post({\n path: `/v1/profile/account`,\n body: { coin_type: coinType, address, message, signature },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n async generateOnRampURL({ destinationWallets, partnerUserId, defaultNetwork, purchaseAmount, paymentAmount }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return '';\n }\n const response = await state.api.post({\n path: `/v1/generators/onrampurl`,\n params: {\n projectId: OptionsController.state.projectId\n },\n body: {\n destinationWallets,\n defaultNetwork,\n partnerUserId,\n defaultExperience: 'buy',\n presetCryptoAmount: purchaseAmount,\n presetFiatAmount: paymentAmount\n }\n });\n return response.url;\n },\n async getOnrampOptions() {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { paymentCurrencies: [], purchaseCurrencies: [] };\n }\n try {\n const response = await BlockchainApiController.get({\n path: `/v1/onramp/options`\n });\n return response;\n }\n catch (e) {\n return DEFAULT_OPTIONS;\n }\n },\n async getOnrampQuote({ purchaseCurrency, paymentCurrency, amount, network }) {\n try {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return null;\n }\n const response = await state.api.post({\n path: `/v1/onramp/quote`,\n params: {\n projectId: OptionsController.state.projectId\n },\n body: {\n purchaseCurrency,\n paymentCurrency,\n amount,\n network\n }\n });\n return response;\n }\n catch (e) {\n // Mocking response as 1:1 until endpoint is ready\n return {\n coinbaseFee: { amount, currency: paymentCurrency.id },\n networkFee: { amount, currency: paymentCurrency.id },\n paymentSubtotal: { amount, currency: paymentCurrency.id },\n paymentTotal: { amount, currency: paymentCurrency.id },\n purchaseAmount: { amount, currency: paymentCurrency.id },\n quoteId: 'mocked-quote-id'\n };\n }\n },\n async getSmartSessions(caipAddress) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return [];\n }\n return BlockchainApiController.get({\n path: `/v1/sessions/${caipAddress}`\n });\n },\n async revokeSmartSession(address, pci, signature) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { success: false };\n }\n return state.api.post({\n path: `/v1/sessions/${address}/revoke`,\n params: {\n projectId: OptionsController.state.projectId\n },\n body: {\n pci,\n signature\n }\n });\n },\n setClientId(clientId) {\n state.clientId = clientId;\n state.api = new FetchUtil({ baseUrl, clientId });\n }\n};\n//# sourceMappingURL=BlockchainApiController.js.map","import { proxy, ref } from 'valtio/vanilla';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { SnackController } from './SnackController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n currentTab: 0,\n tokenBalance: [],\n smartAccountDeployed: false,\n addressLabels: new Map(),\n allAccounts: []\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n replaceState(newState) {\n if (!newState) {\n return;\n }\n Object.assign(state, ref(newState));\n },\n subscribe(callback) {\n return ChainController.subscribeChainProp('accountState', accountState => {\n if (accountState) {\n return callback(accountState);\n }\n return undefined;\n });\n },\n subscribeKey(property, callback, chain) {\n let prev = undefined;\n return ChainController.subscribeChainProp('accountState', accountState => {\n if (accountState) {\n const nextValue = accountState[property];\n if (prev !== nextValue) {\n prev = nextValue;\n callback(nextValue);\n }\n }\n }, chain);\n },\n setStatus(status, chain) {\n ChainController.setAccountProp('status', status, chain);\n },\n getCaipAddress(chain) {\n return ChainController.getAccountProp('caipAddress', chain);\n },\n setCaipAddress(caipAddress, chain) {\n const newAddress = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n if (chain === ChainController.state.activeChain) {\n ChainController.state.activeCaipAddress = caipAddress;\n }\n ChainController.setAccountProp('caipAddress', caipAddress, chain);\n ChainController.setAccountProp('address', newAddress, chain);\n },\n setBalance(balance, balanceSymbol, chain) {\n ChainController.setAccountProp('balance', balance, chain);\n ChainController.setAccountProp('balanceSymbol', balanceSymbol, chain);\n },\n setProfileName(profileName, chain) {\n ChainController.setAccountProp('profileName', profileName, chain);\n },\n setProfileImage(profileImage, chain) {\n ChainController.setAccountProp('profileImage', profileImage, chain);\n },\n setUser(user, chain) {\n ChainController.setAccountProp('user', user, chain);\n },\n setAddressExplorerUrl(explorerUrl, chain) {\n ChainController.setAccountProp('addressExplorerUrl', explorerUrl, chain);\n },\n setSmartAccountDeployed(isDeployed, chain) {\n ChainController.setAccountProp('smartAccountDeployed', isDeployed, chain);\n },\n setCurrentTab(currentTab) {\n ChainController.setAccountProp('currentTab', currentTab, ChainController.state.activeChain);\n },\n setTokenBalance(tokenBalance, chain) {\n if (tokenBalance) {\n ChainController.setAccountProp('tokenBalance', tokenBalance, chain);\n }\n },\n setShouldUpdateToAddress(address, chain) {\n ChainController.setAccountProp('shouldUpdateToAddress', address, chain);\n },\n setAllAccounts(accounts, namespace) {\n ChainController.setAccountProp('allAccounts', accounts, namespace);\n },\n addAddressLabel(address, label, chain) {\n const map = ChainController.getAccountProp('addressLabels', chain) || new Map();\n map.set(address, label);\n ChainController.setAccountProp('addressLabels', map, chain);\n },\n removeAddressLabel(address, chain) {\n const map = ChainController.getAccountProp('addressLabels', chain) || new Map();\n map.delete(address);\n ChainController.setAccountProp('addressLabels', map, chain);\n },\n setConnectedWalletInfo(connectedWalletInfo, chain) {\n ChainController.setAccountProp('connectedWalletInfo', connectedWalletInfo, chain, false);\n },\n setPreferredAccountType(preferredAccountType, chain) {\n ChainController.setAccountProp('preferredAccountTypes', {\n ...state.preferredAccountTypes,\n [chain]: preferredAccountType\n }, chain);\n },\n setPreferredAccountTypes(preferredAccountTypes) {\n state.preferredAccountTypes = preferredAccountTypes;\n },\n setSocialProvider(socialProvider, chain) {\n if (socialProvider) {\n ChainController.setAccountProp('socialProvider', socialProvider, chain);\n }\n },\n setSocialWindow(socialWindow, chain) {\n ChainController.setAccountProp('socialWindow', socialWindow ? ref(socialWindow) : undefined, chain);\n },\n setFarcasterUrl(farcasterUrl, chain) {\n ChainController.setAccountProp('farcasterUrl', farcasterUrl, chain);\n },\n async fetchTokenBalance(onError) {\n state.balanceLoading = true;\n const chainId = ChainController.state.activeCaipNetwork?.caipNetworkId;\n const chain = ChainController.state.activeCaipNetwork?.chainNamespace;\n const caipAddress = ChainController.state.activeCaipAddress;\n const address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n if (state.lastRetry &&\n !CoreHelperUtil.isAllowedRetry(state.lastRetry, 30 * ConstantsUtil.ONE_SEC_MS)) {\n state.balanceLoading = false;\n return [];\n }\n try {\n if (address && chainId && chain) {\n const response = await BlockchainApiController.getBalance(address, chainId);\n /*\n * The 1Inch API includes many low-quality tokens in the balance response,\n * which appear inconsistently. This filter prevents them from being displayed.\n */\n const filteredBalances = response.balances.filter(balance => balance.quantity.decimals !== '0');\n AccountController.setTokenBalance(filteredBalances, chain);\n state.lastRetry = undefined;\n state.balanceLoading = false;\n return filteredBalances;\n }\n }\n catch (error) {\n state.lastRetry = Date.now();\n onError?.(error);\n SnackController.showError('Token Balance Unavailable');\n }\n finally {\n state.balanceLoading = false;\n }\n return [];\n },\n resetAccount(chain) {\n ChainController.resetAccount(chain);\n }\n};\nexport const AccountController = withErrorBoundary(controller);\n//# sourceMappingURL=AccountController.js.map","import { ConstantsUtil } from '@reown/appkit-common';\nimport { AccountController } from '../controllers/AccountController.js';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { ConnectorController } from '../controllers/ConnectorController.js';\nimport { RouterController } from '../controllers/RouterController.js';\nexport const NetworkUtil = {\n /**\n * Function to handle the network switch.\n * This function has variety of conditions to handle the network switch depending on the connectors or namespace's connection states.\n * @param args.network - The network to switch to.\n * @param args.shouldConfirmSwitch - Whether to confirm the switch. If true, the user will be asked to confirm the switch if necessary.\n * @returns void\n */\n onSwitchNetwork({ network, ignoreSwitchConfirmation = false }) {\n const currentNetwork = ChainController.state.activeCaipNetwork;\n const routerData = RouterController.state.data;\n const isSameNetwork = network.id === currentNetwork?.id;\n if (isSameNetwork) {\n return;\n }\n const isCurrentNamespaceConnected = AccountController.getCaipAddress(ChainController.state.activeChain);\n const isDifferentNamespace = network.chainNamespace !== ChainController.state.activeChain;\n const isNextNamespaceConnected = AccountController.getCaipAddress(network.chainNamespace);\n const connectorId = ConnectorController.getConnectorId(ChainController.state.activeChain);\n /**\n * If the network is supported by the auth connector, we don't need to show switch active chain view.\n * But there are some cases like switching from Ethereum to Bitcoin where Bitcoin is not supported by the auth connector and users should connect with another connector.\n */\n const isConnectedWithAuth = connectorId === ConstantsUtil.CONNECTOR_ID.AUTH;\n const isSupportedForAuthConnector = ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(c => c === network.chainNamespace);\n /**\n * 1. If the ignoreSwitchConfirmation is set to true, we should switch to the network,\n * 2. If user connected with auth connector and the next network is supported by the auth connector,\n * we should switch to the network without confirmation screen.\n */\n if (ignoreSwitchConfirmation || (isConnectedWithAuth && isSupportedForAuthConnector)) {\n RouterController.push('SwitchNetwork', { ...routerData, network });\n }\n else if (\n /**\n * If user switching to a different namespace and next namespace is not connected, we need to show switch active chain view for confirmation first.\n */\n isCurrentNamespaceConnected &&\n isDifferentNamespace &&\n !isNextNamespaceConnected) {\n RouterController.push('SwitchActiveChain', {\n switchToChain: network.chainNamespace,\n navigateTo: 'Connect',\n navigateWithReplace: true,\n network\n });\n }\n else {\n RouterController.push('SwitchNetwork', { ...routerData, network });\n }\n }\n};\n//# sourceMappingURL=NetworkUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport {} from '@reown/appkit-common';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { NetworkUtil } from '../utils/NetworkUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ApiController } from './ApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { PublicStateController } from './PublicStateController.js';\nimport { RouterController } from './RouterController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n loading: false,\n loadingNamespaceMap: new Map(),\n open: false,\n shake: false,\n namespace: undefined\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async open(options) {\n const isConnected = AccountController.state.status === 'connected';\n const namespace = options?.namespace;\n const currentNamespace = ChainController.state.activeChain;\n const isSwitchingNamespace = namespace && namespace !== currentNamespace;\n const caipAddress = ChainController.getAccountData(options?.namespace)?.caipAddress;\n if (ConnectionController.state.wcBasic) {\n // No need to add an await here if we are use basic\n ApiController.prefetch({ fetchNetworkImages: false, fetchConnectorImages: false });\n }\n else {\n await ApiController.prefetch({\n fetchConnectorImages: !isConnected,\n fetchFeaturedWallets: !isConnected,\n fetchRecommendedWallets: !isConnected\n });\n }\n ConnectorController.setFilterByNamespace(options?.namespace);\n ModalController.setLoading(true, namespace);\n if (namespace && isSwitchingNamespace) {\n const namespaceNetwork = ChainController.getNetworkData(namespace)?.caipNetwork ||\n ChainController.getRequestedCaipNetworks(namespace)[0];\n if (namespaceNetwork) {\n NetworkUtil.onSwitchNetwork({ network: namespaceNetwork, ignoreSwitchConfirmation: true });\n }\n }\n else {\n const hasNoAdapters = ChainController.state.noAdapters;\n if (OptionsController.state.manualWCControl || (hasNoAdapters && !caipAddress)) {\n if (CoreHelperUtil.isMobile()) {\n RouterController.reset('AllWallets');\n }\n else {\n RouterController.reset('ConnectingWalletConnectBasic');\n }\n }\n else if (options?.view) {\n RouterController.reset(options.view, options.data);\n }\n else if (caipAddress) {\n RouterController.reset('Account');\n }\n else {\n RouterController.reset('Connect');\n }\n }\n state.open = true;\n PublicStateController.set({ open: true });\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_OPEN',\n properties: { connected: Boolean(caipAddress) }\n });\n },\n close() {\n const isEmbeddedEnabled = OptionsController.state.enableEmbedded;\n const isConnected = Boolean(ChainController.state.activeCaipAddress);\n // Only send the event if the modal is open and is about to be closed\n if (state.open) {\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_CLOSE',\n properties: { connected: isConnected }\n });\n }\n state.open = false;\n RouterController.reset('Connect');\n ModalController.clearLoading();\n if (isEmbeddedEnabled) {\n if (isConnected) {\n RouterController.replace('Account');\n }\n else {\n RouterController.push('Connect');\n }\n }\n else {\n PublicStateController.set({ open: false });\n }\n ConnectionController.resetUri();\n },\n setLoading(loading, namespace) {\n if (namespace) {\n state.loadingNamespaceMap.set(namespace, loading);\n }\n state.loading = loading;\n PublicStateController.set({ loading });\n },\n clearLoading() {\n state.loadingNamespaceMap.clear();\n state.loading = false;\n },\n shake() {\n if (state.shake) {\n return;\n }\n state.shake = true;\n setTimeout(() => {\n state.shake = false;\n }, 500);\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ModalController = withErrorBoundary(controller);\n//# sourceMappingURL=ModalController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { MELD_PUBLIC_KEY, ONRAMP_PROVIDERS } from '../utils/ConstantsUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ApiController } from './ApiController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { OptionsController } from './OptionsController.js';\nexport const USDC_CURRENCY_DEFAULT = {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n};\nexport const USD_CURRENCY_DEFAULT = {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n};\nconst defaultState = {\n providers: ONRAMP_PROVIDERS,\n selectedProvider: null,\n error: null,\n purchaseCurrency: USDC_CURRENCY_DEFAULT,\n paymentCurrency: USD_CURRENCY_DEFAULT,\n purchaseCurrencies: [USDC_CURRENCY_DEFAULT],\n paymentCurrencies: [],\n quotesLoading: false\n};\n// -- State --------------------------------------------- //\nconst state = proxy(defaultState);\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setSelectedProvider(provider) {\n if (provider && provider.name === 'meld') {\n const currency = ChainController.state.activeChain === ConstantsUtil.CHAIN.SOLANA ? 'SOL' : 'USDC';\n const address = AccountController.state.address ?? '';\n const url = new URL(provider.url);\n url.searchParams.append('publicKey', MELD_PUBLIC_KEY);\n url.searchParams.append('destinationCurrencyCode', currency);\n url.searchParams.append('walletAddress', address);\n url.searchParams.append('externalCustomerId', OptionsController.state.projectId);\n state.selectedProvider = { ...provider, url: url.toString() };\n }\n else {\n state.selectedProvider = provider;\n }\n },\n setOnrampProviders(providers) {\n if (Array.isArray(providers) && providers.every(item => typeof item === 'string')) {\n const validOnramp = providers;\n const newProviders = ONRAMP_PROVIDERS.filter(provider => validOnramp.includes(provider.name));\n state.providers = newProviders;\n }\n else {\n state.providers = [];\n }\n },\n setPurchaseCurrency(currency) {\n state.purchaseCurrency = currency;\n },\n setPaymentCurrency(currency) {\n state.paymentCurrency = currency;\n },\n setPurchaseAmount(amount) {\n OnRampController.state.purchaseAmount = amount;\n },\n setPaymentAmount(amount) {\n OnRampController.state.paymentAmount = amount;\n },\n async getAvailableCurrencies() {\n const options = await BlockchainApiController.getOnrampOptions();\n state.purchaseCurrencies = options.purchaseCurrencies;\n state.paymentCurrencies = options.paymentCurrencies;\n state.paymentCurrency = options.paymentCurrencies[0] || USD_CURRENCY_DEFAULT;\n state.purchaseCurrency = options.purchaseCurrencies[0] || USDC_CURRENCY_DEFAULT;\n await ApiController.fetchCurrencyImages(options.paymentCurrencies.map(currency => currency.id));\n await ApiController.fetchTokenImages(options.purchaseCurrencies.map(currency => currency.symbol));\n },\n async getQuote() {\n state.quotesLoading = true;\n try {\n const quote = await BlockchainApiController.getOnrampQuote({\n purchaseCurrency: state.purchaseCurrency,\n paymentCurrency: state.paymentCurrency,\n amount: state.paymentAmount?.toString() || '0',\n network: state.purchaseCurrency?.symbol\n });\n state.quotesLoading = false;\n state.purchaseAmount = Number(quote?.purchaseAmount.amount);\n return quote;\n }\n catch (error) {\n state.error = error.message;\n state.quotesLoading = false;\n return null;\n }\n finally {\n state.quotesLoading = false;\n }\n },\n resetState() {\n state.selectedProvider = null;\n state.error = null;\n state.purchaseCurrency = USDC_CURRENCY_DEFAULT;\n state.paymentCurrency = USD_CURRENCY_DEFAULT;\n state.purchaseCurrencies = [USDC_CURRENCY_DEFAULT];\n state.paymentCurrencies = [];\n state.paymentAmount = undefined;\n state.purchaseAmount = undefined;\n state.quotesLoading = false;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const OnRampController = withErrorBoundary(controller);\n//# sourceMappingURL=OnRampController.js.map","const SLIP44_MSB = 0x80000000;\nexport const EnsUtil = {\n convertEVMChainIdToCoinType(chainId) {\n if (chainId >= SLIP44_MSB) {\n throw new Error('Invalid chainId');\n }\n return (SLIP44_MSB | chainId) >>> 0;\n }\n};\n//# sourceMappingURL=EnsUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { EnsUtil } from '../utils/EnsUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { RouterController } from './RouterController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n suggestions: [],\n loading: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async resolveName(name) {\n try {\n return await BlockchainApiController.lookupEnsName(name);\n }\n catch (e) {\n const error = e;\n throw new Error(error?.reasons?.[0]?.description || 'Error resolving name');\n }\n },\n async isNameRegistered(name) {\n try {\n await BlockchainApiController.lookupEnsName(name);\n return true;\n }\n catch {\n return false;\n }\n },\n async getSuggestions(value) {\n try {\n state.loading = true;\n state.suggestions = [];\n const response = await BlockchainApiController.getEnsNameSuggestions(value);\n state.suggestions =\n response.suggestions.map(suggestion => ({\n ...suggestion,\n name: suggestion.name\n })) || [];\n return state.suggestions;\n }\n catch (e) {\n const errorMessage = EnsController.parseEnsApiError(e, 'Error fetching name suggestions');\n throw new Error(errorMessage);\n }\n finally {\n state.loading = false;\n }\n },\n async getNamesForAddress(address) {\n try {\n const network = ChainController.state.activeCaipNetwork;\n if (!network) {\n return [];\n }\n const cachedEns = StorageUtil.getEnsFromCacheForAddress(address);\n if (cachedEns) {\n return cachedEns;\n }\n const response = await BlockchainApiController.reverseLookupEnsName({ address });\n StorageUtil.updateEnsCache({\n address,\n ens: response,\n timestamp: Date.now()\n });\n return response;\n }\n catch (e) {\n const errorMessage = EnsController.parseEnsApiError(e, 'Error fetching names for address');\n throw new Error(errorMessage);\n }\n },\n async registerName(name) {\n const network = ChainController.state.activeCaipNetwork;\n if (!network) {\n throw new Error('Network not found');\n }\n const address = AccountController.state.address;\n const emailConnector = ConnectorController.getAuthConnector();\n if (!address || !emailConnector) {\n throw new Error('Address or auth connector not found');\n }\n state.loading = true;\n try {\n const message = JSON.stringify({\n name,\n attributes: {},\n // Unix timestamp\n timestamp: Math.floor(Date.now() / 1000)\n });\n RouterController.pushTransactionStack({\n onCancel() {\n RouterController.replace('RegisterAccountName');\n }\n });\n const signature = await ConnectionController.signMessage(message);\n state.loading = false;\n const networkId = network.id;\n if (!networkId) {\n throw new Error('Network not found');\n }\n const coinType = EnsUtil.convertEVMChainIdToCoinType(Number(networkId));\n await BlockchainApiController.registerEnsName({\n coinType,\n address: address,\n signature: signature,\n message\n });\n AccountController.setProfileName(name, network.chainNamespace);\n RouterController.replace('RegisterAccountNameSuccess');\n }\n catch (e) {\n const errorMessage = EnsController.parseEnsApiError(e, `Error registering name ${name}`);\n RouterController.replace('RegisterAccountName');\n throw new Error(errorMessage);\n }\n finally {\n state.loading = false;\n }\n },\n validateName(name) {\n return /^[a-zA-Z0-9-]{4,}$/u.test(name);\n },\n parseEnsApiError(error, defaultError) {\n const ensError = error;\n return ensError?.reasons?.[0]?.description || defaultError;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const EnsController = withErrorBoundary(controller);\n//# sourceMappingURL=EnsController.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';\nimport { AccountController } from '../controllers/AccountController.js';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { ConnectionController } from '../controllers/ConnectionController.js';\nimport { ConnectorController } from '../controllers/ConnectorController.js';\nimport { EventsController } from '../controllers/EventsController.js';\nimport { ModalController } from '../controllers/ModalController.js';\nimport { OptionsController } from '../controllers/OptionsController.js';\nimport { RouterController } from '../controllers/RouterController.js';\nimport { SnackController } from '../controllers/SnackController.js';\nimport { CoreHelperUtil } from './CoreHelperUtil.js';\n/**\n * SIWXUtil holds the methods to interact with the SIWX plugin and must be called internally on AppKit.\n */\nexport const SIWXUtil = {\n getSIWX() {\n return OptionsController.state.siwx;\n },\n async initializeIfEnabled() {\n const siwx = OptionsController.state.siwx;\n const caipAddress = ChainController.getActiveCaipAddress();\n if (!(siwx && caipAddress)) {\n return;\n }\n const [namespace, chainId, address] = caipAddress.split(':');\n if (!ChainController.checkIfSupportedNetwork(namespace)) {\n return;\n }\n try {\n const sessions = await siwx.getSessions(`${namespace}:${chainId}`, address);\n if (sessions.length) {\n return;\n }\n await ModalController.open({\n view: 'SIWXSignMessage'\n });\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.error('SIWXUtil:initializeIfEnabled', error);\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_ERROR',\n properties: this.getSIWXEventProperties()\n });\n // eslint-disable-next-line no-console\n await ConnectionController._getClient()?.disconnect().catch(console.error);\n RouterController.reset('Connect');\n SnackController.showError('A problem occurred while trying initialize authentication');\n }\n },\n async requestSignMessage() {\n const siwx = OptionsController.state.siwx;\n const address = CoreHelperUtil.getPlainAddress(ChainController.getActiveCaipAddress());\n const network = ChainController.getActiveCaipNetwork();\n const client = ConnectionController._getClient();\n if (!siwx) {\n throw new Error('SIWX is not enabled');\n }\n if (!address) {\n throw new Error('No ActiveCaipAddress found');\n }\n if (!network) {\n throw new Error('No ActiveCaipNetwork or client found');\n }\n if (!client) {\n throw new Error('No ConnectionController client found');\n }\n try {\n const siwxMessage = await siwx.createMessage({\n chainId: network.caipNetworkId,\n accountAddress: address\n });\n const message = siwxMessage.toString();\n const connectorId = ConnectorController.getConnectorId(network.chainNamespace);\n if (connectorId === CommonConstantsUtil.CONNECTOR_ID.AUTH) {\n RouterController.pushTransactionStack({});\n }\n const signature = await client.signMessage(message);\n await siwx.addSession({\n data: siwxMessage,\n message,\n signature: signature\n });\n ModalController.close();\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_SUCCESS',\n properties: this.getSIWXEventProperties()\n });\n }\n catch (error) {\n const properties = this.getSIWXEventProperties();\n if (!ModalController.state.open || RouterController.state.view === 'ApproveTransaction') {\n await ModalController.open({\n view: 'SIWXSignMessage'\n });\n }\n if (properties.isSmartAccount) {\n SnackController.showError('This application might not support Smart Accounts');\n }\n else {\n SnackController.showError('Signature declined');\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_ERROR',\n properties\n });\n // eslint-disable-next-line no-console\n console.error('SWIXUtil:requestSignMessage', error);\n }\n },\n async cancelSignMessage() {\n try {\n const siwx = this.getSIWX();\n const isRequired = siwx?.getRequired?.();\n if (isRequired) {\n await ConnectionController.disconnect();\n }\n else {\n ModalController.close();\n }\n RouterController.reset('Connect');\n EventsController.sendEvent({\n event: 'CLICK_CANCEL_SIWX',\n type: 'track',\n properties: this.getSIWXEventProperties()\n });\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.error('SIWXUtil:cancelSignMessage', error);\n }\n },\n async getSessions() {\n const siwx = OptionsController.state.siwx;\n const address = CoreHelperUtil.getPlainAddress(ChainController.getActiveCaipAddress());\n const network = ChainController.getActiveCaipNetwork();\n if (!(siwx && address && network)) {\n return [];\n }\n return siwx.getSessions(network.caipNetworkId, address);\n },\n async isSIWXCloseDisabled() {\n const siwx = this.getSIWX();\n if (siwx) {\n const isApproveSignScreen = RouterController.state.view === 'ApproveTransaction';\n const isSiwxSignMessage = RouterController.state.view === 'SIWXSignMessage';\n if (isApproveSignScreen || isSiwxSignMessage) {\n return siwx.getRequired?.() && (await this.getSessions()).length === 0;\n }\n }\n return false;\n },\n async universalProviderAuthenticate({ universalProvider, chains, methods }) {\n const siwx = SIWXUtil.getSIWX();\n const namespaces = new Set(chains.map(chain => chain.split(':')[0]));\n if (!siwx || namespaces.size !== 1 || !namespaces.has('eip155')) {\n return false;\n }\n // Ignores chainId and account address to get other message data\n const siwxMessage = await siwx.createMessage({\n chainId: ChainController.getActiveCaipNetwork()?.caipNetworkId || '',\n accountAddress: ''\n });\n const result = await universalProvider.authenticate({\n nonce: siwxMessage.nonce,\n domain: siwxMessage.domain,\n uri: siwxMessage.uri,\n exp: siwxMessage.expirationTime,\n iat: siwxMessage.issuedAt,\n nbf: siwxMessage.notBefore,\n requestId: siwxMessage.requestId,\n version: siwxMessage.version,\n resources: siwxMessage.resources,\n statement: siwxMessage.statement,\n chainId: siwxMessage.chainId,\n methods,\n // The first chainId is what is used for universal provider to build the message\n chains: [siwxMessage.chainId, ...chains.filter(chain => chain !== siwxMessage.chainId)]\n });\n SnackController.showLoading('Authenticating...', { autoClose: false });\n AccountController.setConnectedWalletInfo({\n ...result.session.peer.metadata,\n name: result.session.peer.metadata.name,\n icon: result.session.peer.metadata.icons?.[0],\n type: 'WALLET_CONNECT'\n }, Array.from(namespaces)[0]);\n if (result?.auths?.length) {\n const sessions = result.auths.map(cacao => {\n const message = universalProvider.client.formatAuthMessage({\n request: cacao.p,\n iss: cacao.p.iss\n });\n return {\n data: {\n ...cacao.p,\n accountAddress: cacao.p.iss.split(':').slice(-1).join(''),\n chainId: cacao.p.iss.split(':').slice(2, 4).join(':'),\n uri: cacao.p.aud,\n version: cacao.p.version || siwxMessage.version,\n expirationTime: cacao.p.exp,\n issuedAt: cacao.p.iat,\n notBefore: cacao.p.nbf\n },\n message,\n signature: cacao.s.s,\n cacao\n };\n });\n try {\n await siwx.setSessions(sessions);\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_SUCCESS',\n properties: SIWXUtil.getSIWXEventProperties()\n });\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.error('SIWX:universalProviderAuth - failed to set sessions', error);\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_ERROR',\n properties: SIWXUtil.getSIWXEventProperties()\n });\n // eslint-disable-next-line no-console\n await universalProvider.disconnect().catch(console.error);\n throw error;\n }\n finally {\n SnackController.hide();\n }\n }\n return true;\n },\n getSIWXEventProperties() {\n const activeChainNamespace = ChainController.state.activeChain;\n return {\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || '',\n isSmartAccount: AccountController.state.preferredAccountTypes?.[activeChainNamespace] ===\n W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT\n };\n },\n async clearSessions() {\n const siwx = this.getSIWX();\n if (siwx) {\n await siwx.setSessions([]);\n }\n }\n};\n//# sourceMappingURL=SIWXUtil.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","function wrapToPromise(value) {\n if (!value || typeof value.then !== \"function\") {\n return Promise.resolve(value);\n }\n return value;\n}\nfunction asyncCall(function_, ...arguments_) {\n try {\n return wrapToPromise(function_(...arguments_));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction isPrimitive(value) {\n const type = typeof value;\n return value === null || type !== \"object\" && type !== \"function\";\n}\nfunction isPureObject(value) {\n const proto = Object.getPrototypeOf(value);\n return !proto || proto.isPrototypeOf(Object);\n}\nfunction stringify(value) {\n if (isPrimitive(value)) {\n return String(value);\n }\n if (isPureObject(value) || Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (typeof value.toJSON === \"function\") {\n return stringify(value.toJSON());\n }\n throw new Error(\"[unstorage] Cannot stringify value!\");\n}\nconst BASE64_PREFIX = \"base64:\";\nfunction serializeRaw(value) {\n if (typeof value === \"string\") {\n return value;\n }\n return BASE64_PREFIX + base64Encode(value);\n}\nfunction deserializeRaw(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (!value.startsWith(BASE64_PREFIX)) {\n return value;\n }\n return base64Decode(value.slice(BASE64_PREFIX.length));\n}\nfunction base64Decode(input) {\n if (globalThis.Buffer) {\n return Buffer.from(input, \"base64\");\n }\n return Uint8Array.from(\n globalThis.atob(input),\n (c) => c.codePointAt(0)\n );\n}\nfunction base64Encode(input) {\n if (globalThis.Buffer) {\n return Buffer.from(input).toString(\"base64\");\n }\n return globalThis.btoa(String.fromCodePoint(...input));\n}\n\nconst storageKeyProperties = [\n \"has\",\n \"hasItem\",\n \"get\",\n \"getItem\",\n \"getItemRaw\",\n \"set\",\n \"setItem\",\n \"setItemRaw\",\n \"del\",\n \"remove\",\n \"removeItem\",\n \"getMeta\",\n \"setMeta\",\n \"removeMeta\",\n \"getKeys\",\n \"clear\",\n \"mount\",\n \"unmount\"\n];\nfunction prefixStorage(storage, base) {\n base = normalizeBaseKey(base);\n if (!base) {\n return storage;\n }\n const nsStorage = { ...storage };\n for (const property of storageKeyProperties) {\n nsStorage[property] = (key = \"\", ...args) => (\n // @ts-ignore\n storage[property](base + key, ...args)\n );\n }\n nsStorage.getKeys = (key = \"\", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length)));\n nsStorage.keys = nsStorage.getKeys;\n nsStorage.getItems = async (items, commonOptions) => {\n const prefixedItems = items.map(\n (item) => typeof item === \"string\" ? base + item : { ...item, key: base + item.key }\n );\n const results = await storage.getItems(prefixedItems, commonOptions);\n return results.map((entry) => ({\n key: entry.key.slice(base.length),\n value: entry.value\n }));\n };\n nsStorage.setItems = async (items, commonOptions) => {\n const prefixedItems = items.map((item) => ({\n key: base + item.key,\n value: item.value,\n options: item.options\n }));\n return storage.setItems(prefixedItems, commonOptions);\n };\n return nsStorage;\n}\nfunction normalizeKey(key) {\n if (!key) {\n return \"\";\n }\n return key.split(\"?\")[0]?.replace(/[/\\\\]/g, \":\").replace(/:+/g, \":\").replace(/^:|:$/g, \"\") || \"\";\n}\nfunction joinKeys(...keys) {\n return normalizeKey(keys.join(\":\"));\n}\nfunction normalizeBaseKey(base) {\n base = normalizeKey(base);\n return base ? base + \":\" : \"\";\n}\nfunction filterKeyByDepth(key, depth) {\n if (depth === void 0) {\n return true;\n }\n let substrCount = 0;\n let index = key.indexOf(\":\");\n while (index > -1) {\n substrCount++;\n index = key.indexOf(\":\", index + 1);\n }\n return substrCount <= depth;\n}\nfunction filterKeyByBase(key, base) {\n if (base) {\n return key.startsWith(base) && key[key.length - 1] !== \"$\";\n }\n return key[key.length - 1] !== \"$\";\n}\n\nexport { normalizeKey as a, asyncCall as b, filterKeyByBase as c, stringify as d, deserializeRaw as e, filterKeyByDepth as f, joinKeys as j, normalizeBaseKey as n, prefixStorage as p, serializeRaw as s };\n","import destr from 'destr';\nimport { n as normalizeBaseKey, a as normalizeKey, b as asyncCall, f as filterKeyByDepth, c as filterKeyByBase, s as serializeRaw, d as stringify, e as deserializeRaw, j as joinKeys } from './shared/unstorage.zVDD2mZo.mjs';\nexport { p as prefixStorage } from './shared/unstorage.zVDD2mZo.mjs';\n\nfunction defineDriver(factory) {\n return factory;\n}\n\nconst DRIVER_NAME = \"memory\";\nconst memory = defineDriver(() => {\n const data = /* @__PURE__ */ new Map();\n return {\n name: DRIVER_NAME,\n getInstance: () => data,\n hasItem(key) {\n return data.has(key);\n },\n getItem(key) {\n return data.get(key) ?? null;\n },\n getItemRaw(key) {\n return data.get(key) ?? null;\n },\n setItem(key, value) {\n data.set(key, value);\n },\n setItemRaw(key, value) {\n data.set(key, value);\n },\n removeItem(key) {\n data.delete(key);\n },\n getKeys() {\n return [...data.keys()];\n },\n clear() {\n data.clear();\n },\n dispose() {\n data.clear();\n }\n };\n});\n\nfunction createStorage(options = {}) {\n const context = {\n mounts: { \"\": options.driver || memory() },\n mountpoints: [\"\"],\n watching: false,\n watchListeners: [],\n unwatch: {}\n };\n const getMount = (key) => {\n for (const base of context.mountpoints) {\n if (key.startsWith(base)) {\n return {\n base,\n relativeKey: key.slice(base.length),\n driver: context.mounts[base]\n };\n }\n }\n return {\n base: \"\",\n relativeKey: key,\n driver: context.mounts[\"\"]\n };\n };\n const getMounts = (base, includeParent) => {\n return context.mountpoints.filter(\n (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint)\n ).map((mountpoint) => ({\n relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0,\n mountpoint,\n driver: context.mounts[mountpoint]\n }));\n };\n const onChange = (event, key) => {\n if (!context.watching) {\n return;\n }\n key = normalizeKey(key);\n for (const listener of context.watchListeners) {\n listener(event, key);\n }\n };\n const startWatch = async () => {\n if (context.watching) {\n return;\n }\n context.watching = true;\n for (const mountpoint in context.mounts) {\n context.unwatch[mountpoint] = await watch(\n context.mounts[mountpoint],\n onChange,\n mountpoint\n );\n }\n };\n const stopWatch = async () => {\n if (!context.watching) {\n return;\n }\n for (const mountpoint in context.unwatch) {\n await context.unwatch[mountpoint]();\n }\n context.unwatch = {};\n context.watching = false;\n };\n const runBatch = (items, commonOptions, cb) => {\n const batches = /* @__PURE__ */ new Map();\n const getBatch = (mount) => {\n let batch = batches.get(mount.base);\n if (!batch) {\n batch = {\n driver: mount.driver,\n base: mount.base,\n items: []\n };\n batches.set(mount.base, batch);\n }\n return batch;\n };\n for (const item of items) {\n const isStringItem = typeof item === \"string\";\n const key = normalizeKey(isStringItem ? item : item.key);\n const value = isStringItem ? void 0 : item.value;\n const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options };\n const mount = getMount(key);\n getBatch(mount).items.push({\n key,\n value,\n relativeKey: mount.relativeKey,\n options: options2\n });\n }\n return Promise.all([...batches.values()].map((batch) => cb(batch))).then(\n (r) => r.flat()\n );\n };\n const storage = {\n // Item\n hasItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.hasItem, relativeKey, opts);\n },\n getItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => destr(value)\n );\n },\n getItems(items, commonOptions = {}) {\n return runBatch(items, commonOptions, (batch) => {\n if (batch.driver.getItems) {\n return asyncCall(\n batch.driver.getItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n options: item.options\n })),\n commonOptions\n ).then(\n (r) => r.map((item) => ({\n key: joinKeys(batch.base, item.key),\n value: destr(item.value)\n }))\n );\n }\n return Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.getItem,\n item.relativeKey,\n item.options\n ).then((value) => ({\n key: item.key,\n value: destr(value)\n }));\n })\n );\n });\n },\n getItemRaw(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.getItemRaw) {\n return asyncCall(driver.getItemRaw, relativeKey, opts);\n }\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => deserializeRaw(value)\n );\n },\n async setItem(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.setItem) {\n return;\n }\n await asyncCall(driver.setItem, relativeKey, stringify(value), opts);\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async setItems(items, commonOptions) {\n await runBatch(items, commonOptions, async (batch) => {\n if (batch.driver.setItems) {\n return asyncCall(\n batch.driver.setItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n value: stringify(item.value),\n options: item.options\n })),\n commonOptions\n );\n }\n if (!batch.driver.setItem) {\n return;\n }\n await Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.setItem,\n item.relativeKey,\n stringify(item.value),\n item.options\n );\n })\n );\n });\n },\n async setItemRaw(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key, opts);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.setItemRaw) {\n await asyncCall(driver.setItemRaw, relativeKey, value, opts);\n } else if (driver.setItem) {\n await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts);\n } else {\n return;\n }\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async removeItem(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { removeMeta: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.removeItem) {\n return;\n }\n await asyncCall(driver.removeItem, relativeKey, opts);\n if (opts.removeMeta || opts.removeMata) {\n await asyncCall(driver.removeItem, relativeKey + \"$\", opts);\n }\n if (!driver.watch) {\n onChange(\"remove\", key);\n }\n },\n // Meta\n async getMeta(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { nativeOnly: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n const meta = /* @__PURE__ */ Object.create(null);\n if (driver.getMeta) {\n Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts));\n }\n if (!opts.nativeOnly) {\n const value = await asyncCall(\n driver.getItem,\n relativeKey + \"$\",\n opts\n ).then((value_) => destr(value_));\n if (value && typeof value === \"object\") {\n if (typeof value.atime === \"string\") {\n value.atime = new Date(value.atime);\n }\n if (typeof value.mtime === \"string\") {\n value.mtime = new Date(value.mtime);\n }\n Object.assign(meta, value);\n }\n }\n return meta;\n },\n setMeta(key, value, opts = {}) {\n return this.setItem(key + \"$\", value, opts);\n },\n removeMeta(key, opts = {}) {\n return this.removeItem(key + \"$\", opts);\n },\n // Keys\n async getKeys(base, opts = {}) {\n base = normalizeBaseKey(base);\n const mounts = getMounts(base, true);\n let maskedMounts = [];\n const allKeys = [];\n let allMountsSupportMaxDepth = true;\n for (const mount of mounts) {\n if (!mount.driver.flags?.maxDepth) {\n allMountsSupportMaxDepth = false;\n }\n const rawKeys = await asyncCall(\n mount.driver.getKeys,\n mount.relativeBase,\n opts\n );\n for (const key of rawKeys) {\n const fullKey = mount.mountpoint + normalizeKey(key);\n if (!maskedMounts.some((p) => fullKey.startsWith(p))) {\n allKeys.push(fullKey);\n }\n }\n maskedMounts = [\n mount.mountpoint,\n ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint))\n ];\n }\n const shouldFilterByDepth = opts.maxDepth !== void 0 && !allMountsSupportMaxDepth;\n return allKeys.filter(\n (key) => (!shouldFilterByDepth || filterKeyByDepth(key, opts.maxDepth)) && filterKeyByBase(key, base)\n );\n },\n // Utils\n async clear(base, opts = {}) {\n base = normalizeBaseKey(base);\n await Promise.all(\n getMounts(base, false).map(async (m) => {\n if (m.driver.clear) {\n return asyncCall(m.driver.clear, m.relativeBase, opts);\n }\n if (m.driver.removeItem) {\n const keys = await m.driver.getKeys(m.relativeBase || \"\", opts);\n return Promise.all(\n keys.map((key) => m.driver.removeItem(key, opts))\n );\n }\n })\n );\n },\n async dispose() {\n await Promise.all(\n Object.values(context.mounts).map((driver) => dispose(driver))\n );\n },\n async watch(callback) {\n await startWatch();\n context.watchListeners.push(callback);\n return async () => {\n context.watchListeners = context.watchListeners.filter(\n (listener) => listener !== callback\n );\n if (context.watchListeners.length === 0) {\n await stopWatch();\n }\n };\n },\n async unwatch() {\n context.watchListeners = [];\n await stopWatch();\n },\n // Mount\n mount(base, driver) {\n base = normalizeBaseKey(base);\n if (base && context.mounts[base]) {\n throw new Error(`already mounted at ${base}`);\n }\n if (base) {\n context.mountpoints.push(base);\n context.mountpoints.sort((a, b) => b.length - a.length);\n }\n context.mounts[base] = driver;\n if (context.watching) {\n Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => {\n context.unwatch[base] = unwatcher;\n }).catch(console.error);\n }\n return storage;\n },\n async unmount(base, _dispose = true) {\n base = normalizeBaseKey(base);\n if (!base || !context.mounts[base]) {\n return;\n }\n if (context.watching && base in context.unwatch) {\n context.unwatch[base]?.();\n delete context.unwatch[base];\n }\n if (_dispose) {\n await dispose(context.mounts[base]);\n }\n context.mountpoints = context.mountpoints.filter((key) => key !== base);\n delete context.mounts[base];\n },\n getMount(key = \"\") {\n key = normalizeKey(key) + \":\";\n const m = getMount(key);\n return {\n driver: m.driver,\n base: m.base\n };\n },\n getMounts(base = \"\", opts = {}) {\n base = normalizeKey(base);\n const mounts = getMounts(base, opts.parents);\n return mounts.map((m) => ({\n driver: m.driver,\n base: m.mountpoint\n }));\n },\n // Aliases\n keys: (base, opts = {}) => storage.getKeys(base, opts),\n get: (key, opts = {}) => storage.getItem(key, opts),\n set: (key, value, opts = {}) => storage.setItem(key, value, opts),\n has: (key, opts = {}) => storage.hasItem(key, opts),\n del: (key, opts = {}) => storage.removeItem(key, opts),\n remove: (key, opts = {}) => storage.removeItem(key, opts)\n };\n return storage;\n}\nasync function snapshot(storage, base) {\n base = normalizeBaseKey(base);\n const keys = await storage.getKeys(base);\n const snapshot2 = {};\n await Promise.all(\n keys.map(async (key) => {\n snapshot2[key.slice(base.length)] = await storage.getItem(key);\n })\n );\n return snapshot2;\n}\nasync function restoreSnapshot(driver, snapshot2, base = \"\") {\n base = normalizeBaseKey(base);\n await Promise.all(\n Object.entries(snapshot2).map((e) => driver.setItem(base + e[0], e[1]))\n );\n}\nfunction watch(driver, onChange, base) {\n return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => {\n };\n}\nasync function dispose(driver) {\n if (typeof driver.dispose === \"function\") {\n await asyncCall(driver.dispose);\n }\n}\n\nconst builtinDrivers = {\n \"azure-app-configuration\": \"unstorage/drivers/azure-app-configuration\",\n \"azureAppConfiguration\": \"unstorage/drivers/azure-app-configuration\",\n \"azure-cosmos\": \"unstorage/drivers/azure-cosmos\",\n \"azureCosmos\": \"unstorage/drivers/azure-cosmos\",\n \"azure-key-vault\": \"unstorage/drivers/azure-key-vault\",\n \"azureKeyVault\": \"unstorage/drivers/azure-key-vault\",\n \"azure-storage-blob\": \"unstorage/drivers/azure-storage-blob\",\n \"azureStorageBlob\": \"unstorage/drivers/azure-storage-blob\",\n \"azure-storage-table\": \"unstorage/drivers/azure-storage-table\",\n \"azureStorageTable\": \"unstorage/drivers/azure-storage-table\",\n \"capacitor-preferences\": \"unstorage/drivers/capacitor-preferences\",\n \"capacitorPreferences\": \"unstorage/drivers/capacitor-preferences\",\n \"cloudflare-kv-binding\": \"unstorage/drivers/cloudflare-kv-binding\",\n \"cloudflareKVBinding\": \"unstorage/drivers/cloudflare-kv-binding\",\n \"cloudflare-kv-http\": \"unstorage/drivers/cloudflare-kv-http\",\n \"cloudflareKVHttp\": \"unstorage/drivers/cloudflare-kv-http\",\n \"cloudflare-r2-binding\": \"unstorage/drivers/cloudflare-r2-binding\",\n \"cloudflareR2Binding\": \"unstorage/drivers/cloudflare-r2-binding\",\n \"db0\": \"unstorage/drivers/db0\",\n \"deno-kv-node\": \"unstorage/drivers/deno-kv-node\",\n \"denoKVNode\": \"unstorage/drivers/deno-kv-node\",\n \"deno-kv\": \"unstorage/drivers/deno-kv\",\n \"denoKV\": \"unstorage/drivers/deno-kv\",\n \"fs-lite\": \"unstorage/drivers/fs-lite\",\n \"fsLite\": \"unstorage/drivers/fs-lite\",\n \"fs\": \"unstorage/drivers/fs\",\n \"github\": \"unstorage/drivers/github\",\n \"http\": \"unstorage/drivers/http\",\n \"indexedb\": \"unstorage/drivers/indexedb\",\n \"localstorage\": \"unstorage/drivers/localstorage\",\n \"lru-cache\": \"unstorage/drivers/lru-cache\",\n \"lruCache\": \"unstorage/drivers/lru-cache\",\n \"memory\": \"unstorage/drivers/memory\",\n \"mongodb\": \"unstorage/drivers/mongodb\",\n \"netlify-blobs\": \"unstorage/drivers/netlify-blobs\",\n \"netlifyBlobs\": \"unstorage/drivers/netlify-blobs\",\n \"null\": \"unstorage/drivers/null\",\n \"overlay\": \"unstorage/drivers/overlay\",\n \"planetscale\": \"unstorage/drivers/planetscale\",\n \"redis\": \"unstorage/drivers/redis\",\n \"s3\": \"unstorage/drivers/s3\",\n \"session-storage\": \"unstorage/drivers/session-storage\",\n \"sessionStorage\": \"unstorage/drivers/session-storage\",\n \"uploadthing\": \"unstorage/drivers/uploadthing\",\n \"upstash\": \"unstorage/drivers/upstash\",\n \"vercel-blob\": \"unstorage/drivers/vercel-blob\",\n \"vercelBlob\": \"unstorage/drivers/vercel-blob\",\n \"vercel-kv\": \"unstorage/drivers/vercel-kv\",\n \"vercelKV\": \"unstorage/drivers/vercel-kv\",\n \"vercel-runtime-cache\": \"unstorage/drivers/vercel-runtime-cache\",\n \"vercelRuntimeCache\": \"unstorage/drivers/vercel-runtime-cache\"\n};\n\nexport { builtinDrivers, createStorage, defineDriver, filterKeyByBase, filterKeyByDepth, joinKeys, normalizeBaseKey, normalizeKey, restoreSnapshot, snapshot };\n","import{createStorage as w}from\"unstorage\";import{createStore as I,get as u,set as p,del as b,keys as v,clear as S}from\"idb-keyval\";import{safeJsonStringify as g,safeJsonParse as d}from\"@walletconnect/safe-json\";function C(i){return i}const x=\"idb-keyval\";var z=(i={})=>{const t=i.base&&i.base.length>0?`${i.base}:`:\"\",e=s=>t+s;let n;return i.dbName&&i.storeName&&(n=I(i.dbName,i.storeName)),{name:x,options:i,async hasItem(s){return!(typeof await u(e(s),n)>\"u\")},async getItem(s){return await u(e(s),n)??null},setItem(s,a){return p(e(s),a,n)},removeItem(s){return b(e(s),n)},getKeys(){return v(n)},clear(){return S(n)}}};const D=\"WALLET_CONNECT_V2_INDEXED_DB\",E=\"keyvaluestorage\";class _{constructor(){this.indexedDb=w({driver:z({dbName:D,storeName:E})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(t=>[t.key,t.value])}async getItem(t){const e=await this.indexedDb.getItem(t);if(e!==null)return e}async setItem(t,e){await this.indexedDb.setItem(t,g(e))}async removeItem(t){await this.indexedDb.removeItem(t)}}var l=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},c={exports:{}};(function(){let i;function t(){}i=t,i.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},i.prototype.setItem=function(e,n){this[e]=String(n)},i.prototype.removeItem=function(e){delete this[e]},i.prototype.clear=function(){const e=this;Object.keys(e).forEach(function(n){e[n]=void 0,delete e[n]})},i.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},i.prototype.__defineGetter__(\"length\",function(){return Object.keys(this).length}),typeof l<\"u\"&&l.localStorage?c.exports=l.localStorage:typeof window<\"u\"&&window.localStorage?c.exports=window.localStorage:c.exports=new t})();function k(i){var t;return[i[0],d((t=i[1])!=null?t:\"\")]}class K{constructor(){this.localStorage=c.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(k)}async getItem(t){const e=this.localStorage.getItem(t);if(e!==null)return d(e)}async setItem(t,e){this.localStorage.setItem(t,g(e))}async removeItem(t){this.localStorage.removeItem(t)}}const N=\"wc_storage_version\",y=1,O=async(i,t,e)=>{const n=N,s=await t.getItem(n);if(s&&s>=y){e(t);return}const a=await i.getKeys();if(!a.length){e(t);return}const m=[];for(;a.length;){const r=a.shift();if(!r)continue;const o=r.toLowerCase();if(o.includes(\"wc@\")||o.includes(\"walletconnect\")||o.includes(\"wc_\")||o.includes(\"wallet_connect\")){const f=await i.getItem(r);await t.setItem(r,f),m.push(r)}}await t.setItem(n,y),e(t),j(i,m)},j=async(i,t)=>{t.length&&t.forEach(async e=>{await i.removeItem(e)})};class h{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};const t=new K;this.storage=t;try{const e=new _;O(t,e,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(t){return await this.initialize(),this.storage.getItem(t)}async setItem(t,e){return await this.initialize(),this.storage.setItem(t,e)}async removeItem(t){return await this.initialize(),this.storage.removeItem(t)}async initialize(){this.initialized||await new Promise(t=>{const e=setInterval(()=>{this.initialized&&(clearInterval(e),t())},20)})}}export{h as KeyValueStorage,h as default};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as o}from\"@walletconnect/events\";import n,{EventEmitter as l}from\"events\";var a=Object.defineProperty,u=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,c=(e,s,r)=>u(e,typeof s!=\"symbol\"?s+\"\":s,r);class h extends o{constructor(s){super(),this.opts=s,c(this,\"protocol\",\"wc\"),c(this,\"version\",2)}}class g{constructor(s,r,t){this.core=s,this.logger=r}}var p=Object.defineProperty,b=(e,s,r)=>s in e?p(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,v=(e,s,r)=>b(e,typeof s!=\"symbol\"?s+\"\":s,r);class I extends o{constructor(s,r){super(),this.core=s,this.logger=r,v(this,\"records\",new Map)}}class y{constructor(s,r){this.logger=s,this.core=r}}class m extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class d extends o{constructor(s){super()}}class f{constructor(s,r,t,q){this.core=s,this.logger=r,this.name=t}}var E=Object.defineProperty,x=(e,s,r)=>s in e?E(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,w=(e,s,r)=>x(e,typeof s!=\"symbol\"?s+\"\":s,r);class C{constructor(){w(this,\"map\",new Map)}}class P extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class j{constructor(s,r){this.core=s,this.logger=r}}class S extends o{constructor(s,r){super(),this.core=s,this.logger=r}}class ${constructor(s,r){this.logger=s,this.core=r}}class M{constructor(s,r,t){this.core=s,this.logger=r,this.store=t}}class O{constructor(s,r){this.projectId=s,this.logger=r}}class R{constructor(s,r,t){this.core=s,this.logger=r,this.telemetryEnabled=t}}var T=Object.defineProperty,k=(e,s,r)=>s in e?T(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,i=(e,s,r)=>k(e,typeof s!=\"symbol\"?s+\"\":s,r);class H extends n{constructor(){super()}}class J{constructor(s){this.opts=s,i(this,\"protocol\",\"wc\"),i(this,\"version\",2)}}class K extends l{constructor(){super()}}class V{constructor(s){this.client=s}}export{h as ICore,g as ICrypto,O as IEchoClient,V as IEngine,K as IEngineEvents,R as IEventClient,S as IExpirer,I as IJsonRpcHistory,j as IKeyChain,y as IMessageTracker,$ as IPairing,m as IPublisher,d as IRelayer,J as ISignClient,H as ISignClientEvents,f as IStore,P as ISubscriber,C as ISubscriberTopicMap,M as IVerify};\n//# sourceMappingURL=index.es.js.map\n","export function isHex(value, { strict = true } = {}) {\n if (!value)\n return false;\n if (typeof value !== 'string')\n return false;\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\n//# sourceMappingURL=isHex.js.map","import { isHex } from './isHex.js';\n/**\n * @description Retrieves the size of the value (in bytes).\n *\n * @param value The value (hex or byte array) to retrieve the size of.\n * @returns The size of the value (in bytes).\n */\nexport function size(value) {\n if (isHex(value, { strict: false }))\n return Math.ceil((value.length - 2) / 2);\n return value.length;\n}\n//# sourceMappingURL=size.js.map","export const version = '2.23.2';\n//# sourceMappingURL=version.js.map","import { version } from './version.js';\nlet errorConfig = {\n getDocsUrl: ({ docsBaseUrl, docsPath = '', docsSlug, }) => docsPath\n ? `${docsBaseUrl ?? 'https://viem.sh'}${docsPath}${docsSlug ? `#${docsSlug}` : ''}`\n : undefined,\n version: `viem@${version}`,\n};\nexport function setErrorConfig(config) {\n errorConfig = config;\n}\nexport class BaseError extends Error {\n constructor(shortMessage, args = {}) {\n const details = (() => {\n if (args.cause instanceof BaseError)\n return args.cause.details;\n if (args.cause?.message)\n return args.cause.message;\n return args.details;\n })();\n const docsPath = (() => {\n if (args.cause instanceof BaseError)\n return args.cause.docsPath || args.docsPath;\n return args.docsPath;\n })();\n const docsUrl = errorConfig.getDocsUrl?.({ ...args, docsPath });\n const message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsUrl ? [`Docs: ${docsUrl}`] : []),\n ...(details ? [`Details: ${details}`] : []),\n ...(errorConfig.version ? [`Version: ${errorConfig.version}`] : []),\n ].join('\\n');\n super(message, args.cause ? { cause: args.cause } : undefined);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BaseError'\n });\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.name = args.name ?? this.name;\n this.shortMessage = shortMessage;\n this.version = version;\n }\n walk(fn) {\n return walk(this, fn);\n }\n}\nfunction walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err &&\n typeof err === 'object' &&\n 'cause' in err &&\n err.cause !== undefined)\n return walk(err.cause, fn);\n return fn ? null : err;\n}\n//# sourceMappingURL=base.js.map","import { BaseError } from './base.js';\nexport class SliceOffsetOutOfBoundsError extends BaseError {\n constructor({ offset, position, size, }) {\n super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`, { name: 'SliceOffsetOutOfBoundsError' });\n }\n}\nexport class SizeExceedsPaddingSizeError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`, { name: 'SizeExceedsPaddingSizeError' });\n }\n}\nexport class InvalidBytesLengthError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} is expected to be ${targetSize} ${type} long, but is ${size} ${type} long.`, { name: 'InvalidBytesLengthError' });\n }\n}\n//# sourceMappingURL=data.js.map","import { SizeExceedsPaddingSizeError, } from '../../errors/data.js';\nexport function pad(hexOrBytes, { dir, size = 32 } = {}) {\n if (typeof hexOrBytes === 'string')\n return padHex(hexOrBytes, { dir, size });\n return padBytes(hexOrBytes, { dir, size });\n}\nexport function padHex(hex_, { dir, size = 32 } = {}) {\n if (size === null)\n return hex_;\n const hex = hex_.replace('0x', '');\n if (hex.length > size * 2)\n throw new SizeExceedsPaddingSizeError({\n size: Math.ceil(hex.length / 2),\n targetSize: size,\n type: 'hex',\n });\n return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nexport function padBytes(bytes, { dir, size = 32 } = {}) {\n if (size === null)\n return bytes;\n if (bytes.length > size)\n throw new SizeExceedsPaddingSizeError({\n size: bytes.length,\n targetSize: size,\n type: 'bytes',\n });\n const paddedBytes = new Uint8Array(size);\n for (let i = 0; i < size; i++) {\n const padEnd = dir === 'right';\n paddedBytes[padEnd ? i : size - i - 1] =\n bytes[padEnd ? i : bytes.length - i - 1];\n }\n return paddedBytes;\n}\n//# sourceMappingURL=pad.js.map","import { BaseError } from './base.js';\nexport class IntegerOutOfRangeError extends BaseError {\n constructor({ max, min, signed, size, value, }) {\n super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`, { name: 'IntegerOutOfRangeError' });\n }\n}\nexport class InvalidBytesBooleanError extends BaseError {\n constructor(bytes) {\n super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`, {\n name: 'InvalidBytesBooleanError',\n });\n }\n}\nexport class InvalidHexBooleanError extends BaseError {\n constructor(hex) {\n super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`, { name: 'InvalidHexBooleanError' });\n }\n}\nexport class InvalidHexValueError extends BaseError {\n constructor(value) {\n super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`, { name: 'InvalidHexValueError' });\n }\n}\nexport class SizeOverflowError extends BaseError {\n constructor({ givenSize, maxSize }) {\n super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`, { name: 'SizeOverflowError' });\n }\n}\n//# sourceMappingURL=encoding.js.map","import { InvalidHexBooleanError, SizeOverflowError, } from '../../errors/encoding.js';\nimport { size as size_ } from '../data/size.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBytes } from './toBytes.js';\nexport function assertSize(hexOrBytes, { size }) {\n if (size_(hexOrBytes) > size)\n throw new SizeOverflowError({\n givenSize: size_(hexOrBytes),\n maxSize: size,\n });\n}\n/**\n * Decodes a hex string into a string, number, bigint, boolean, or byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex\n * - Example: https://viem.sh/docs/utilities/fromHex#usage\n *\n * @param hex Hex string to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x1a4', 'number')\n * // 420\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c6421', 'string')\n * // 'Hello world'\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * to: 'string'\n * })\n * // 'Hello world'\n */\nexport function fromHex(hex, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return hexToNumber(hex, opts);\n if (to === 'bigint')\n return hexToBigInt(hex, opts);\n if (to === 'string')\n return hexToString(hex, opts);\n if (to === 'boolean')\n return hexToBool(hex, opts);\n return hexToBytes(hex, opts);\n}\n/**\n * Decodes a hex value into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobigint\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x1a4', { signed: true })\n * // 420n\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420n\n */\nexport function hexToBigInt(hex, opts = {}) {\n const { signed } = opts;\n if (opts.size)\n assertSize(hex, { size: opts.size });\n const value = BigInt(hex);\n if (!signed)\n return value;\n const size = (hex.length - 2) / 2;\n const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n if (value <= max)\n return value;\n return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\n/**\n * Decodes a hex value into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobool\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x01')\n * // true\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })\n * // true\n */\nexport function hexToBool(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = trim(hex);\n }\n if (trim(hex) === '0x00')\n return false;\n if (trim(hex) === '0x01')\n return true;\n throw new InvalidHexBooleanError(hex);\n}\n/**\n * Decodes a hex string into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextonumber\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToNumber('0x1a4')\n * // 420\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420\n */\nexport function hexToNumber(hex, opts = {}) {\n return Number(hexToBigInt(hex, opts));\n}\n/**\n * Decodes a hex value into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextostring\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c6421')\n * // 'Hello world!'\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * })\n * // 'Hello world'\n */\nexport function hexToString(hex, opts = {}) {\n let bytes = hexToBytes(hex);\n if (opts.size) {\n assertSize(bytes, { size: opts.size });\n bytes = trim(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromHex.js.map","import { IntegerOutOfRangeError, } from '../../errors/encoding.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nconst hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\n/**\n * Encodes a string, number, bigint, or ByteArray into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex\n * - Example: https://viem.sh/docs/utilities/toHex#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world')\n * // '0x48656c6c6f20776f726c6421'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex(420)\n * // '0x1a4'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world', { size: 32 })\n * // '0x48656c6c6f20776f726c64210000000000000000000000000000000000000000'\n */\nexport function toHex(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToHex(value, opts);\n if (typeof value === 'string') {\n return stringToHex(value, opts);\n }\n if (typeof value === 'boolean')\n return boolToHex(value, opts);\n return bytesToHex(value, opts);\n}\n/**\n * Encodes a boolean into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#booltohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true)\n * // '0x1'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(false)\n * // '0x0'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true, { size: 32 })\n * // '0x0000000000000000000000000000000000000000000000000000000000000001'\n */\nexport function boolToHex(value, opts = {}) {\n const hex = `0x${Number(value)}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a bytes array into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#bytestohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]), { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function bytesToHex(value, opts = {}) {\n let string = '';\n for (let i = 0; i < value.length; i++) {\n string += hexes[value[i]];\n }\n const hex = `0x${string}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { dir: 'right', size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a number or bigint into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#numbertohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420)\n * // '0x1a4'\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420, { size: 32 })\n * // '0x00000000000000000000000000000000000000000000000000000000000001a4'\n */\nexport function numberToHex(value_, opts = {}) {\n const { signed, size } = opts;\n const value = BigInt(value_);\n let maxValue;\n if (size) {\n if (signed)\n maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n else\n maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n }\n else if (typeof value_ === 'number') {\n maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n }\n const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n if ((maxValue && value > maxValue) || value < minValue) {\n const suffix = typeof value_ === 'bigint' ? 'n' : '';\n throw new IntegerOutOfRangeError({\n max: maxValue ? `${maxValue}${suffix}` : undefined,\n min: `${minValue}${suffix}`,\n signed,\n size,\n value: `${value_}${suffix}`,\n });\n }\n const hex = `0x${(signed && value < 0 ? (1n << BigInt(size * 8)) + BigInt(value) : value).toString(16)}`;\n if (size)\n return pad(hex, { size });\n return hex;\n}\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#stringtohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!')\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!', { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function stringToHex(value_, opts = {}) {\n const value = encoder.encode(value_);\n return bytesToHex(value, opts);\n}\n//# sourceMappingURL=toHex.js.map","import { BaseError } from '../../errors/base.js';\nimport { isHex } from '../data/isHex.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nimport { numberToHex, } from './toHex.js';\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes\n * - Example: https://viem.sh/docs/utilities/toBytes#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes('Hello world')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function toBytes(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToBytes(value, opts);\n if (typeof value === 'boolean')\n return boolToBytes(value, opts);\n if (isHex(value))\n return hexToBytes(value, opts);\n return stringToBytes(value, opts);\n}\n/**\n * Encodes a boolean into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#booltobytes\n *\n * @param value Boolean value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true)\n * // Uint8Array([1])\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true, { size: 32 })\n * // Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\n */\nexport function boolToBytes(value, opts = {}) {\n const bytes = new Uint8Array(1);\n bytes[0] = Number(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { size: opts.size });\n }\n return bytes;\n}\n// We use very optimized technique to convert hex string to byte array\nconst charCodeMap = {\n zero: 48,\n nine: 57,\n A: 65,\n F: 70,\n a: 97,\n f: 102,\n};\nfunction charCodeToBase16(char) {\n if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n return char - charCodeMap.zero;\n if (char >= charCodeMap.A && char <= charCodeMap.F)\n return char - (charCodeMap.A - 10);\n if (char >= charCodeMap.a && char <= charCodeMap.f)\n return char - (charCodeMap.a - 10);\n return undefined;\n}\n/**\n * Encodes a hex string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#hextobytes\n *\n * @param hex Hex string to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function hexToBytes(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = pad(hex, { dir: 'right', size: opts.size });\n }\n let hexString = hex.slice(2);\n if (hexString.length % 2)\n hexString = `0${hexString}`;\n const length = hexString.length / 2;\n const bytes = new Uint8Array(length);\n for (let index = 0, j = 0; index < length; index++) {\n const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++));\n const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++));\n if (nibbleLeft === undefined || nibbleRight === undefined) {\n throw new BaseError(`Invalid byte sequence (\"${hexString[j - 2]}${hexString[j - 1]}\" in \"${hexString}\").`);\n }\n bytes[index] = nibbleLeft * 16 + nibbleRight;\n }\n return bytes;\n}\n/**\n * Encodes a number into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#numbertobytes\n *\n * @param value Number to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function numberToBytes(value, opts) {\n const hex = numberToHex(value, opts);\n return hexToBytes(hex);\n}\n/**\n * Encodes a UTF-8 string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#stringtobytes\n *\n * @param value String to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33])\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function stringToBytes(value, opts = {}) {\n const bytes = encoder.encode(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { dir: 'right', size: opts.size });\n }\n return bytes;\n}\n//# sourceMappingURL=toBytes.js.map","/**\n * Internal assertion helpers.\n * @module\n */\n/** Asserts something is positive integer. */\nfunction anumber(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error('positive integer expected, got ' + n);\n}\n/** Is number an Uint8Array? Copied from utils for perf. */\nfunction isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length);\n}\n/** Asserts something is hash */\nfunction ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n anumber(h.outputLen);\n anumber(h.blockLen);\n}\n/** Asserts a hash instance has not been destroyed / finished */\nfunction aexists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\n/** Asserts output is properly-sized byte array */\nfunction aoutput(out, instance) {\n abytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error('digestInto() expects output buffer of length at least ' + min);\n }\n}\nexport { anumber, abytes, ahash, aexists, aoutput };\n//# sourceMappingURL=_assert.js.map","/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nimport { abytes } from './_assert.js';\n// export { isBytes } from './_assert.js';\n// We can't reuse isBytes from _assert, because somehow this causes huge perf issues\nexport function isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n// Cast array to different type\nexport function u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\nexport function u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n// Cast array to view\nexport function createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** The rotate right (circular right shift) operation for uint32 */\nexport function rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/** The rotate left (circular left shift) operation for uint32 */\nexport function rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n// The byte swap operation for uint32\nexport function byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/** Conditionally byte swap if on a big-endian platform */\nexport const byteSwapIfBE = isLE\n ? (n) => n\n : (n) => byteSwap(n);\n/** In place byte swap for Uint32Array */\nexport function byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n}\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n abytes(bytes);\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n/**\n * Convert hex string to byte array.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nexport const nextTick = async () => { };\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * Convert JS string to byte array.\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error('utf8ToBytes expected string, got ' + typeof str);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n/** For runtime check if class implements interface */\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\n/** Wraps hash function, creating an interface on top of it */\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n // Legacy Node.js compatibility\n if (crypto && typeof crypto.randomBytes === 'function') {\n return crypto.randomBytes(bytesLength);\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","/**\n * SHA3 (keccak) hash function, based on a new \"Sponge function\" design.\n * Different from older hashes, the internal state is bigger than output size.\n *\n * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf),\n * [Website](https://keccak.team/keccak.html),\n * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub).\n *\n * Check out `sha3-addons` module for cSHAKE, k12, and others.\n * @module\n */\nimport { abytes, aexists, anumber, aoutput } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { byteSwap32, Hash, isLE, toBytes, u32, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// Various per round constants calculations\nconst SHA3_PI = [];\nconst SHA3_ROTL = [];\nconst _SHA3_IOTA = [];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n/** `keccakf1600` internal function, additionally allows to adjust round count. */\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\n/** Keccak sponge function. */\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n anumber(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n // 0 < blockLen < 200\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n if (!isLE)\n byteSwap32(this.state32);\n keccakP(this.state32, this.rounds);\n if (!isLE)\n byteSwap32(this.state32);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n aexists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n aexists(this, false);\n abytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n anumber(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n aoutput(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\n/** SHA3-224 hash function. */\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/** SHA3-256 hash function. Different from keccak-256. */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\n/** SHA3-384 hash function. */\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\n/** SHA3-512 hash function. */\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\n/** keccak-224 hash function. */\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/** keccak-256 hash function. Different from SHA3-256. */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\n/** keccak-384 hash function. */\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\n/** keccak-512 hash function. */\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\n/** SHAKE128 XOF with 128-bit security. */\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\n/** SHAKE256 XOF with 256-bit security. */\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","import { keccak_256 } from '@noble/hashes/sha3';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function keccak256(value, to_) {\n const to = to_ || 'hex';\n const bytes = keccak_256(isHex(value, { strict: false }) ? toBytes(value) : value);\n if (to === 'bytes')\n return bytes;\n return toHex(bytes);\n}\n//# sourceMappingURL=keccak256.js.map","/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap extends Map {\n constructor(size) {\n super();\n Object.defineProperty(this, \"maxSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.maxSize = size;\n }\n get(key) {\n const value = super.get(key);\n if (super.has(key) && value !== undefined) {\n this.delete(key);\n super.set(key, value);\n }\n return value;\n }\n set(key, value) {\n super.set(key, value);\n if (this.maxSize && this.size > this.maxSize) {\n const firstKey = this.keys().next().value;\n if (firstKey)\n this.delete(firstKey);\n }\n return this;\n }\n}\n//# sourceMappingURL=lru.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { stringToBytes, } from '../encoding/toBytes.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { LruMap } from '../lru.js';\nimport { isAddress } from './isAddress.js';\nconst checksumAddressCache = /*#__PURE__*/ new LruMap(8192);\nexport function checksumAddress(address_, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n if (checksumAddressCache.has(`${address_}.${chainId}`))\n return checksumAddressCache.get(`${address_}.${chainId}`);\n const hexAddress = chainId\n ? `${chainId}${address_.toLowerCase()}`\n : address_.substring(2).toLowerCase();\n const hash = keccak256(stringToBytes(hexAddress), 'bytes');\n const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n for (let i = 0; i < 40; i += 2) {\n if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n address[i] = address[i].toUpperCase();\n }\n if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n address[i + 1] = address[i + 1].toUpperCase();\n }\n }\n const result = `0x${address.join('')}`;\n checksumAddressCache.set(`${address_}.${chainId}`, result);\n return result;\n}\nexport function getAddress(address, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n if (!isAddress(address, { strict: false }))\n throw new InvalidAddressError({ address });\n return checksumAddress(address, chainId);\n}\n//# sourceMappingURL=getAddress.js.map","import { checksumAddress, } from '../../utils/address/getAddress.js';\nimport { keccak256, } from '../../utils/hash/keccak256.js';\n/**\n * @description Converts an ECDSA public key to an address.\n *\n * @param publicKey The public key to convert.\n *\n * @returns The address.\n */\nexport function publicKeyToAddress(publicKey) {\n const address = keccak256(`0x${publicKey.substring(4)}`).substring(26);\n return checksumAddress(`0x${address}`);\n}\n//# sourceMappingURL=publicKeyToAddress.js.map","import { isHex } from '../data/isHex.js';\nimport { hexToBigInt, hexToNumber, } from '../encoding/fromHex.js';\nimport { toHex } from '../encoding/toHex.js';\nexport async function recoverPublicKey({ hash, signature, }) {\n const hashHex = isHex(hash) ? hash : toHex(hash);\n const { secp256k1 } = await import('@noble/curves/secp256k1');\n const signature_ = (() => {\n // typeof signature: `Signature`\n if (typeof signature === 'object' && 'r' in signature && 's' in signature) {\n const { r, s, v, yParity } = signature;\n const yParityOrV = Number(yParity ?? v);\n const recoveryBit = toRecoveryBit(yParityOrV);\n return new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).addRecoveryBit(recoveryBit);\n }\n // typeof signature: `Hex | ByteArray`\n const signatureHex = isHex(signature) ? signature : toHex(signature);\n const yParityOrV = hexToNumber(`0x${signatureHex.slice(130)}`);\n const recoveryBit = toRecoveryBit(yParityOrV);\n return secp256k1.Signature.fromCompact(signatureHex.substring(2, 130)).addRecoveryBit(recoveryBit);\n })();\n const publicKey = signature_\n .recoverPublicKey(hashHex.substring(2))\n .toHex(false);\n return `0x${publicKey}`;\n}\nfunction toRecoveryBit(yParityOrV) {\n if (yParityOrV === 0 || yParityOrV === 1)\n return yParityOrV;\n if (yParityOrV === 27)\n return 0;\n if (yParityOrV === 28)\n return 1;\n throw new Error('Invalid yParityOrV value');\n}\n//# sourceMappingURL=recoverPublicKey.js.map","import { publicKeyToAddress } from '../../accounts/utils/publicKeyToAddress.js';\nimport { recoverPublicKey } from './recoverPublicKey.js';\nexport async function recoverAddress({ hash, signature, }) {\n return publicKeyToAddress(await recoverPublicKey({ hash: hash, signature }));\n}\n//# sourceMappingURL=recoverAddress.js.map","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (psz < source.length) {\n // Find code of next character\n const charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n let carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import basex from 'base-x';\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nexport default basex(ALPHABET);\n","import{detect as jo}from\"detect-browser\";import{toMiliseconds as Ie,FIVE_MINUTES as xn,fromMiliseconds as Co}from\"@walletconnect/time\";import{getDocument as Yt,getNavigator as Sn,getLocation as On}from\"@walletconnect/window-getters\";import{getWindowMetadata as Po}from\"@walletconnect/window-metadata\";import{recoverAddress as ko}from\"viem\";import Vo from\"bs58\";import{decodeJWT as Mo}from\"@walletconnect/relay-auth\";import{toString as Q,fromString as rt,concat as Gt}from\"uint8arrays\";import{RELAY_JSONRPC as Do}from\"@walletconnect/relay-api\";const ae=\":\";function Ne(t){const[e,n]=t.split(ae);return{namespace:e,reference:n}}function An(t){const{namespace:e,reference:n}=t;return[e,n].join(ae)}function Ue(t){const[e,n,r]=t.split(ae);return{namespace:e,reference:n,address:r}}function Bn(t){const{namespace:e,reference:n,address:r}=t;return[e,n,r].join(ae)}function Te(t,e){const n=[];return t.forEach(r=>{const o=e(r);n.includes(o)||n.push(o)}),n}function In(t){const{address:e}=Ue(t);return e}function Nn(t){const{namespace:e,reference:n}=Ue(t);return An({namespace:e,reference:n})}function Ho(t,e){const{namespace:n,reference:r}=Ne(e);return Bn({namespace:n,reference:r,address:t})}function qo(t){return Te(t,In)}function Un(t){return Te(t,Nn)}function Ko(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...o.accounts)}),n}function Fo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...Un(o.accounts))}),n}function zo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...ue(r,o))}),n}function ue(t,e){return t.includes(\":\")?[t]:e.chains||[]}var Zo=Object.defineProperty,Yo=Object.defineProperties,Go=Object.getOwnPropertyDescriptors,Tn=Object.getOwnPropertySymbols,Wo=Object.prototype.hasOwnProperty,Xo=Object.prototype.propertyIsEnumerable,Rn=(t,e,n)=>e in t?Zo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,_n=(t,e)=>{for(var n in e||(e={}))Wo.call(e,n)&&Rn(t,n,e[n]);if(Tn)for(var n of Tn(e))Xo.call(e,n)&&Rn(t,n,e[n]);return t},Jo=(t,e)=>Yo(t,Go(e));const $n=\"ReactNative\",Y={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},fe=\" \",Qo=\":\",Ln=\"/\",Re=2,ti=1e3,jn=\"js\";function _e(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function pt(){return!Yt()&&!!Sn()&&navigator.product===$n}function ei(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function ni(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Tt(){return!_e()&&!!Sn()&&!!Yt()}function xt(){return pt()?Y.reactNative:_e()?Y.node:Tt()?Y.browser:Y.unknown}function ri(){var t;try{return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Cn(t,e){const n=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const o=e[r];o!==void 0&&n.set(r,o)}return n.toString()}function oi(t){var e,n;const r=Pn();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(o=>o!==\"\")),Jo(_n(_n({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(n=t?.icons)!=null&&n.length&&t.icons.length>0?t.icons:r.icons})}catch(o){return console.warn(\"Error populating app metadata\",o),t||r}}function Pn(){return Po()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function ii(t,e){var n;const r=xt(),o={protocol:t,version:e,env:r};return r===\"browser\"&&(o.host=((n=On())==null?void 0:n.host)||\"unknown\"),o}function kn(){if(xt()===Y.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const t=jo();if(t===null)return\"unknown\";const e=t.os?t.os.replace(\" \",\"\").toLowerCase():\"unknown\";return t.type===\"browser\"?[e,t.name,t.version].join(\"-\"):[e,t.version].join(\"-\")}function Vn(){var t;const e=xt();return e===Y.browser?[e,((t=On())==null?void 0:t.host)||\"unknown\"].join(\":\"):e}function Mn(t,e,n){const r=kn(),o=Vn();return[[t,e].join(\"-\"),[jn,n].join(\"-\"),r,o].join(\"/\")}function si({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:o,projectId:i,useOnCloseEvent:s,bundleId:c,packageName:a}){const u=n.split(\"?\"),l=Mn(t,e,r),f={auth:o,ua:l,projectId:i,useOnCloseEvent:s||void 0,packageName:a||void 0,bundleId:c||void 0},h=Cn(u[1]||\"\",f);return u[0]+\"?\"+h}function ci(t){let e=(t.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof e<\"u\"?t.split(\"://\")[1]:t;return e=e===\"wss\"?\"https\":\"http\",[e,n].join(\"://\")}function ai(t,e,n){if(!t[e]||typeof t[e]!==n)throw new Error(`Missing or invalid \"${e}\" param`)}function Dn(t,e=Re){return Hn(t.split(Ln),e)}function ui(t){return Dn(t).join(fe)}function gt(t,e){return t.filter(n=>e.includes(n)).length===t.length}function Hn(t,e=Re){return t.slice(Math.max(t.length-e,0))}function fi(t){return Object.fromEntries(t.entries())}function li(t){return new Map(Object.entries(t))}function di(t,e){const n={};return Object.keys(t).forEach(r=>{n[r]=e(t[r])}),n}const hi=t=>t;function qn(t){return t.trim().replace(/^\\w/,e=>e.toUpperCase())}function pi(t){return t.split(fe).map(e=>qn(e)).join(fe)}function gi(t=xn,e){const n=Ie(t||xn);let r,o,i,s;return{resolve:c=>{i&&r&&(clearTimeout(i),r(c),s=Promise.resolve(c))},reject:c=>{i&&o&&(clearTimeout(i),o(c))},done:()=>new Promise((c,a)=>{if(s)return c(s);i=setTimeout(()=>{const u=new Error(e);s=Promise.reject(u),a(u)},n),r=c,o=a})}}function yi(t,e,n){return new Promise(async(r,o)=>{const i=setTimeout(()=>o(new Error(n)),e);try{const s=await t;r(s)}catch(s){o(s)}clearTimeout(i)})}function $e(t,e){if(typeof e==\"string\"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()===\"topic\"){if(typeof e!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()===\"id\"){if(typeof e!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function mi(t){return $e(\"topic\",t)}function wi(t){return $e(\"id\",t)}function bi(t){const[e,n]=t.split(\":\"),r={id:void 0,topic:void 0};if(e===\"topic\"&&typeof n==\"string\")r.topic=n;else if(e===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return r}function Ei(t,e){return Co((e||Date.now())+Ie(t))}function vi(t){return Date.now()>=Ie(t)}function xi(t,e){return`${t}${e?`:${e}`:\"\"}`}function ot(t=[],e=[]){return[...new Set([...t,...e])]}async function Si({id:t,topic:e,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,i=o?.href;if(typeof i!=\"string\")return;const s=Kn(i,t,e),c=xt();if(c===Y.browser){if(!((r=Yt())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}Fn(s)}else c===Y.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(o){console.error(o)}}function Kn(t,e,n){const r=`requestId=${e}&sessionTopic=${n}`;t.endsWith(\"/\")&&(t=t.slice(0,-1));let o=`${t}`;if(t.startsWith(\"https://t.me\")){const i=t.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${i}${Yn(r,!0)}`}else o=`${o}/wc?${r}`;return o}function Fn(t){let e=\"_self\";Zn()?e=\"_top\":(zn()||t.startsWith(\"https://\")||t.startsWith(\"http://\"))&&(e=\"_blank\"),window.open(t,e,\"noreferrer noopener\")}async function Oi(t,e){let n=\"\";try{if(Tt()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function Le(t,e){return t.filter(n=>e.includes(n))}function Ai(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function Bi(){return typeof crypto<\"u\"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t===\"x\"?e:e&3|8).toString(16)})}function Ii(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function zn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Zn(){try{return window.self!==window.top}catch{return!1}}function Yn(t,e=!1){const n=Buffer.from(t).toString(\"base64\");return e?n.replace(/[=]/g,\"\"):n}function je(t){return Buffer.from(t,\"base64\").toString(\"utf-8\")}function Ni(t){return new Promise(e=>setTimeout(e,t))}function Wt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Ui(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function Xt(t,...e){if(!Ui(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function Ce(t){if(typeof t!=\"function\"||typeof t.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Wt(t.outputLen),Wt(t.blockLen)}function Rt(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function Gn(t,e){Xt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const le=BigInt(2**32-1),Wn=BigInt(32);function Ti(t,e=!1){return e?{h:Number(t&le),l:Number(t>>Wn&le)}:{h:Number(t>>Wn&le)|0,l:Number(t&le)|0}}function Ri(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let o=0;o<t.length;o++){const{h:i,l:s}=Ti(t[o],e);[n[o],r[o]]=[i,s]}return[n,r]}const _i=(t,e,n)=>t<<n|e>>>32-n,$i=(t,e,n)=>e<<n|t>>>32-n,Li=(t,e,n)=>e<<n-32|t>>>64-n,ji=(t,e,n)=>t<<n-32|e>>>64-n,_t=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function Ci(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Pe(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ct(t,e){return t<<32-e|t>>>e}const Xn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Pi(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Jn(t){for(let e=0;e<t.length;e++)t[e]=Pi(t[e])}function ki(t){if(typeof t!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function $t(t){return typeof t==\"string\"&&(t=ki(t)),Xt(t),t}function Vi(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];Xt(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}class ke{clone(){return this._cloneInto()}}function Qn(t){const e=r=>t().update($t(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Lt(t=32){if(_t&&typeof _t.getRandomValues==\"function\")return _t.getRandomValues(new Uint8Array(t));if(_t&&typeof _t.randomBytes==\"function\")return _t.randomBytes(t);throw new Error(\"crypto.getRandomValues must be defined\")}const tr=[],er=[],nr=[],Mi=BigInt(0),Jt=BigInt(1),Di=BigInt(2),Hi=BigInt(7),qi=BigInt(256),Ki=BigInt(113);for(let t=0,e=Jt,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],tr.push(2*(5*r+n)),er.push((t+1)*(t+2)/2%64);let o=Mi;for(let i=0;i<7;i++)e=(e<<Jt^(e>>Hi)*Ki)%qi,e&Di&&(o^=Jt<<(Jt<<BigInt(i))-Jt);nr.push(o)}const[Fi,zi]=Ri(nr,!0),rr=(t,e,n)=>n>32?Li(t,e,n):_i(t,e,n),or=(t,e,n)=>n>32?ji(t,e,n):$i(t,e,n);function Zi(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let s=0;s<10;s++)n[s]=t[s]^t[s+10]^t[s+20]^t[s+30]^t[s+40];for(let s=0;s<10;s+=2){const c=(s+8)%10,a=(s+2)%10,u=n[a],l=n[a+1],f=rr(u,l,1)^n[c],h=or(u,l,1)^n[c+1];for(let y=0;y<50;y+=10)t[s+y]^=f,t[s+y+1]^=h}let o=t[2],i=t[3];for(let s=0;s<24;s++){const c=er[s],a=rr(o,i,c),u=or(o,i,c),l=tr[s];o=t[l],i=t[l+1],t[l]=a,t[l+1]=u}for(let s=0;s<50;s+=10){for(let c=0;c<10;c++)n[c]=t[s+c];for(let c=0;c<10;c++)t[s+c]^=~n[(c+2)%10]&n[(c+4)%10]}t[0]^=Fi[r],t[1]^=zi[r]}n.fill(0)}class En extends ke{constructor(e,n,r,o=!1,i=24){if(super(),this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Wt(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=Ci(this.state)}keccak(){Xn||Jn(this.state32),Zi(this.state32,this.rounds),Xn||Jn(this.state32),this.posOut=0,this.pos=0}update(e){Rt(this);const{blockLen:n,state:r}=this;e=$t(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(n-this.pos,o-i);for(let c=0;c<s;c++)r[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:o}=this;e[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Rt(this,!1),Xt(e),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,i=e.length;o<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-o);e.set(n.subarray(this.posOut,this.posOut+s),o),this.posOut+=s,o+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return Wt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Gn(e,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:o,rounds:i,enableXOF:s}=this;return e||(e=new En(n,r,o,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=o,e.enableXOF=s,e.destroyed=this.destroyed,e}}const Yi=(t,e,n)=>Qn(()=>new En(e,t,n)),Gi=Yi(1,136,256/8),Wi=\"https://rpc.walletconnect.org/v1\";function Ve(t){const e=`\u0019Ethereum Signed Message:\n${t.length}`,n=new TextEncoder().encode(e+t);return\"0x\"+Buffer.from(Gi(n)).toString(\"hex\")}async function ir(t,e,n,r,o,i){switch(n.t){case\"eip191\":return await sr(t,e,n.s);case\"eip1271\":return await cr(t,e,n.s,r,o,i);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function sr(t,e,n){return(await ko({hash:Ve(e),signature:n})).toLowerCase()===t.toLowerCase()}async function cr(t,e,n,r,o,i){const s=Ne(r);if(!s.namespace||!s.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",a=\"0000000000000000000000000000000000000000000000000000000000000040\",u=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=Ve(e).substring(2),h=c+f+a+u+l,y=await fetch(`${i||Wi}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Xi(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:t,data:h},\"latest\"]})}),{result:E}=await y.json();return E?E.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Xi(){return Date.now()+Math.floor(Math.random()*1e3)}function Ji(t){const e=atob(t),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);const r=n[0];if(r===0)throw new Error(\"No signatures found\");const o=1+r*64;if(n.length<o)throw new Error(\"Transaction data too short for claimed signature count\");if(n.length<100)throw new Error(\"Transaction too short\");const i=Buffer.from(t,\"base64\").slice(1,65);return Vo.encode(i)}var Qi=Object.defineProperty,ts=Object.defineProperties,es=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,rs=Object.prototype.propertyIsEnumerable,ur=(t,e,n)=>e in t?Qi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Me=(t,e)=>{for(var n in e||(e={}))ns.call(e,n)&&ur(t,n,e[n]);if(ar)for(var n of ar(e))rs.call(e,n)&&ur(t,n,e[n]);return t},fr=(t,e)=>ts(t,es(e));const os=\"did:pkh:\",de=t=>t?.split(\":\"),lr=t=>{const e=t&&de(t);if(e)return t.includes(os)?e[3]:e[1]},dr=t=>{const e=t&&de(t);if(e)return e[2]+\":\"+e[3]},De=t=>{const e=t&&de(t);if(e)return e.pop()};async function is(t){const{cacao:e,projectId:n}=t,{s:r,p:o}=e,i=hr(o,o.iss),s=De(o.iss);return await ir(s,i,r,dr(o.iss),n)}const hr=(t,e)=>{const n=`${t.domain} wants you to sign in with your Ethereum account:`,r=De(e);if(!t.aud&&!t.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=t.statement||void 0;const i=`URI: ${t.aud||t.uri}`,s=`Version: ${t.version}`,c=`Chain ID: ${lr(e)}`,a=`Nonce: ${t.nonce}`,u=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,f=t.nbf?`Not Before: ${t.nbf}`:void 0,h=t.requestId?`Request ID: ${t.requestId}`:void 0,y=t.resources?`Resources:${t.resources.map(p=>`\n- ${p}`).join(\"\")}`:void 0,E=pe(t.resources);if(E){const p=yt(E);o=Ke(o,p)}return[n,r,\"\",o,\"\",i,s,c,a,u,l,f,h,y].filter(p=>p!=null).join(`\n`)};function ss(t,e,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:t.domain,aud:t.aud,version:t.version,nonce:t.nonce,iat:t.iat,statement:t.statement,requestId:t.requestId,resources:t.resources,nbf:t.nbf,exp:t.exp},s:e}}function cs(t){var e;const{authPayload:n,chains:r,methods:o}=t,i=n.statement||\"\";if(!(r!=null&&r.length))return n;const s=n.chains,c=Le(s,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const a=pr(n.resources);if(!a)return n;at(a);const u=gr(a,\"eip155\");let l=n?.resources||[];if(u!=null&&u.length){const f=yr(u),h=Le(f,o);if(!(h!=null&&h.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const y=He(\"request\",h,{chains:c}),E=Er(a,\"eip155\",y);l=((e=n?.resources)==null?void 0:e.slice(0,-1))||[],l.push(he(E))}return fr(Me({},n),{statement:xr(i,pe(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function pr(t){const e=pe(t);if(e&&qe(e))return yt(e)}function as(t,e){var n;return(n=t?.att)==null?void 0:n.hasOwnProperty(e)}function gr(t,e){var n,r;return(n=t?.att)!=null&&n[e]?Object.keys((r=t?.att)==null?void 0:r[e]):[]}function us(t){return t?.map(e=>Object.keys(e))||[]}function yr(t){return t?.map(e=>{var n;return(n=e.split(\"/\"))==null?void 0:n[1]})||[]}function mr(t){return Buffer.from(JSON.stringify(t)).toString(\"base64\")}function wr(t){return JSON.parse(Buffer.from(t,\"base64\").toString(\"utf-8\"))}function at(t){if(!t)throw new Error(\"No recap provided, value is undefined\");if(!t.att)throw new Error(\"No `att` property found\");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error(\"No resources found in `att` property\");e.forEach(n=>{const r=t.att[n];if(Array.isArray(r))throw new Error(`Resource must be an object: ${n}`);if(typeof r!=\"object\")throw new Error(`Resource must be an object: ${n}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${n}`);Object.keys(r).forEach(o=>{const i=r[o];if(!Array.isArray(i))throw new Error(`Ability limits ${o} must be an array of objects, found: ${i}`);if(!i.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);i.forEach(s=>{if(typeof s!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${s}`)})})})}function br(t,e,n,r={}){return n?.sort((o,i)=>o.localeCompare(i)),{att:{[t]:He(e,n,r)}}}function Er(t,e,n){var r;t.att[e]=Me({},n);const o=(r=Object.keys(t.att))==null?void 0:r.sort((s,c)=>s.localeCompare(c)),i={att:{}};return o.reduce((s,c)=>(s.att[c]=t.att[c],s),i)}function He(t,e,n={}){e=e?.sort((o,i)=>o.localeCompare(i));const r=e.map(o=>({[`${t}/${o}`]:[n]}));return Object.assign({},...r)}function he(t){return at(t),`urn:recap:${mr(t).replace(/=/g,\"\")}`}function yt(t){const e=wr(t.replace(\"urn:recap:\",\"\"));return at(e),e}function fs(t,e,n){const r=br(t,e,n);return he(r)}function qe(t){return t&&t.includes(\"urn:recap:\")}function ls(t,e){const n=yt(t),r=yt(e),o=vr(n,r);return he(o)}function vr(t,e){at(t),at(e);const n=Object.keys(t.att).concat(Object.keys(e.att)).sort((o,i)=>o.localeCompare(i)),r={att:{}};return n.forEach(o=>{var i,s;Object.keys(((i=t.att)==null?void 0:i[o])||{}).concat(Object.keys(((s=e.att)==null?void 0:s[o])||{})).sort((c,a)=>c.localeCompare(a)).forEach(c=>{var a,u;r.att[o]=fr(Me({},r.att[o]),{[c]:((a=t.att[o])==null?void 0:a[c])||((u=e.att[o])==null?void 0:u[c])})})}),r}function Ke(t=\"\",e){at(e);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(t.includes(n))return t;const r=[];let o=0;Object.keys(e.att).forEach(c=>{const a=Object.keys(e.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));a.sort((f,h)=>f.action.localeCompare(h.action));const u={};a.forEach(f=>{u[f.ability]||(u[f.ability]=[]),u[f.ability].push(f.action)});const l=Object.keys(u).map(f=>(o++,`(${o}) '${f}': '${u[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const i=r.join(\" \"),s=`${n}${i}`;return`${t?t+\" \":\"\"}${s}`}function ds(t){var e;const n=yt(t);at(n);const r=(e=n.att)==null?void 0:e.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function hs(t){const e=yt(t);at(e);const n=[];return Object.values(e.att).forEach(r=>{Object.values(r).forEach(o=>{var i;(i=o?.[0])!=null&&i.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function xr(t,e){if(!e)return t;const n=yt(e);return at(n),Ke(t,n)}function pe(t){if(!t)return;const e=t?.[t.length-1];return qe(e)?e:void 0}function Fe(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Sr(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function tt(t,...e){if(!Sr(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function Or(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function ps(t,e){tt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}function Ar(t){if(typeof t!=\"boolean\")throw new Error(`boolean expected, not ${t}`)}const mt=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),gs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ys=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ys)throw new Error(\"Non little-endian hardware is not supported\");function ms(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}function ze(t){if(typeof t==\"string\")t=ms(t);else if(Sr(t))t=Ze(t);else throw new Error(\"Uint8Array expected, got \"+typeof t);return t}function ws(t,e){if(e==null||typeof e!=\"object\")throw new Error(\"options must be defined\");return Object.assign(t,e)}function bs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}const Es=(t,e)=>{function n(r,...o){if(tt(r),t.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");t.varSizeNonce?tt(l):tt(l,t.nonceLength)}const i=t.tagLength;i&&o[1]!==void 0&&tt(o[1]);const s=e(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");tt(f)}};let a=!1;return{encrypt(l,f){if(a)throw new Error(\"cannot encrypt() twice with same key + nonce\");return a=!0,tt(l),c(s.encrypt.length,f),s.encrypt(l,f)},decrypt(l,f){if(tt(l),i&&l.length<i)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+i);return c(s.decrypt.length,f),s.decrypt(l,f)}}}return Object.assign(n,t),n};function Br(t,e,n=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error(\"invalid output length, expected \"+t+\", got: \"+e.length);if(n&&!vs(e))throw new Error(\"invalid output, must be aligned\");return e}function Ir(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function vs(t){return t.byteOffset%4===0}function Ze(t){return Uint8Array.from(t)}function jt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const Nr=t=>Uint8Array.from(t.split(\"\").map(e=>e.charCodeAt(0))),xs=Nr(\"expand 16-byte k\"),Ss=Nr(\"expand 32-byte k\"),Os=mt(xs),As=mt(Ss);function V(t,e){return t<<e|t>>>32-e}function Ye(t){return t.byteOffset%4===0}const ge=64,Bs=16,Ur=2**32-1,Tr=new Uint32Array;function Is(t,e,n,r,o,i,s,c){const a=o.length,u=new Uint8Array(ge),l=mt(u),f=Ye(o)&&Ye(i),h=f?mt(o):Tr,y=f?mt(i):Tr;for(let E=0;E<a;s++){if(t(e,n,r,l,s,c),s>=Ur)throw new Error(\"arx: counter overflow\");const p=Math.min(ge,a-E);if(f&&p===ge){const d=E/4;if(E%4!==0)throw new Error(\"arx: invalid block position\");for(let v=0,m;v<Bs;v++)m=d+v,y[m]=h[m]^l[v];E+=ge;continue}for(let d=0,v;d<p;d++)v=E+d,i[v]=o[v]^u[d];E+=p}}function Ns(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:i,rounds:s}=ws({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!=\"function\")throw new Error(\"core must be a function\");return Fe(o),Fe(s),Ar(i),Ar(n),(c,a,u,l,f=0)=>{tt(c),tt(a),tt(u);const h=u.length;if(l===void 0&&(l=new Uint8Array(h)),tt(l),Fe(f),f<0||f>=Ur)throw new Error(\"arx: counter overflow\");if(l.length<h)throw new Error(`arx: output (${l.length}) is shorter than data (${h})`);const y=[];let E=c.length,p,d;if(E===32)y.push(p=Ze(c)),d=As;else if(E===16&&n)p=new Uint8Array(32),p.set(c),p.set(c,16),d=Os,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${E}`);Ye(a)||y.push(a=Ze(a));const v=mt(p);if(r){if(a.length!==24)throw new Error(\"arx: extended nonce must be 24 bytes\");r(d,v,mt(a.subarray(0,16)),v),a=a.subarray(16)}const m=16-o;if(m!==a.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(m!==12){const N=new Uint8Array(12);N.set(a,i?0:12-a.length),a=N,y.push(a)}const O=mt(a);return Is(t,d,v,O,u,l,f,s),jt(...y),l}}const F=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Us{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=ze(e),tt(e,32);const n=F(e,0),r=F(e,2),o=F(e,4),i=F(e,6),s=F(e,8),c=F(e,10),a=F(e,12),u=F(e,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|i<<9)&8191,this.r[4]=(i>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|c<<2)&8191,this.r[7]=(c>>>11|a<<5)&8065,this.r[8]=(a>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=F(e,16+2*l)}process(e,n,r=!1){const o=r?0:2048,{h:i,r:s}=this,c=s[0],a=s[1],u=s[2],l=s[3],f=s[4],h=s[5],y=s[6],E=s[7],p=s[8],d=s[9],v=F(e,n+0),m=F(e,n+2),O=F(e,n+4),N=F(e,n+6),$=F(e,n+8),B=F(e,n+10),A=F(e,n+12),T=F(e,n+14);let S=i[0]+(v&8191),L=i[1]+((v>>>13|m<<3)&8191),U=i[2]+((m>>>10|O<<6)&8191),_=i[3]+((O>>>7|N<<9)&8191),j=i[4]+((N>>>4|$<<12)&8191),g=i[5]+($>>>1&8191),w=i[6]+(($>>>14|B<<2)&8191),b=i[7]+((B>>>11|A<<5)&8191),I=i[8]+((A>>>8|T<<8)&8191),R=i[9]+(T>>>5|o),x=0,C=x+S*c+L*(5*d)+U*(5*p)+_*(5*E)+j*(5*y);x=C>>>13,C&=8191,C+=g*(5*h)+w*(5*f)+b*(5*l)+I*(5*u)+R*(5*a),x+=C>>>13,C&=8191;let P=x+S*a+L*c+U*(5*d)+_*(5*p)+j*(5*E);x=P>>>13,P&=8191,P+=g*(5*y)+w*(5*h)+b*(5*f)+I*(5*l)+R*(5*u),x+=P>>>13,P&=8191;let k=x+S*u+L*a+U*c+_*(5*d)+j*(5*p);x=k>>>13,k&=8191,k+=g*(5*E)+w*(5*y)+b*(5*h)+I*(5*f)+R*(5*l),x+=k>>>13,k&=8191;let M=x+S*l+L*u+U*a+_*c+j*(5*d);x=M>>>13,M&=8191,M+=g*(5*p)+w*(5*E)+b*(5*y)+I*(5*h)+R*(5*f),x+=M>>>13,M&=8191;let D=x+S*f+L*l+U*u+_*a+j*c;x=D>>>13,D&=8191,D+=g*(5*d)+w*(5*p)+b*(5*E)+I*(5*y)+R*(5*h),x+=D>>>13,D&=8191;let z=x+S*h+L*f+U*l+_*u+j*a;x=z>>>13,z&=8191,z+=g*c+w*(5*d)+b*(5*p)+I*(5*E)+R*(5*y),x+=z>>>13,z&=8191;let Z=x+S*y+L*h+U*f+_*l+j*u;x=Z>>>13,Z&=8191,Z+=g*a+w*c+b*(5*d)+I*(5*p)+R*(5*E),x+=Z>>>13,Z&=8191;let st=x+S*E+L*y+U*h+_*f+j*l;x=st>>>13,st&=8191,st+=g*u+w*a+b*c+I*(5*d)+R*(5*p),x+=st>>>13,st&=8191;let W=x+S*p+L*E+U*y+_*h+j*f;x=W>>>13,W&=8191,W+=g*l+w*u+b*a+I*c+R*(5*d),x+=W>>>13,W&=8191;let J=x+S*d+L*p+U*E+_*y+j*h;x=J>>>13,J&=8191,J+=g*f+w*l+b*u+I*a+R*c,x+=J>>>13,J&=8191,x=(x<<2)+x|0,x=x+C|0,C=x&8191,x=x>>>13,P+=x,i[0]=C,i[1]=P,i[2]=k,i[3]=M,i[4]=D,i[5]=z,i[6]=Z,i[7]=st,i[8]=W,i[9]=J}finalize(){const{h:e,pad:n}=this,r=new Uint16Array(10);let o=e[1]>>>13;e[1]&=8191;for(let c=2;c<10;c++)e[c]+=o,o=e[c]>>>13,e[c]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=e[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let i=(o^1)-1;for(let c=0;c<10;c++)r[c]&=i;i=~i;for(let c=0;c<10;c++)e[c]=e[c]&i|r[c];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let s=e[0]+n[0];e[0]=s&65535;for(let c=1;c<8;c++)s=(e[c]+n[c]|0)+(s>>>16)|0,e[c]=s&65535;jt(r)}update(e){Or(this);const{buffer:n,blockLen:r}=this;e=ze(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(r-this.pos,o-i);if(s===r){for(;r<=o-i;i+=r)this.process(e,i);continue}n.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){jt(this.h,this.r,this.buffer,this.pad)}digestInto(e){Or(this),ps(e,this),this.finished=!0;const{buffer:n,h:r}=this;let{pos:o}=this;if(o){for(n[o++]=1;o<16;o++)n[o]=0;this.process(n,0,!0)}this.finalize();let i=0;for(let s=0;s<8;s++)e[i++]=r[s]>>>0,e[i++]=r[s]>>>8;return e}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}}function Ts(t){const e=(r,o)=>t(o).update(ze(r)).digest(),n=t(new Uint8Array(32));return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}const Rs=Ts(t=>new Us(t));function _s(t,e,n,r,o,i=20){let s=t[0],c=t[1],a=t[2],u=t[3],l=e[0],f=e[1],h=e[2],y=e[3],E=e[4],p=e[5],d=e[6],v=e[7],m=o,O=n[0],N=n[1],$=n[2],B=s,A=c,T=a,S=u,L=l,U=f,_=h,j=y,g=E,w=p,b=d,I=v,R=m,x=O,C=N,P=$;for(let M=0;M<i;M+=2)B=B+L|0,R=V(R^B,16),g=g+R|0,L=V(L^g,12),B=B+L|0,R=V(R^B,8),g=g+R|0,L=V(L^g,7),A=A+U|0,x=V(x^A,16),w=w+x|0,U=V(U^w,12),A=A+U|0,x=V(x^A,8),w=w+x|0,U=V(U^w,7),T=T+_|0,C=V(C^T,16),b=b+C|0,_=V(_^b,12),T=T+_|0,C=V(C^T,8),b=b+C|0,_=V(_^b,7),S=S+j|0,P=V(P^S,16),I=I+P|0,j=V(j^I,12),S=S+j|0,P=V(P^S,8),I=I+P|0,j=V(j^I,7),B=B+U|0,P=V(P^B,16),b=b+P|0,U=V(U^b,12),B=B+U|0,P=V(P^B,8),b=b+P|0,U=V(U^b,7),A=A+_|0,R=V(R^A,16),I=I+R|0,_=V(_^I,12),A=A+_|0,R=V(R^A,8),I=I+R|0,_=V(_^I,7),T=T+j|0,x=V(x^T,16),g=g+x|0,j=V(j^g,12),T=T+j|0,x=V(x^T,8),g=g+x|0,j=V(j^g,7),S=S+L|0,C=V(C^S,16),w=w+C|0,L=V(L^w,12),S=S+L|0,C=V(C^S,8),w=w+C|0,L=V(L^w,7);let k=0;r[k++]=s+B|0,r[k++]=c+A|0,r[k++]=a+T|0,r[k++]=u+S|0,r[k++]=l+L|0,r[k++]=f+U|0,r[k++]=h+_|0,r[k++]=y+j|0,r[k++]=E+g|0,r[k++]=p+w|0,r[k++]=d+b|0,r[k++]=v+I|0,r[k++]=m+R|0,r[k++]=O+x|0,r[k++]=N+C|0,r[k++]=$+P|0}const $s=Ns(_s,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ls=new Uint8Array(16),Rr=(t,e)=>{t.update(e);const n=e.length%16;n&&t.update(Ls.subarray(n))},js=new Uint8Array(32);function _r(t,e,n,r,o){const i=t(e,n,js),s=Rs.create(i);o&&Rr(s,o),Rr(s,r);const c=new Uint8Array(16),a=gs(c);Ir(a,0,BigInt(o?o.length:0),!0),Ir(a,8,BigInt(r.length),!0),s.update(c);const u=s.digest();return jt(i,c),u}const Cs=t=>(e,n,r)=>({encrypt(i,s){const c=i.length;s=Br(c+16,s,!1),s.set(i);const a=s.subarray(0,-16);t(e,n,a,a,1);const u=_r(t,e,n,a,r);return s.set(u,c),jt(u),s},decrypt(i,s){s=Br(i.length-16,s,!1);const c=i.subarray(0,-16),a=i.subarray(-16),u=_r(t,e,n,c,r);if(!bs(a,u))throw new Error(\"invalid tag\");return s.set(i.subarray(0,-16)),t(e,n,s,s,1),jt(u),s}}),$r=Es({blockSize:64,nonceLength:12,tagLength:16},Cs($s));class Lr extends ke{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Ce(e);const r=$t(n);if(this.iHash=e.create(),typeof this.iHash.update!=\"function\")throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?e.create().update(r).digest():r);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(e){return Rt(this),this.iHash.update(e),this}digestInto(e){Rt(this),Xt(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ye=(t,e,n)=>new Lr(t,e).update(n).digest();ye.create=(t,e)=>new Lr(t,e);function Ps(t,e,n){return Ce(t),n===void 0&&(n=new Uint8Array(t.outputLen)),ye(t,$t(n),$t(e))}const Ge=new Uint8Array([0]),jr=new Uint8Array;function ks(t,e,n,r=32){if(Ce(t),Wt(r),r>255*t.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=jr);const i=new Uint8Array(o*t.outputLen),s=ye.create(t,e),c=s._cloneInto(),a=new Uint8Array(s.outputLen);for(let u=0;u<o;u++)Ge[0]=u+1,c.update(u===0?jr:a).update(n).update(Ge).digestInto(a),i.set(a,t.outputLen*u),s._cloneInto(c);return s.destroy(),c.destroy(),a.fill(0),Ge.fill(0),i.slice(0,r)}const Vs=(t,e,n,r,o)=>ks(t,Ps(t,e,n),r,o);function Ms(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function Ds(t,e,n){return t&e^~t&n}function Hs(t,e,n){return t&e^t&n^e&n}class qs extends ke{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Pe(this.buffer)}update(e){Rt(this);const{view:n,buffer:r,blockLen:o}=this;e=$t(e);const i=e.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const a=Pe(e);for(;o<=i-s;s+=o)this.process(a,s);continue}r.set(e.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Rt(this),Gn(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let f=s;f<o;f++)n[f]=0;Ms(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Pe(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const u=a/4,l=this.get();if(u>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f<u;f++)c.setUint32(4*f,l[f],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return e.length=o,e.pos=c,e.finished=i,e.destroyed=s,o%n&&e.buffer.set(r),e}}const Ks=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bt=new Uint32Array(64);class Fs extends qs{constructor(){super(64,32,8,!1),this.A=wt[0]|0,this.B=wt[1]|0,this.C=wt[2]|0,this.D=wt[3]|0,this.E=wt[4]|0,this.F=wt[5]|0,this.G=wt[6]|0,this.H=wt[7]|0}get(){const{A:e,B:n,C:r,D:o,E:i,F:s,G:c,H:a}=this;return[e,n,r,o,i,s,c,a]}set(e,n,r,o,i,s,c,a){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(e,n){for(let f=0;f<16;f++,n+=4)bt[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const h=bt[f-15],y=bt[f-2],E=ct(h,7)^ct(h,18)^h>>>3,p=ct(y,17)^ct(y,19)^y>>>10;bt[f]=p+bt[f-7]+E+bt[f-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:a,G:u,H:l}=this;for(let f=0;f<64;f++){const h=ct(c,6)^ct(c,11)^ct(c,25),y=l+h+Ds(c,a,u)+Ks[f]+bt[f]|0,p=(ct(r,2)^ct(r,13)^ct(r,22))+Hs(r,o,i)|0;l=u,u=a,a=c,c=s+y|0,s=i,i=o,o=r,r=y+p|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,o,i,s,c,a,u,l)}roundClean(){bt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Qt=Qn(()=>new Fs);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const me=BigInt(0),we=BigInt(1),zs=BigInt(2);function St(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function te(t){if(!St(t))throw new Error(\"Uint8Array expected\")}function Ct(t,e){if(typeof e!=\"boolean\")throw new Error(t+\" boolean expected, got \"+e)}const Zs=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,\"0\"));function Pt(t){te(t);let e=\"\";for(let n=0;n<t.length;n++)e+=Zs[t[n]];return e}function kt(t){const e=t.toString(16);return e.length&1?\"0\"+e:e}function We(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);return t===\"\"?me:BigInt(\"0x\"+t)}const ut={_0:48,_9:57,A:65,F:70,a:97,f:102};function Cr(t){if(t>=ut._0&&t<=ut._9)return t-ut._0;if(t>=ut.A&&t<=ut.F)return t-(ut.A-10);if(t>=ut.a&&t<=ut.f)return t-(ut.a-10)}function Vt(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error(\"hex string expected, got unpadded hex of length \"+e);const r=new Uint8Array(n);for(let o=0,i=0;o<n;o++,i+=2){const s=Cr(t.charCodeAt(i)),c=Cr(t.charCodeAt(i+1));if(s===void 0||c===void 0){const a=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character \"'+a+'\" at index '+i)}r[o]=s*16+c}return r}function Ot(t){return We(Pt(t))}function ee(t){return te(t),We(Pt(Uint8Array.from(t).reverse()))}function Mt(t,e){return Vt(t.toString(16).padStart(e*2,\"0\"))}function be(t,e){return Mt(t,e).reverse()}function Ys(t){return Vt(kt(t))}function et(t,e,n){let r;if(typeof e==\"string\")try{r=Vt(e)}catch(i){throw new Error(t+\" must be hex string or Uint8Array, cause: \"+i)}else if(St(e))r=Uint8Array.from(e);else throw new Error(t+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(t+\" of length \"+n+\" expected, got \"+o);return r}function ne(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];te(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}function Gs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}function Ws(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}const Xe=t=>typeof t==\"bigint\"&&me<=t;function Ee(t,e,n){return Xe(t)&&Xe(e)&&Xe(n)&&e<=t&&t<n}function ft(t,e,n,r){if(!Ee(e,n,r))throw new Error(\"expected valid \"+t+\": \"+n+\" <= n < \"+r+\", got \"+e)}function Pr(t){let e;for(e=0;t>me;t>>=we,e+=1);return e}function Xs(t,e){return t>>BigInt(e)&we}function Js(t,e,n){return t|(n?we:me)<<BigInt(e)}const Je=t=>(zs<<BigInt(t-1))-we,Qe=t=>new Uint8Array(t),kr=t=>Uint8Array.from(t);function Vr(t,e,n){if(typeof t!=\"number\"||t<2)throw new Error(\"hashLen must be a number\");if(typeof e!=\"number\"||e<2)throw new Error(\"qByteLen must be a number\");if(typeof n!=\"function\")throw new Error(\"hmacFn must be a function\");let r=Qe(t),o=Qe(t),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},c=(...f)=>n(o,r,...f),a=(f=Qe())=>{o=c(kr([0]),f),r=c(),f.length!==0&&(o=c(kr([1]),f),r=c())},u=()=>{if(i++>=1e3)throw new Error(\"drbg: tried 1000 values\");let f=0;const h=[];for(;f<e;){r=c();const y=r.slice();h.push(y),f+=r.length}return ne(...h)};return(f,h)=>{s(),a(f);let y;for(;!(y=h(u()));)a();return s(),y}}const Qs={bigint:t=>typeof t==\"bigint\",function:t=>typeof t==\"function\",boolean:t=>typeof t==\"boolean\",string:t=>typeof t==\"string\",stringOrUint8Array:t=>typeof t==\"string\"||St(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t==\"function\"&&Number.isSafeInteger(t.outputLen)};function Dt(t,e,n={}){const r=(o,i,s)=>{const c=Qs[i];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const a=t[o];if(!(s&&a===void 0)&&!c(a,t))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+i+\", got \"+a)};for(const[o,i]of Object.entries(e))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return t}const tc=()=>{throw new Error(\"not implemented\")};function tn(t){const e=new WeakMap;return(n,...r)=>{const o=e.get(n);if(o!==void 0)return o;const i=t(n,...r);return e.set(n,i),i}}var ec=Object.freeze({__proto__:null,isBytes:St,abytes:te,abool:Ct,bytesToHex:Pt,numberToHexUnpadded:kt,hexToNumber:We,hexToBytes:Vt,bytesToNumberBE:Ot,bytesToNumberLE:ee,numberToBytesBE:Mt,numberToBytesLE:be,numberToVarBytesBE:Ys,ensureBytes:et,concatBytes:ne,equalBytes:Gs,utf8ToBytes:Ws,inRange:Ee,aInRange:ft,bitLen:Pr,bitGet:Xs,bitSet:Js,bitMask:Je,createHmacDrbg:Vr,validateObject:Dt,notImplemented:tc,memoized:tn});const q=BigInt(0),H=BigInt(1),At=BigInt(2),nc=BigInt(3),en=BigInt(4),Mr=BigInt(5),Dr=BigInt(8);function X(t,e){const n=t%e;return n>=q?n:e+n}function Hr(t,e,n){if(e<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=q)throw new Error(\"invalid modulus\");if(n===H)return q;let r=H;for(;e>q;)e&H&&(r=r*t%n),t=t*t%n,e>>=H;return r}function it(t,e,n){let r=t;for(;e-- >q;)r*=r,r%=n;return r}function nn(t,e){if(t===q)throw new Error(\"invert: expected non-zero number\");if(e<=q)throw new Error(\"invert: expected positive modulus, got \"+e);let n=X(t,e),r=e,o=q,i=H;for(;n!==q;){const c=r/n,a=r%n,u=o-i*c;r=n,n=a,o=i,i=u}if(r!==H)throw new Error(\"invert: does not exist\");return X(o,e)}function rc(t){const e=(t-H)/At;let n,r,o;for(n=t-H,r=0;n%At===q;n/=At,r++);for(o=At;o<t&&Hr(o,e,t)!==t-H;o++)if(o>1e3)throw new Error(\"Cannot find square root: likely non-prime P\");if(r===1){const s=(t+H)/en;return function(a,u){const l=a.pow(u,s);if(!a.eql(a.sqr(l),u))throw new Error(\"Cannot find square root\");return l}}const i=(n+H)/At;return function(c,a){if(c.pow(a,e)===c.neg(c.ONE))throw new Error(\"Cannot find square root\");let u=r,l=c.pow(c.mul(c.ONE,o),n),f=c.pow(a,i),h=c.pow(a,n);for(;!c.eql(h,c.ONE);){if(c.eql(h,c.ZERO))return c.ZERO;let y=1;for(let p=c.sqr(h);y<u&&!c.eql(p,c.ONE);y++)p=c.sqr(p);const E=c.pow(l,H<<BigInt(u-y-1));l=c.sqr(E),f=c.mul(f,E),h=c.mul(h,l),u=y}return f}}function oc(t){if(t%en===nc){const e=(t+H)/en;return function(r,o){const i=r.pow(o,e);if(!r.eql(r.sqr(i),o))throw new Error(\"Cannot find square root\");return i}}if(t%Dr===Mr){const e=(t-Mr)/Dr;return function(r,o){const i=r.mul(o,At),s=r.pow(i,e),c=r.mul(o,s),a=r.mul(r.mul(c,At),s),u=r.mul(c,r.sub(a,r.ONE));if(!r.eql(r.sqr(u),o))throw new Error(\"Cannot find square root\");return u}}return rc(t)}const ic=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function sc(t){const e={ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"},n=ic.reduce((r,o)=>(r[o]=\"function\",r),e);return Dt(t,n)}function cc(t,e,n){if(n<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n===q)return t.ONE;if(n===H)return e;let r=t.ONE,o=e;for(;n>q;)n&H&&(r=t.mul(r,o)),o=t.sqr(o),n>>=H;return r}function ac(t,e){const n=new Array(e.length),r=e.reduce((i,s,c)=>t.is0(s)?i:(n[c]=i,t.mul(i,s)),t.ONE),o=t.inv(r);return e.reduceRight((i,s,c)=>t.is0(s)?i:(n[c]=t.mul(i,n[c]),t.mul(i,s)),o),n}function qr(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Kr(t,e,n=!1,r={}){if(t<=q)throw new Error(\"invalid field: expected ORDER > 0, got \"+t);const{nBitLength:o,nByteLength:i}=qr(t,e);if(i>2048)throw new Error(\"invalid field: expected ORDER of <= 2048 bytes\");let s;const c=Object.freeze({ORDER:t,isLE:n,BITS:o,BYTES:i,MASK:Je(o),ZERO:q,ONE:H,create:a=>X(a,t),isValid:a=>{if(typeof a!=\"bigint\")throw new Error(\"invalid field element: expected bigint, got \"+typeof a);return q<=a&&a<t},is0:a=>a===q,isOdd:a=>(a&H)===H,neg:a=>X(-a,t),eql:(a,u)=>a===u,sqr:a=>X(a*a,t),add:(a,u)=>X(a+u,t),sub:(a,u)=>X(a-u,t),mul:(a,u)=>X(a*u,t),pow:(a,u)=>cc(c,a,u),div:(a,u)=>X(a*nn(u,t),t),sqrN:a=>a*a,addN:(a,u)=>a+u,subN:(a,u)=>a-u,mulN:(a,u)=>a*u,inv:a=>nn(a,t),sqrt:r.sqrt||(a=>(s||(s=oc(t)),s(c,a))),invertBatch:a=>ac(c,a),cmov:(a,u,l)=>l?u:a,toBytes:a=>n?be(a,i):Mt(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(\"Field.fromBytes: expected \"+i+\" bytes, got \"+a.length);return n?ee(a):Ot(a)}});return Object.freeze(c)}function Fr(t){if(typeof t!=\"bigint\")throw new Error(\"field order must be bigint\");const e=t.toString(2).length;return Math.ceil(e/8)}function zr(t){const e=Fr(t);return e+Math.ceil(e/2)}function uc(t,e,n=!1){const r=t.length,o=Fr(e),i=zr(e);if(r<16||r<i||r>1024)throw new Error(\"expected \"+i+\"-1024 bytes of input, got \"+r);const s=n?ee(t):Ot(t),c=X(s,e-H)+H;return n?be(c,o):Mt(c,o)}const Zr=BigInt(0),ve=BigInt(1);function rn(t,e){const n=e.negate();return t?n:e}function Yr(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error(\"invalid window size, expected [1..\"+e+\"], got W=\"+t)}function on(t,e){Yr(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1);return{windows:n,windowSize:r}}function fc(t,e){if(!Array.isArray(t))throw new Error(\"array expected\");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error(\"invalid point at index \"+r)})}function lc(t,e){if(!Array.isArray(t))throw new Error(\"array of scalars expected\");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error(\"invalid scalar at index \"+r)})}const sn=new WeakMap,Gr=new WeakMap;function cn(t){return Gr.get(t)||1}function dc(t,e){return{constTimeNegate:rn,hasPrecomputes(n){return cn(n)!==1},unsafeLadder(n,r,o=t.ZERO){let i=n;for(;r>Zr;)r&ve&&(o=o.add(i)),i=i.double(),r>>=ve;return o},precomputeWindow(n,r){const{windows:o,windowSize:i}=on(r,e),s=[];let c=n,a=c;for(let u=0;u<o;u++){a=c,s.push(a);for(let l=1;l<i;l++)a=a.add(c),s.push(a);c=a.double()}return s},wNAF(n,r,o){const{windows:i,windowSize:s}=on(n,e);let c=t.ZERO,a=t.BASE;const u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<i;h++){const y=h*s;let E=Number(o&u);o>>=f,E>s&&(E-=l,o+=ve);const p=y,d=y+Math.abs(E)-1,v=h%2!==0,m=E<0;E===0?a=a.add(rn(v,r[p])):c=c.add(rn(m,r[d]))}return{p:c,f:a}},wNAFUnsafe(n,r,o,i=t.ZERO){const{windows:s,windowSize:c}=on(n,e),a=BigInt(2**n-1),u=2**n,l=BigInt(n);for(let f=0;f<s;f++){const h=f*c;if(o===Zr)break;let y=Number(o&a);if(o>>=l,y>c&&(y-=u,o+=ve),y===0)continue;let E=r[h+Math.abs(y)-1];y<0&&(E=E.negate()),i=i.add(E)}return i},getPrecomputes(n,r,o){let i=sn.get(r);return i||(i=this.precomputeWindow(r,n),n!==1&&sn.set(r,o(i))),i},wNAFCached(n,r,o){const i=cn(n);return this.wNAF(i,this.getPrecomputes(i,n,o),r)},wNAFCachedUnsafe(n,r,o,i){const s=cn(n);return s===1?this.unsafeLadder(n,r,i):this.wNAFUnsafe(s,this.getPrecomputes(s,n,o),r,i)},setWindowSize(n,r){Yr(r,e),Gr.set(n,r),sn.delete(n)}}}function hc(t,e,n,r){if(fc(n,t),lc(r,e),n.length!==r.length)throw new Error(\"arrays of points and scalars must have equal length\");const o=t.ZERO,i=Pr(BigInt(n.length)),s=i>12?i-3:i>4?i-2:i?2:1,c=(1<<s)-1,a=new Array(c+1).fill(o),u=Math.floor((e.BITS-1)/s)*s;let l=o;for(let f=u;f>=0;f-=s){a.fill(o);for(let y=0;y<r.length;y++){const E=r[y],p=Number(E>>BigInt(f)&BigInt(c));a[p]=a[p].add(n[y])}let h=o;for(let y=a.length-1,E=o;y>0;y--)E=E.add(a[y]),h=h.add(E);if(l=l.add(h),f!==0)for(let y=0;y<s;y++)l=l.double()}return l}function Wr(t){return sc(t.Fp),Dt(t,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...qr(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Ht=BigInt(0),an=BigInt(1);function pc(t){return Dt(t,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...t})}function gc(t){const e=pc(t),{P:n}=e,r=m=>X(m,n),o=e.montgomeryBits,i=Math.ceil(o/8),s=e.nByteLength,c=e.adjustScalarBytes||(m=>m),a=e.powPminus2||(m=>Hr(m,n-BigInt(2),n));function u(m,O,N){const $=r(m*(O-N));return O=r(O-$),N=r(N+$),[O,N]}const l=(e.a-BigInt(2))/BigInt(4);function f(m,O){ft(\"u\",m,Ht,n),ft(\"scalar\",O,Ht,n);const N=O,$=m;let B=an,A=Ht,T=m,S=an,L=Ht,U;for(let j=BigInt(o-1);j>=Ht;j--){const g=N>>j&an;L^=g,U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1],L=g;const w=B+A,b=r(w*w),I=B-A,R=r(I*I),x=b-R,C=T+S,P=T-S,k=r(P*w),M=r(C*I),D=k+M,z=k-M;T=r(D*D),S=r($*r(z*z)),B=r(b*R),A=r(x*(b+r(l*x)))}U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1];const _=a(A);return r(B*_)}function h(m){return be(r(m),i)}function y(m){const O=et(\"u coordinate\",m,i);return s===32&&(O[31]&=127),ee(O)}function E(m){const O=et(\"scalar\",m),N=O.length;if(N!==i&&N!==s){let $=\"\"+i+\" or \"+s;throw new Error(\"invalid scalar, expected \"+$+\" bytes, got \"+N)}return ee(c(O))}function p(m,O){const N=y(O),$=E(m),B=f(N,$);if(B===Ht)throw new Error(\"invalid private or public key received\");return h(B)}const d=h(e.Gu);function v(m){return p(m,d)}return{scalarMult:p,scalarMultBase:v,getSharedSecret:(m,O)=>p(m,O),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:d}}const un=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const yc=BigInt(1),Xr=BigInt(2),mc=BigInt(3),wc=BigInt(5);BigInt(8);function bc(t){const e=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),i=un,c=t*t%i*t%i,a=it(c,Xr,i)*c%i,u=it(a,yc,i)*t%i,l=it(u,wc,i)*u%i,f=it(l,e,i)*l%i,h=it(f,n,i)*f%i,y=it(h,r,i)*h%i,E=it(y,o,i)*y%i,p=it(E,o,i)*y%i,d=it(p,e,i)*l%i;return{pow_p_5_8:it(d,Xr,i)*t%i,b2:c}}function Ec(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const fn=gc({P:un,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=un,{pow_p_5_8:n,b2:r}=bc(t);return X(it(n,mc,e)*r,e)},adjustScalarBytes:Ec,randomBytes:Lt});function Jr(t){t.lowS!==void 0&&Ct(\"lowS\",t.lowS),t.prehash!==void 0&&Ct(\"prehash\",t.prehash)}function vc(t){const e=Wr(t);Dt(e,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error(\"invalid endomorphism, can only be defined for Koblitz curves that have a=0\");if(typeof n!=\"object\"||typeof n.beta!=\"bigint\"||typeof n.splitScalar!=\"function\")throw new Error(\"invalid endomorphism, expected beta: bigint and splitScalar: function\")}return Object.freeze({...e})}const{bytesToNumberBE:xc,hexToBytes:Sc}=ec;class Oc extends Error{constructor(e=\"\"){super(e)}}const lt={Err:Oc,_tlv:{encode:(t,e)=>{const{Err:n}=lt;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length&1)throw new n(\"tlv.encode: unpadded data\");const r=e.length/2,o=kt(r);if(o.length/2&128)throw new n(\"tlv.encode: long form length too big\");const i=r>127?kt(o.length/2|128):\"\";return kt(t)+i+o+e},decode(t,e){const{Err:n}=lt;let r=0;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length<2||e[r++]!==t)throw new n(\"tlv.decode: wrong tlv\");const o=e[r++],i=!!(o&128);let s=0;if(!i)s=o;else{const a=o&127;if(!a)throw new n(\"tlv.decode(long): indefinite length not supported\");if(a>4)throw new n(\"tlv.decode(long): byte length is too big\");const u=e.subarray(r,r+a);if(u.length!==a)throw new n(\"tlv.decode: length bytes not complete\");if(u[0]===0)throw new n(\"tlv.decode(long): zero leftmost byte\");for(const l of u)s=s<<8|l;if(r+=a,s<128)throw new n(\"tlv.decode(long): not minimal encoding\")}const c=e.subarray(r,r+s);if(c.length!==s)throw new n(\"tlv.decode: wrong value length\");return{v:c,l:e.subarray(r+s)}}},_int:{encode(t){const{Err:e}=lt;if(t<dt)throw new e(\"integer: negative integers are not allowed\");let n=kt(t);if(Number.parseInt(n[0],16)&8&&(n=\"00\"+n),n.length&1)throw new e(\"unexpected DER parsing assertion: unpadded hex\");return n},decode(t){const{Err:e}=lt;if(t[0]&128)throw new e(\"invalid signature integer: negative\");if(t[0]===0&&!(t[1]&128))throw new e(\"invalid signature integer: unnecessary leading zero\");return xc(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=lt,o=typeof t==\"string\"?Sc(t):t;te(o);const{v:i,l:s}=r.decode(48,o);if(s.length)throw new e(\"invalid signature: left bytes after parsing\");const{v:c,l:a}=r.decode(2,i),{v:u,l}=r.decode(2,a);if(l.length)throw new e(\"invalid signature: left bytes after parsing\");return{r:n.decode(c),s:n.decode(u)}},hexFromSig(t){const{_tlv:e,_int:n}=lt,r=e.encode(2,n.encode(t.r)),o=e.encode(2,n.encode(t.s)),i=r+o;return e.encode(48,i)}},dt=BigInt(0),K=BigInt(1);BigInt(2);const Qr=BigInt(3);BigInt(4);function Ac(t){const e=vc(t),{Fp:n}=e,r=Kr(e.n,e.nBitLength),o=e.toBytes||((p,d,v)=>{const m=d.toAffine();return ne(Uint8Array.from([4]),n.toBytes(m.x),n.toBytes(m.y))}),i=e.fromBytes||(p=>{const d=p.subarray(1),v=n.fromBytes(d.subarray(0,n.BYTES)),m=n.fromBytes(d.subarray(n.BYTES,2*n.BYTES));return{x:v,y:m}});function s(p){const{a:d,b:v}=e,m=n.sqr(p),O=n.mul(m,p);return n.add(n.add(O,n.mul(p,d)),v)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error(\"bad generator point: equation left != right\");function c(p){return Ee(p,K,e.n)}function a(p){const{allowedPrivateKeyLengths:d,nByteLength:v,wrapPrivateKey:m,n:O}=e;if(d&&typeof p!=\"bigint\"){if(St(p)&&(p=Pt(p)),typeof p!=\"string\"||!d.includes(p.length))throw new Error(\"invalid private key\");p=p.padStart(v*2,\"0\")}let N;try{N=typeof p==\"bigint\"?p:Ot(et(\"private key\",p,v))}catch{throw new Error(\"invalid private key, expected hex or \"+v+\" bytes, got \"+typeof p)}return m&&(N=X(N,O)),ft(\"private key\",N,K,O),N}function u(p){if(!(p instanceof h))throw new Error(\"ProjectivePoint expected\")}const l=tn((p,d)=>{const{px:v,py:m,pz:O}=p;if(n.eql(O,n.ONE))return{x:v,y:m};const N=p.is0();d==null&&(d=N?n.ONE:n.inv(O));const $=n.mul(v,d),B=n.mul(m,d),A=n.mul(O,d);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql(A,n.ONE))throw new Error(\"invZ was invalid\");return{x:$,y:B}}),f=tn(p=>{if(p.is0()){if(e.allowInfinityPoint&&!n.is0(p.py))return;throw new Error(\"bad point: ZERO\")}const{x:d,y:v}=p.toAffine();if(!n.isValid(d)||!n.isValid(v))throw new Error(\"bad point: x or y not FE\");const m=n.sqr(v),O=s(d);if(!n.eql(m,O))throw new Error(\"bad point: equation left != right\");if(!p.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0});class h{constructor(d,v,m){if(this.px=d,this.py=v,this.pz=m,d==null||!n.isValid(d))throw new Error(\"x required\");if(v==null||!n.isValid(v))throw new Error(\"y required\");if(m==null||!n.isValid(m))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(d){const{x:v,y:m}=d||{};if(!d||!n.isValid(v)||!n.isValid(m))throw new Error(\"invalid affine point\");if(d instanceof h)throw new Error(\"projective point not allowed\");const O=N=>n.eql(N,n.ZERO);return O(v)&&O(m)?h.ZERO:new h(v,m,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){const v=n.invertBatch(d.map(m=>m.pz));return d.map((m,O)=>m.toAffine(v[O])).map(h.fromAffine)}static fromHex(d){const v=h.fromAffine(i(et(\"pointHex\",d)));return v.assertValidity(),v}static fromPrivateKey(d){return h.BASE.multiply(a(d))}static msm(d,v){return hc(h,r,d,v)}_setWindowSize(d){E.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){const{y:d}=this.toAffine();if(n.isOdd)return!n.isOdd(d);throw new Error(\"Field doesn't support isOdd\")}equals(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d,A=n.eql(n.mul(v,B),n.mul(N,O)),T=n.eql(n.mul(m,B),n.mul($,O));return A&&T}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){const{a:d,b:v}=e,m=n.mul(v,Qr),{px:O,py:N,pz:$}=this;let B=n.ZERO,A=n.ZERO,T=n.ZERO,S=n.mul(O,O),L=n.mul(N,N),U=n.mul($,$),_=n.mul(O,N);return _=n.add(_,_),T=n.mul(O,$),T=n.add(T,T),B=n.mul(d,T),A=n.mul(m,U),A=n.add(B,A),B=n.sub(L,A),A=n.add(L,A),A=n.mul(B,A),B=n.mul(_,B),T=n.mul(m,T),U=n.mul(d,U),_=n.sub(S,U),_=n.mul(d,_),_=n.add(_,T),T=n.add(S,S),S=n.add(T,S),S=n.add(S,U),S=n.mul(S,_),A=n.add(A,S),U=n.mul(N,$),U=n.add(U,U),S=n.mul(U,_),B=n.sub(B,S),T=n.mul(U,L),T=n.add(T,T),T=n.add(T,T),new h(B,A,T)}add(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d;let A=n.ZERO,T=n.ZERO,S=n.ZERO;const L=e.a,U=n.mul(e.b,Qr);let _=n.mul(v,N),j=n.mul(m,$),g=n.mul(O,B),w=n.add(v,m),b=n.add(N,$);w=n.mul(w,b),b=n.add(_,j),w=n.sub(w,b),b=n.add(v,O);let I=n.add(N,B);return b=n.mul(b,I),I=n.add(_,g),b=n.sub(b,I),I=n.add(m,O),A=n.add($,B),I=n.mul(I,A),A=n.add(j,g),I=n.sub(I,A),S=n.mul(L,b),A=n.mul(U,g),S=n.add(A,S),A=n.sub(j,S),S=n.add(j,S),T=n.mul(A,S),j=n.add(_,_),j=n.add(j,_),g=n.mul(L,g),b=n.mul(U,b),j=n.add(j,g),g=n.sub(_,g),g=n.mul(L,g),b=n.add(b,g),_=n.mul(j,b),T=n.add(T,_),_=n.mul(I,b),A=n.mul(w,A),A=n.sub(A,_),_=n.mul(w,j),S=n.mul(I,S),S=n.add(S,_),new h(A,T,S)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return E.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){const{endo:v,n:m}=e;ft(\"scalar\",d,dt,m);const O=h.ZERO;if(d===dt)return O;if(this.is0()||d===K)return this;if(!v||E.hasPrecomputes(this))return E.wNAFCachedUnsafe(this,d,h.normalizeZ);let{k1neg:N,k1:$,k2neg:B,k2:A}=v.splitScalar(d),T=O,S=O,L=this;for(;$>dt||A>dt;)$&K&&(T=T.add(L)),A&K&&(S=S.add(L)),L=L.double(),$>>=K,A>>=K;return N&&(T=T.negate()),B&&(S=S.negate()),S=new h(n.mul(S.px,v.beta),S.py,S.pz),T.add(S)}multiply(d){const{endo:v,n:m}=e;ft(\"scalar\",d,K,m);let O,N;if(v){const{k1neg:$,k1:B,k2neg:A,k2:T}=v.splitScalar(d);let{p:S,f:L}=this.wNAF(B),{p:U,f:_}=this.wNAF(T);S=E.constTimeNegate($,S),U=E.constTimeNegate(A,U),U=new h(n.mul(U.px,v.beta),U.py,U.pz),O=S.add(U),N=L.add(_)}else{const{p:$,f:B}=this.wNAF(d);O=$,N=B}return h.normalizeZ([O,N])[0]}multiplyAndAddUnsafe(d,v,m){const O=h.BASE,N=(B,A)=>A===dt||A===K||!B.equals(O)?B.multiplyUnsafe(A):B.multiply(A),$=N(this,v).add(N(d,m));return $.is0()?void 0:$}toAffine(d){return l(this,d)}isTorsionFree(){const{h:d,isTorsionFree:v}=e;if(d===K)return!0;if(v)return v(h,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:d,clearCofactor:v}=e;return d===K?this:v?v(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return Ct(\"isCompressed\",d),this.assertValidity(),o(h,this,d)}toHex(d=!0){return Ct(\"isCompressed\",d),Pt(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);const y=e.nBitLength,E=dc(h,e.endo?Math.ceil(y/2):y);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:c}}function Bc(t){const e=Wr(t);return Dt(e,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...e})}function Ic(t){const e=Bc(t),{Fp:n,n:r}=e,o=n.BYTES+1,i=2*n.BYTES+1;function s(g){return X(g,r)}function c(g){return nn(g,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:f}=Ac({...e,toBytes(g,w,b){const I=w.toAffine(),R=n.toBytes(I.x),x=ne;return Ct(\"isCompressed\",b),b?x(Uint8Array.from([w.hasEvenY()?2:3]),R):x(Uint8Array.from([4]),R,n.toBytes(I.y))},fromBytes(g){const w=g.length,b=g[0],I=g.subarray(1);if(w===o&&(b===2||b===3)){const R=Ot(I);if(!Ee(R,K,n.ORDER))throw new Error(\"Point is not on curve\");const x=l(R);let C;try{C=n.sqrt(x)}catch(M){const D=M instanceof Error?\": \"+M.message:\"\";throw new Error(\"Point is not on curve\"+D)}const P=(C&K)===K;return(b&1)===1!==P&&(C=n.neg(C)),{x:R,y:C}}else if(w===i&&b===4){const R=n.fromBytes(I.subarray(0,n.BYTES)),x=n.fromBytes(I.subarray(n.BYTES,2*n.BYTES));return{x:R,y:x}}else{const R=o,x=i;throw new Error(\"invalid Point, expected length of \"+R+\", or uncompressed \"+x+\", got \"+w)}}}),h=g=>Pt(Mt(g,e.nByteLength));function y(g){const w=r>>K;return g>w}function E(g){return y(g)?s(-g):g}const p=(g,w,b)=>Ot(g.slice(w,b));class d{constructor(w,b,I){this.r=w,this.s=b,this.recovery=I,this.assertValidity()}static fromCompact(w){const b=e.nByteLength;return w=et(\"compactSignature\",w,b*2),new d(p(w,0,b),p(w,b,2*b))}static fromDER(w){const{r:b,s:I}=lt.toSig(et(\"DER\",w));return new d(b,I)}assertValidity(){ft(\"r\",this.r,K,r),ft(\"s\",this.s,K,r)}addRecoveryBit(w){return new d(this.r,this.s,w)}recoverPublicKey(w){const{r:b,s:I,recovery:R}=this,x=B(et(\"msgHash\",w));if(R==null||![0,1,2,3].includes(R))throw new Error(\"recovery id invalid\");const C=R===2||R===3?b+e.n:b;if(C>=n.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const P=(R&1)===0?\"02\":\"03\",k=a.fromHex(P+h(C)),M=c(C),D=s(-x*M),z=s(I*M),Z=a.BASE.multiplyAndAddUnsafe(k,D,z);if(!Z)throw new Error(\"point at infinify\");return Z.assertValidity(),Z}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return Vt(this.toDERHex())}toDERHex(){return lt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vt(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const v={isValidPrivateKey(g){try{return u(g),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const g=zr(e.n);return uc(e.randomBytes(g),e.n)},precompute(g=8,w=a.BASE){return w._setWindowSize(g),w.multiply(BigInt(3)),w}};function m(g,w=!0){return a.fromPrivateKey(g).toRawBytes(w)}function O(g){const w=St(g),b=typeof g==\"string\",I=(w||b)&&g.length;return w?I===o||I===i:b?I===2*o||I===2*i:g instanceof a}function N(g,w,b=!0){if(O(g))throw new Error(\"first arg must be private key\");if(!O(w))throw new Error(\"second arg must be public key\");return a.fromHex(w).multiply(u(g)).toRawBytes(b)}const $=e.bits2int||function(g){if(g.length>8192)throw new Error(\"input is too large\");const w=Ot(g),b=g.length*8-e.nBitLength;return b>0?w>>BigInt(b):w},B=e.bits2int_modN||function(g){return s($(g))},A=Je(e.nBitLength);function T(g){return ft(\"num < 2^\"+e.nBitLength,g,dt,A),Mt(g,e.nByteLength)}function S(g,w,b=L){if([\"recovered\",\"canonical\"].some(W=>W in b))throw new Error(\"sign() legacy options not supported\");const{hash:I,randomBytes:R}=e;let{lowS:x,prehash:C,extraEntropy:P}=b;x==null&&(x=!0),g=et(\"msgHash\",g),Jr(b),C&&(g=et(\"prehashed msgHash\",I(g)));const k=B(g),M=u(w),D=[T(M),T(k)];if(P!=null&&P!==!1){const W=P===!0?R(n.BYTES):P;D.push(et(\"extraEntropy\",W))}const z=ne(...D),Z=k;function st(W){const J=$(W);if(!f(J))return;const Be=c(J),zt=a.BASE.multiply(J).toAffine(),vt=s(zt.x);if(vt===dt)return;const Zt=s(Be*s(Z+vt*M));if(Zt===dt)return;let Ut=(zt.x===vt?0:2)|Number(zt.y&K),vn=Zt;return x&&y(Zt)&&(vn=E(Zt),Ut^=1),new d(vt,vn,Ut)}return{seed:z,k2sig:st}}const L={lowS:e.lowS,prehash:!1},U={lowS:e.lowS,prehash:!1};function _(g,w,b=L){const{seed:I,k2sig:R}=S(g,w,b),x=e;return Vr(x.hash.outputLen,x.nByteLength,x.hmac)(I,R)}a.BASE._setWindowSize(8);function j(g,w,b,I=U){const R=g;w=et(\"msgHash\",w),b=et(\"publicKey\",b);const{lowS:x,prehash:C,format:P}=I;if(Jr(I),\"strict\"in I)throw new Error(\"options.strict was renamed to lowS\");if(P!==void 0&&P!==\"compact\"&&P!==\"der\")throw new Error(\"format must be compact or der\");const k=typeof R==\"string\"||St(R),M=!k&&!P&&typeof R==\"object\"&&R!==null&&typeof R.r==\"bigint\"&&typeof R.s==\"bigint\";if(!k&&!M)throw new Error(\"invalid signature, expected Uint8Array, hex string or Signature instance\");let D,z;try{if(M&&(D=new d(R.r,R.s)),k){try{P!==\"compact\"&&(D=d.fromDER(R))}catch(Ut){if(!(Ut instanceof lt.Err))throw Ut}!D&&P!==\"der\"&&(D=d.fromCompact(R))}z=a.fromHex(b)}catch{return!1}if(!D||x&&D.hasHighS())return!1;C&&(w=e.hash(w));const{r:Z,s:st}=D,W=B(w),J=c(st),Be=s(W*J),zt=s(Z*J),vt=a.BASE.multiplyAndAddUnsafe(z,Be,zt)?.toAffine();return vt?s(vt.x)===Z:!1}return{CURVE:e,getPublicKey:m,getSharedSecret:N,sign:_,verify:j,ProjectivePoint:a,Signature:d,utils:v}}function Nc(t){return{hash:t,hmac:(e,...n)=>ye(t,e,Vi(...n)),randomBytes:Lt}}function Uc(t,e){const n=r=>Ic({...t,...Nc(r)});return{...n(e),create:n}}const to=Kr(BigInt(\"0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff\")),Tc=to.create(BigInt(\"-3\")),Rc=BigInt(\"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\"),_c=Uc({a:Tc,b:Rc,Fp:to,n:BigInt(\"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\"),Gx:BigInt(\"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\"),Gy:BigInt(\"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"),h:BigInt(1),lowS:!1},Qt),ln=\"base10\",G=\"base16\",qt=\"base64pad\",xe=\"base64url\",Kt=\"utf8\",dn=0,Ft=1,re=2,$c=0,eo=1,oe=12,hn=32;function Lc(){const t=fn.utils.randomPrivateKey(),e=fn.getPublicKey(t);return{privateKey:Q(t,G),publicKey:Q(e,G)}}function jc(){const t=Lt(hn);return Q(t,G)}function Cc(t,e){const n=fn.getSharedSecret(rt(t,G),rt(e,G)),r=Vs(Qt,n,void 0,void 0,hn);return Q(r,G)}function Pc(t){const e=Qt(rt(t,G));return Q(e,G)}function kc(t){const e=Qt(rt(t,Kt));return Q(e,G)}function pn(t){return rt(`${t}`,ln)}function Bt(t){return Number(Q(t,ln))}function no(t){return t.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\")}function ro(t){const e=t.replace(/-/g,\"+\").replace(/_/g,\"/\"),n=(4-e.length%4)%4;return e+\"=\".repeat(n)}function Vc(t){const e=pn(typeof t.type<\"u\"?t.type:dn);if(Bt(e)===Ft&&typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof t.senderPublicKey<\"u\"?rt(t.senderPublicKey,G):void 0,r=typeof t.iv<\"u\"?rt(t.iv,G):Lt(oe),o=rt(t.symKey,G),i=$r(o,r).encrypt(rt(t.message,Kt)),s=gn({type:e,sealed:i,iv:r,senderPublicKey:n});return t.encoding===xe?no(s):s}function Mc(t){const e=rt(t.symKey,G),{sealed:n,iv:r}=Se({encoded:t.encoded,encoding:t.encoding}),o=$r(e,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return Q(o,Kt)}function Dc(t,e){const n=pn(re),r=Lt(oe),o=rt(t,Kt),i=gn({type:n,sealed:o,iv:r});return e===xe?no(i):i}function Hc(t,e){const{sealed:n}=Se({encoded:t,encoding:e});return Q(n,Kt)}function gn(t){if(Bt(t.type)===re)return Q(Gt([t.type,t.sealed]),qt);if(Bt(t.type)===Ft){if(typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return Q(Gt([t.type,t.senderPublicKey,t.iv,t.sealed]),qt)}return Q(Gt([t.type,t.iv,t.sealed]),qt)}function Se(t){const e=(t.encoding||qt)===xe?ro(t.encoded):t.encoded,n=rt(e,qt),r=n.slice($c,eo),o=eo;if(Bt(r)===Ft){const a=o+hn,u=a+oe,l=n.slice(o,a),f=n.slice(a,u),h=n.slice(u);return{type:r,sealed:h,iv:f,senderPublicKey:l}}if(Bt(r)===re){const a=n.slice(o),u=Lt(oe);return{type:r,sealed:a,iv:u}}const i=o+oe,s=n.slice(o,i),c=n.slice(i);return{type:r,sealed:c,iv:s}}function qc(t,e){const n=Se({encoded:t,encoding:e?.encoding});return oo({type:Bt(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?Q(n.senderPublicKey,G):void 0,receiverPublicKey:e?.receiverPublicKey})}function oo(t){const e=t?.type||dn;if(e===Ft){if(typeof t?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof t?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Kc(t){return t.type===Ft&&typeof t.senderPublicKey==\"string\"&&typeof t.receiverPublicKey==\"string\"}function Fc(t){return t.type===re}function io(t){const e=Buffer.from(t.x,\"base64\"),n=Buffer.from(t.y,\"base64\");return Gt([new Uint8Array([4]),e,n])}function zc(t,e){const[n,r,o]=t.split(\".\"),i=Buffer.from(ro(o),\"base64\");if(i.length!==64)throw new Error(\"Invalid signature length\");const s=i.slice(0,32),c=i.slice(32,64),a=`${n}.${r}`,u=Qt(a),l=io(e);if(!_c.verify(Gt([s,c]),u,l))throw new Error(\"Invalid signature\");return Mo(t).payload}const so=\"irn\";function Zc(t){return t?.relay||{protocol:so}}function Yc(t){const e=Do[t];if(typeof e>\"u\")throw new Error(`Relay Protocol not supported: ${t}`);return e}function co(t,e=\"-\"){const n={},r=\"relay\"+e;return Object.keys(t).forEach(o=>{if(o.startsWith(r)){const i=o.replace(r,\"\"),s=t[o];n[i]=s}}),n}function Gc(t){if(!t.includes(\"wc:\")){const u=je(t);u!=null&&u.includes(\"wc:\")&&(t=u)}t=t.includes(\"wc://\")?t.replace(\"wc://\",\"\"):t,t=t.includes(\"wc:\")?t.replace(\"wc:\",\"\"):t;const e=t.indexOf(\":\"),n=t.indexOf(\"?\")!==-1?t.indexOf(\"?\"):void 0,r=t.substring(0,e),o=t.substring(e+1,n).split(\"@\"),i=typeof n<\"u\"?t.substring(n):\"\",s=new URLSearchParams(i),c={};s.forEach((u,l)=>{c[l]=u});const a=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:ao(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:co(c),methods:a,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function ao(t){return t.startsWith(\"//\")?t.substring(2):t}function uo(t,e=\"-\"){const n=\"relay\",r={};return Object.keys(t).forEach(o=>{const i=o,s=n+e+i;t[i]&&(r[s]=t[i])}),r}function Wc(t){const e=new URLSearchParams,n=uo(t.relay);Object.keys(n).sort().forEach(o=>{e.set(o,n[o])}),e.set(\"symKey\",t.symKey),t.expiryTimestamp&&e.set(\"expiryTimestamp\",t.expiryTimestamp.toString()),t.methods&&e.set(\"methods\",t.methods.join(\",\"));const r=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${r}`}function Xc(t,e,n){return`${t}?wc_ev=${n}&topic=${e}`}var Jc=Object.defineProperty,Qc=Object.defineProperties,ta=Object.getOwnPropertyDescriptors,fo=Object.getOwnPropertySymbols,ea=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,lo=(t,e,n)=>e in t?Jc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ra=(t,e)=>{for(var n in e||(e={}))ea.call(e,n)&&lo(t,n,e[n]);if(fo)for(var n of fo(e))na.call(e,n)&&lo(t,n,e[n]);return t},oa=(t,e)=>Qc(t,ta(e));function It(t){const e=[];return t.forEach(n=>{const[r,o]=n.split(\":\");e.push(`${r}:${o}`)}),e}function ho(t){const e=[];return Object.values(t).forEach(n=>{e.push(...It(n.accounts))}),e}function po(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.methods)}),n}function go(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.events)}),n}function ia(t,e){const n=Bo(t,e);if(n)throw new Error(n.message);const r={};for(const[o,i]of Object.entries(t))r[o]={methods:i.methods,events:i.events,chains:i.accounts.map(s=>`${s.split(\":\")[0]}:${s.split(\":\")[1]}`)};return r}function sa(t){const{proposal:{requiredNamespaces:e,optionalNamespaces:n={}},supportedNamespaces:r}=t,o=ie(e),i=ie(n),s={};Object.keys(r).forEach(u=>{const l=r[u].chains,f=r[u].methods,h=r[u].events,y=r[u].accounts;l.forEach(E=>{if(!y.some(p=>p.includes(E)))throw new Error(`No accounts provided for chain ${E} in namespace ${u}`)}),s[u]={chains:l,methods:f,events:h,accounts:y}});const c=No(e,s,\"approve()\");if(c)throw new Error(c.message);const a={};return!Object.keys(e).length&&!Object.keys(n).length?s:(Object.keys(o).forEach(u=>{const l=r[u].chains.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.chains)==null?void 0:d.includes(E)}),f=r[u].methods.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.methods)==null?void 0:d.includes(E)}),h=r[u].events.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.events)==null?void 0:d.includes(E)}),y=l.map(E=>r[u].accounts.filter(p=>p.includes(`${E}:`))).flat();a[u]={chains:l,methods:f,events:h,accounts:y}}),Object.keys(i).forEach(u=>{var l,f,h,y,E,p;if(!r[u])return;const d=(f=(l=i[u])==null?void 0:l.chains)==null?void 0:f.filter(N=>r[u].chains.includes(N)),v=r[u].methods.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.methods)==null?void 0:B.includes(N)}),m=r[u].events.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.events)==null?void 0:B.includes(N)}),O=d?.map(N=>r[u].accounts.filter($=>$.includes(`${N}:`))).flat();a[u]={chains:ot((h=a[u])==null?void 0:h.chains,d),methods:ot((y=a[u])==null?void 0:y.methods,v),events:ot((E=a[u])==null?void 0:E.events,m),accounts:ot((p=a[u])==null?void 0:p.accounts,O)}}),a)}function yn(t){return t.includes(\":\")}function yo(t){return yn(t)?t.split(\":\")[0]:t}function ie(t){var e,n,r;const o={};if(!Oe(t))return o;for(const[i,s]of Object.entries(t)){const c=yn(i)?[i]:s.chains,a=s.methods||[],u=s.events||[],l=yo(i);o[l]=oa(ra({},o[l]),{chains:ot(c,(e=o[l])==null?void 0:e.chains),methods:ot(a,(n=o[l])==null?void 0:n.methods),events:ot(u,(r=o[l])==null?void 0:r.events)})}return o}function mo(t){const e={};return t?.forEach(n=>{var r;const[o,i]=n.split(\":\");e[o]||(e[o]={accounts:[],chains:[],events:[],methods:[]}),e[o].accounts.push(n),(r=e[o].chains)==null||r.push(`${o}:${i}`)}),e}function ca(t,e){e=e.map(r=>r.replace(\"did:pkh:\",\"\"));const n=mo(e);for(const[r,o]of Object.entries(n))o.methods?o.methods=ot(o.methods,t):o.methods=t,o.events=[\"chainChanged\",\"accountsChanged\"];return n}function aa(t,e){var n,r,o,i,s,c;const a=ie(t),u=ie(e),l={},f=Object.keys(a).concat(Object.keys(u));for(const h of f)l[h]={chains:ot((n=a[h])==null?void 0:n.chains,(r=u[h])==null?void 0:r.chains),methods:ot((o=a[h])==null?void 0:o.methods,(i=u[h])==null?void 0:i.methods),events:ot((s=a[h])==null?void 0:s.events,(c=u[h])==null?void 0:c.events)};return l}const wo={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},bo={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function ht(t,e){const{message:n,code:r}=bo[t];return{message:e?`${n} ${e}`:n,code:r}}function Nt(t,e){const{message:n,code:r}=wo[t];return{message:e?`${n} ${e}`:n,code:r}}function se(t,e){return Array.isArray(t)?typeof e<\"u\"&&t.length?t.every(e):!0:!1}function Oe(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Et(t){return typeof t>\"u\"}function nt(t,e){return e&&Et(t)?!0:typeof t==\"string\"&&!!t.trim().length}function Ae(t,e){return e&&Et(t)?!0:typeof t==\"number\"&&!isNaN(t)}function ua(t,e){const{requiredNamespaces:n}=e,r=Object.keys(t.namespaces),o=Object.keys(n);let i=!0;return gt(o,r)?(r.forEach(s=>{const{accounts:c,methods:a,events:u}=t.namespaces[s],l=It(c),f=n[s];(!gt(ue(s,f),l)||!gt(f.methods,a)||!gt(f.events,u))&&(i=!1)}),i):!1}function ce(t){return nt(t,!1)&&t.includes(\":\")?t.split(\":\").length===2:!1}function Eo(t){if(nt(t,!1)&&t.includes(\":\")){const e=t.split(\":\");if(e.length===3){const n=e[0]+\":\"+e[1];return!!e[2]&&ce(n)}}return!1}function fa(t){function e(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(nt(t,!1)){if(e(t))return!0;const n=je(t);return e(n)}}catch{}return!1}function la(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function da(t){return t?.topic}function ha(t,e){let n=null;return nt(t?.publicKey,!1)||(n=ht(\"MISSING_OR_INVALID\",`${e} controller public key should be a string`)),n}function mn(t){let e=!0;return se(t)?t.length&&(e=t.every(n=>nt(n,!1))):e=!1,e}function vo(t,e,n){let r=null;return se(e)&&e.length?e.forEach(o=>{r||ce(o)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):ce(t)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),r}function xo(t,e,n){let r=null;return Object.entries(t).forEach(([o,i])=>{if(r)return;const s=vo(o,ue(o,i),`${e} ${n}`);s&&(r=s)}),r}function So(t,e){let n=null;return se(t)?t.forEach(r=>{n||Eo(r)||(n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function Oo(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=So(r?.accounts,`${e} namespace`);o&&(n=o)}),n}function Ao(t,e){let n=null;return mn(t?.methods)?mn(t?.events)||(n=Nt(\"UNSUPPORTED_EVENTS\",`${e}, events should be an array of strings or empty array for no events`)):n=Nt(\"UNSUPPORTED_METHODS\",`${e}, methods should be an array of strings or empty array for no methods`),n}function wn(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=Ao(r,`${e}, namespace`);o&&(n=o)}),n}function pa(t,e,n){let r=null;if(t&&Oe(t)){const o=wn(t,e);o&&(r=o);const i=xo(t,e,n);i&&(r=i)}else r=ht(\"MISSING_OR_INVALID\",`${e}, ${n} should be an object with data`);return r}function Bo(t,e){let n=null;if(t&&Oe(t)){const r=wn(t,e);r&&(n=r);const o=Oo(t,e);o&&(n=o)}else n=ht(\"MISSING_OR_INVALID\",`${e}, namespaces should be an object with data`);return n}function Io(t){return nt(t.protocol,!0)}function ga(t,e){let n=!1;return e&&!t?n=!0:t&&se(t)&&t.length&&t.forEach(r=>{n=Io(r)}),n}function ya(t){return typeof t==\"number\"}function ma(t){return typeof t<\"u\"&&typeof t!==null}function wa(t){return!(!t||typeof t!=\"object\"||!t.code||!Ae(t.code,!1)||!t.message||!nt(t.message,!1))}function ba(t){return!(Et(t)||!nt(t.method,!1))}function Ea(t){return!(Et(t)||Et(t.result)&&Et(t.error)||!Ae(t.id,!1)||!nt(t.jsonrpc,!1))}function va(t){return!(Et(t)||!nt(t.name,!1))}function xa(t,e){return!(!ce(e)||!ho(t).includes(e))}function Sa(t,e,n){return nt(n,!1)?po(t,e).includes(n):!1}function Oa(t,e,n){return nt(n,!1)?go(t,e).includes(n):!1}function No(t,e,n){let r=null;const o=Aa(t),i=Ba(e),s=Object.keys(o),c=Object.keys(i),a=Uo(Object.keys(t)),u=Uo(Object.keys(e)),l=a.filter(f=>!u.includes(f));return l.length&&(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(e).toString()}`)),gt(s,c)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${s.toString()}\n Approved: ${c.toString()}`)),Object.keys(e).forEach(f=>{if(!f.includes(\":\")||r)return;const h=It(e[f].accounts);h.includes(f)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${h.toString()}`))}),s.forEach(f=>{r||(gt(o[f].methods,i[f].methods)?gt(o[f].events,i[f].events)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Aa(t){const e={};return Object.keys(t).forEach(n=>{var r;n.includes(\":\")?e[n]=t[n]:(r=t[n].chains)==null||r.forEach(o=>{e[o]={methods:t[n].methods,events:t[n].events}})}),e}function Uo(t){return[...new Set(t.map(e=>e.includes(\":\")?e.split(\":\")[0]:e))]}function Ba(t){const e={};return Object.keys(t).forEach(n=>{if(n.includes(\":\"))e[n]=t[n];else{const r=It(t[n].accounts);r?.forEach(o=>{e[o]={accounts:t[n].accounts.filter(i=>i.includes(`${o}:`)),methods:t[n].methods,events:t[n].events}})}}),e}function Ia(t,e){return Ae(t,!1)&&t<=e.max&&t>=e.min}function Na(){const t=xt();return new Promise(e=>{switch(t){case Y.browser:e(To());break;case Y.reactNative:e(Ro());break;case Y.node:e(_o());break;default:e(!0)}})}function To(){return Tt()&&navigator?.onLine}async function Ro(){if(pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const t=await(global==null?void 0:global.NetInfo.fetch());return t?.isConnected}return!0}function _o(){return!0}function Ua(t){switch(xt()){case Y.browser:$o(t);break;case Y.reactNative:Lo(t);break;case Y.node:break}}function $o(t){!pt()&&Tt()&&(window.addEventListener(\"online\",()=>t(!0)),window.addEventListener(\"offline\",()=>t(!1)))}function Lo(t){pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}function Ta(){var t;return Tt()&&Yt()?((t=Yt())==null?void 0:t.visibilityState)===\"visible\":!0}const bn={};class Ra{static get(e){return bn[e]}static set(e,n){bn[e]=n}static delete(e){delete bn[e]}}export{ln as BASE10,G as BASE16,qt as BASE64,xe as BASE64URL,Qo as COLON,Re as DEFAULT_DEPTH,fe as EMPTY_SPACE,Y as ENV_MAP,bo as INTERNAL_ERRORS,Ra as MemoryStore,ti as ONE_THOUSAND,$n as REACT_NATIVE_PRODUCT,so as RELAYER_DEFAULT_PROTOCOL,wo as SDK_ERRORS,jn as SDK_TYPE,Ln as SLASH,dn as TYPE_0,Ft as TYPE_1,re as TYPE_2,Kt as UTF8,Er as addResourceToRecap,Cn as appendToQueryString,ai as assertType,He as assignAbilityToActions,wr as base64Decode,mr as base64Encode,sa as buildApprovedNamespaces,ss as buildAuthObject,ca as buildNamespacesFromAuth,xr as buildRecapStatement,Ei as calcExpiry,pi as capitalize,qn as capitalizeWord,gi as createDelayedPromise,fs as createEncodedRecap,yi as createExpiringPromise,br as createRecap,yt as decodeRecap,Bt as decodeTypeByte,Hc as decodeTypeTwoEnvelope,Mc as decrypt,Cc as deriveSymKey,Se as deserialize,he as encodeRecap,pn as encodeTypeByte,Dc as encodeTypeTwoEnvelope,Vc as encrypt,xi as engineEvent,hi as enumify,Ji as extractSolanaTransactionId,Bn as formatAccountId,Ho as formatAccountWithChain,An as formatChainId,Kn as formatDeeplinkUrl,$e as formatExpirerTarget,wi as formatIdTarget,hr as formatMessage,ui as formatMessageContext,uo as formatRelayParams,si as formatRelayRpcUrl,Ke as formatStatementFromRecap,mi as formatTopicTarget,Mn as formatUA,Wc as formatUri,je as fromBase64,Lc as generateKeyPair,jc as generateRandomBytes32,It as getAccountsChains,Ko as getAccountsFromNamespaces,In as getAddressFromAccount,qo as getAddressesFromAccounts,ri as getAppId,Pn as getAppMetadata,To as getBrowserOnlineStatus,Nn as getChainFromAccount,Un as getChainsFromAccounts,ue as getChainsFromNamespace,Fo as getChainsFromNamespaces,hs as getChainsFromRecap,zo as getChainsFromRequiredNamespaces,Le as getCommonValuesInArrays,io as getCryptoKeyFromKeyData,pr as getDecodedRecapFromResources,Oi as getDeepLink,De as getDidAddress,de as getDidAddressSegments,lr as getDidChainId,xt as getEnvironment,ci as getHttpUrl,ht as getInternalError,Vn as getJavascriptID,kn as getJavascriptOS,Hn as getLastItems,Xc as getLinkModeURL,ds as getMethodsFromRecap,dr as getNamespacedDidChainId,ho as getNamespacesChains,go as getNamespacesEventsForChainId,mo as getNamespacesFromAccounts,po as getNamespacesMethodsForChainId,_o as getNodeOnlineStatus,yr as getReCapActions,Ro as getReactNativeOnlineStatus,us as getRecapAbilitiesFromResource,pe as getRecapFromResources,gr as getRecapResource,ii as getRelayClientMetadata,Yc as getRelayProtocolApi,Zc as getRelayProtocolName,ia as getRequiredNamespacesFromNamespaces,Nt as getSdkError,Ai as getSearchParamFromURL,Te as getUniqueValues,Si as handleDeeplinkRedirect,gt as hasOverlap,Ve as hashEthereumMessage,Pc as hashKey,kc as hashMessage,ei as isAndroid,Ta as isAppVisible,Tt as isBrowser,yn as isCaipNamespace,No as isConformingNamespaces,vi as isExpired,Zn as isIframe,ni as isIos,_e as isNode,Na as isOnline,la as isProposalStruct,pt as isReactNative,qe as isRecap,ua as isSessionCompatible,da as isSessionStruct,zn as isTelegram,Ii as isTestRun,Kc as isTypeOneEnvelope,Fc as isTypeTwoEnvelope,Et as isUndefined,Eo as isValidAccountId,So as isValidAccounts,Ao as isValidActions,se as isValidArray,ce as isValidChainId,vo as isValidChains,ha as isValidController,cr as isValidEip1271Signature,sr as isValidEip191Signature,wa as isValidErrorReason,va as isValidEvent,ya as isValidId,Oo as isValidNamespaceAccounts,wn as isValidNamespaceActions,xo as isValidNamespaceChains,mn as isValidNamespaceMethodsOrEvents,Bo as isValidNamespaces,xa as isValidNamespacesChainId,Oa as isValidNamespacesEvent,Sa as isValidNamespacesRequest,Ae as isValidNumber,Oe as isValidObject,ma as isValidParams,at as isValidRecap,Io as isValidRelay,ga as isValidRelays,ba as isValidRequest,Ia as isValidRequestExpiry,pa as isValidRequiredNamespaces,Ea as isValidResponse,nt as isValidString,fa as isValidUrl,di as mapEntries,fi as mapToObj,ot as mergeArrays,ls as mergeEncodedRecaps,vr as mergeRecaps,aa as mergeRequiredAndOptionalNamespaces,ie as normalizeNamespaces,li as objToMap,Fn as openDeeplink,Ue as parseAccountId,Ne as parseChainId,Dn as parseContextNames,bi as parseExpirerTarget,yo as parseNamespaceKey,co as parseRelayParams,ao as parseTopic,Gc as parseUri,oi as populateAppMetadata,cs as populateAuthPayload,as as recapHasResource,gn as serialize,Ni as sleep,$o as subscribeToBrowserNetworkChange,Ua as subscribeToNetworkChange,Lo as subscribeToReactNativeNetworkChange,Yn as toBase64,Bi as uuidv4,qc as validateDecoding,oo as validateEncoding,is as validateSignedCacao,zc as verifyP256Jwt,ir as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as te,HeartBeat as Wi}from\"@walletconnect/heartbeat\";import Hi from\"@walletconnect/keyvaluestorage\";import{generateChildLogger as N,getLoggerContext as U,pino as Yi,getDefaultLoggerOptions as et,generatePlatformLogger as Ji}from\"@walletconnect/logger\";import{IMessageTracker as Xi,IPublisher as Zi,ISubscriber as Qi,IRelayer as es,IStore as ts,IJsonRpcHistory as is,IExpirer as ss,IVerify as rs,IEchoClient as ns,IEventClient as os,ICore as as}from\"@walletconnect/types\";import{ONE_DAY as ie,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as R,ONE_MINUTE as tt,ONE_SECOND as Z,FIVE_MINUTES as fe,fromMiliseconds as it}from\"@walletconnect/time\";import{safeJsonStringify as hs,safeJsonParse as st}from\"@walletconnect/safe-json\";import*as De from\"@walletconnect/relay-auth\";import{decodeJWT as rt}from\"@walletconnect/relay-auth\";import{mapToObj as Oe,objToMap as Re,getInternalError as m,generateRandomBytes32 as Ae,generateKeyPair as ls,deriveSymKey as us,hashKey as ds,validateEncoding as gs,isTypeTwoEnvelope as nt,encodeTypeTwoEnvelope as ps,isTypeOneEnvelope as ot,encrypt as ys,validateDecoding as bs,decodeTypeTwoEnvelope as ms,decrypt as fs,deserialize as at,decodeTypeByte as Ds,BASE64 as ct,BASE16 as vs,hashMessage as ve,getRelayProtocolApi as oe,getRelayProtocolName as we,isUndefined as xe,createExpiringPromise as X,getSdkError as ae,sleep as ws,isAndroid as _s,getAppId as ht,isIos as Es,isOnline as lt,calcExpiry as ce,isNode as ut,formatRelayRpcUrl as Is,subscribeToNetworkChange as Ts,isAppVisible as Cs,isProposalStruct as Ps,isSessionStruct as Ss,parseExpirerTarget as Os,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as As,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as xs,isValidString as Ns,formatTopicTarget as $s,formatIdTarget as zs,isTestRun as yt,isBrowser as Ls,verifyP256Jwt as ks,uuidv4 as bt,formatUA as js,getAppMetadata as Us}from\"@walletconnect/utils\";import{toString as Fs}from\"uint8arrays\";import{JsonRpcProvider as Ms}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as mt,isJsonRpcRequest as ft,isJsonRpcResponse as Dt,formatJsonRpcResult as vt,formatJsonRpcRequest as wt,formatJsonRpcError as Ks,isJsonRpcResult as Bs,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Vs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as qs}from\"@walletconnect/window-getters\";const ze=\"wc\",Le=2,he=\"core\",B=`${ze}@2:${he}:`,Et={name:he,logger:\"error\"},It={database:\":memory:\"},Tt=\"crypto\",ke=\"client_ed25519_seed\",Ct=ie,Pt=\"keychain\",St=\"0.3\",Ot=\"messages\",Rt=\"0.3\",je=cs,At=\"publisher\",xt=\"irn\",Nt=\"error\",Ue=\"wss://relay.walletconnect.org\",$t=\"relayer\",C={message:\"relayer_message\",message_ack:\"relayer_message_ack\",connect:\"relayer_connect\",disconnect:\"relayer_disconnect\",error:\"relayer_error\",connection_stalled:\"relayer_connection_stalled\",transport_closed:\"relayer_transport_closed\",publish:\"relayer_publish\"},zt=\"_subscription\",L={payload:\"payload\",connect:\"connect\",disconnect:\"disconnect\",error:\"error\"},Lt=.1,Gs={database:\":memory:\"},_e=\"2.21.0\",Ws=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Fe=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Hs=Ce,Ut=\"subscription\",Ft=\"0.3\",Ys=Pe*1e3,Mt=\"pairing\",Kt=\"0.3\",Js=Ce,se={wc_pairingDelete:{req:{ttl:ie,prompt:!1,tag:1e3},res:{ttl:ie,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:ie,prompt:!1,tag:0},res:{ttl:ie,prompt:!1,tag:0}}},re={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},F={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",M={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Xs=ie,Wt=\"verify-api\",Zs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Zs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Qs=\"event-client\",G={pairing_started:\"pairing_started\",pairing_uri_validation_success:\"pairing_uri_validation_success\",pairing_uri_not_expired:\"pairing_uri_not_expired\",store_new_pairing:\"store_new_pairing\",subscribing_pairing_topic:\"subscribing_pairing_topic\",subscribe_pairing_topic_success:\"subscribe_pairing_topic_success\",existing_pairing:\"existing_pairing\",pairing_not_expired:\"pairing_not_expired\",emit_inactive_pairing:\"emit_inactive_pairing\",emit_session_proposal:\"emit_session_proposal\",subscribing_to_pairing_topic:\"subscribing_to_pairing_topic\"},Y={no_wss_connection:\"no_wss_connection\",no_internet_connection:\"no_internet_connection\",malformed_pairing_uri:\"malformed_pairing_uri\",active_pairing_already_exists:\"active_pairing_already_exists\",subscribe_pairing_topic_failure:\"subscribe_pairing_topic_failure\",pairing_expired:\"pairing_expired\",proposal_expired:\"proposal_expired\",proposal_listener_not_found:\"proposal_listener_not_found\"},er={session_approve_started:\"session_approve_started\",proposal_not_expired:\"proposal_not_expired\",session_namespaces_validation_success:\"session_namespaces_validation_success\",create_session_topic:\"create_session_topic\",subscribing_session_topic:\"subscribing_session_topic\",subscribe_session_topic_success:\"subscribe_session_topic_success\",publishing_session_approve:\"publishing_session_approve\",session_approve_publish_success:\"session_approve_publish_success\",store_session:\"store_session\",publishing_session_settle:\"publishing_session_settle\",session_settle_publish_success:\"session_settle_publish_success\"},tr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",proposal_expired:\"proposal_expired\",subscribe_session_topic_failure:\"subscribe_session_topic_failure\",session_approve_publish_failure:\"session_approve_publish_failure\",session_settle_publish_failure:\"session_settle_publish_failure\",session_approve_namespace_validation_failure:\"session_approve_namespace_validation_failure\",proposal_not_found:\"proposal_not_found\"},ir={authenticated_session_approve_started:\"authenticated_session_approve_started\",authenticated_session_not_expired:\"authenticated_session_not_expired\",chains_caip2_compliant:\"chains_caip2_compliant\",chains_evm_compliant:\"chains_evm_compliant\",create_authenticated_session_topic:\"create_authenticated_session_topic\",cacaos_verified:\"cacaos_verified\",store_authenticated_session:\"store_authenticated_session\",subscribing_authenticated_session_topic:\"subscribing_authenticated_session_topic\",subscribe_authenticated_session_topic_success:\"subscribe_authenticated_session_topic_success\",publishing_authenticated_session_approve:\"publishing_authenticated_session_approve\",authenticated_session_approve_publish_success:\"authenticated_session_approve_publish_success\"},sr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",missing_session_authenticate_request:\"missing_session_authenticate_request\",session_authenticate_request_expired:\"session_authenticate_request_expired\",chains_caip2_compliant_failure:\"chains_caip2_compliant_failure\",chains_evm_compliant_failure:\"chains_evm_compliant_failure\",invalid_cacao:\"invalid_cacao\",subscribe_authenticated_session_topic_failure:\"subscribe_authenticated_session_topic_failure\",authenticated_session_approve_publish_failure:\"authenticated_session_approve_publish_failure\",authenticated_session_pending_request_not_found:\"authenticated_session_pending_request_not_found\"},Qt=.1,ei=\"event-client\",ti=86400,ii=\"https://pulse.walletconnect.org/batch\";function rr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+\" is ambiguous\");t[o]=s}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(u.length===0)return\"\";for(var b=0,x=0,I=0,D=u.length;I!==D&&u[I]===0;)I++,b++;for(var j=(D-I)*l+1>>>0,T=new Uint8Array(j);I!==D;){for(var q=u[I],J=0,K=j-1;(q!==0||J<x)&&K!==-1;K--,J++)q+=256*T[K]>>>0,T[K]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error(\"Non-zero carry\");x=J,I++}for(var H=j-x;H!==j&&T[H]===0;)H++;for(var me=c.repeat(b);H<j;++H)me+=r.charAt(T[H]);return me}function g(u){if(typeof u!=\"string\")throw new TypeError(\"Expected String\");if(u.length===0)return new Uint8Array;var b=0;if(u[b]!==\" \"){for(var x=0,I=0;u[b]===c;)x++,b++;for(var D=(u.length-b)*h+1>>>0,j=new Uint8Array(D);u[b];){var T=t[u.charCodeAt(b)];if(T===255)return;for(var q=0,J=D-1;(T!==0||q<I)&&J!==-1;J--,q++)T+=a*j[J]>>>0,j[J]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error(\"Non-zero carry\");I=q,b++}if(u[b]!==\" \"){for(var K=D-I;K!==D&&j[K]===0;)K++;for(var H=new Uint8Array(x+(D-K)),me=x;K!==D;)H[me++]=j[K++];return H}}}function _(u){var b=g(u);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var nr=rr,or=nr;const si=r=>{if(r instanceof Uint8Array&&r.constructor.name===\"Uint8Array\")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error(\"Unknown type, must be binary type\")},ar=r=>new TextEncoder().encode(r),cr=r=>new TextDecoder().decode(r);class hr{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class lr{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(\"Can only multibase decode strings\")}or(e){return ri(this,e)}}class ur{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ri=(r,e)=>new ur({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class dr{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new hr(e,t,i),this.decoder=new lr(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:i})=>new dr(r,e,t,i),de=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=or(t,e);return Ee({prefix:r,name:e,encode:i,decode:n=>si(s(n))})},gr=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]===\"=\";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,h=0;for(let l=0;l<n;++l){const d=s[r[l]];if(d===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|d,a+=t,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},pr=(r,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<<t)-1;let n=\"\",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+=\"=\";return n},P=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ee({prefix:e,name:r,encode(s){return pr(s,i,t)},decode(s){return gr(s,i,t,r)}}),yr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>cr(r),decode:r=>ar(r)});var br=Object.freeze({__proto__:null,identity:yr});const mr=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var fr=Object.freeze({__proto__:null,base2:mr});const Dr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var vr=Object.freeze({__proto__:null,base8:Dr});const wr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var _r=Object.freeze({__proto__:null,base10:wr});const Er=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Ir=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Tr=Object.freeze({__proto__:null,base16:Er,base16upper:Ir});const Cr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Pr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Sr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Or=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Ar=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),xr=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Nr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),$r=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var zr=Object.freeze({__proto__:null,base32:Cr,base32upper:Pr,base32pad:Sr,base32padupper:Or,base32hex:Rr,base32hexupper:Ar,base32hexpad:xr,base32hexpadupper:Nr,base32z:$r});const Lr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),kr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var jr=Object.freeze({__proto__:null,base36:Lr,base36upper:kr});const Ur=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Fr=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:Ur,base58flickr:Fr});const Kr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Br=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Vr=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),qr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Gr=Object.freeze({__proto__:null,base64:Kr,base64pad:Br,base64url:Vr,base64urlpad:qr});const ni=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Wr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Hr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Yr(r){return r.reduce((e,t)=>(e+=Wr[t],e),\"\")}function Jr(r){const e=[];for(const t of r){const i=Hr[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Xr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Yr,decode:Jr});var Zr=Object.freeze({__proto__:null,base256emoji:Xr}),Qr=ai,oi=128,en=127,tn=~en,sn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var i=t;r>=sn;)e[t++]=r&255|oi,r/=128;for(;r&tn;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-i+1,e}var rn=Me,nn=128,ci=127;function Me(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw Me.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=s<28?(o&ci)<<s:(o&ci)*Math.pow(2,s),s+=7}while(o>=nn);return Me.bytes=n-i,t}var on=Math.pow(2,7),an=Math.pow(2,14),cn=Math.pow(2,21),hn=Math.pow(2,28),ln=Math.pow(2,35),un=Math.pow(2,42),dn=Math.pow(2,49),gn=Math.pow(2,56),pn=Math.pow(2,63),yn=function(r){return r<on?1:r<an?2:r<cn?3:r<hn?4:r<ln?5:r<un?6:r<dn?7:r<gn?8:r<pn?9:10},bn={encode:Qr,decode:rn,encodingLength:yn},hi=bn;const li=(r,e,t=0)=>(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,i=ui(r),s=i+ui(t),n=new Uint8Array(s+t);return li(r,n,0),li(t,n,i),n.set(e,s),new mn(r,t,e,n)};class mn{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const di=({name:r,code:e,encode:t})=>new fn(r,e,t);class fn{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(i=>Ke(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Dn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),vn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var wn=Object.freeze({__proto__:null,sha256:Dn,sha512:vn});const pi=0,_n=\"identity\",yi=si,En=r=>Ke(pi,yi(r)),In={code:pi,name:_n,encode:yi,digest:En};var Tn=Object.freeze({__proto__:null,identity:In});new TextEncoder,new TextDecoder;const bi={...br,...fr,...vr,..._r,...Tr,...zr,...jr,...Mr,...Gr,...Zr};({...wn,...Tn});function Cn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const fi=mi(\"utf8\",\"u\",r=>\"u\"+new TextDecoder(\"utf8\").decode(r),r=>new TextEncoder().encode(r.substring(1))),Be=mi(\"ascii\",\"a\",r=>{let e=\"a\";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Cn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Pn={utf8:fi,\"utf-8\":fi,hex:bi.base16,latin1:Be,ascii:Be,binary:Be,...bi};function Sn(r,e=\"utf8\"){const t=Pn[e];if(!t)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,\"utf8\"):t.decoder.decode(`${t.prefix}${r}`)}var On=Object.defineProperty,Rn=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>Rn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Di{constructor(e,t){this.core=e,this.logger=t,W(this,\"keychain\",new Map),W(this,\"name\",Pt),W(this,\"version\",St),W(this,\"initialized\",!1),W(this,\"storagePrefix\",B),W(this,\"init\",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}}),W(this,\"has\",i=>(this.isInitialized(),this.keychain.has(i))),W(this,\"set\",async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()}),W(this,\"get\",i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(n)}return s}),W(this,\"del\",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var An=Object.defineProperty,xn=(r,e,t)=>e in r?An(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>xn(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,i){this.core=e,this.logger=t,S(this,\"name\",Tt),S(this,\"keychain\"),S(this,\"randomSessionIdentifier\",Ae()),S(this,\"initialized\",!1),S(this,\"init\",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),S(this,\"hasKeys\",s=>(this.isInitialized(),this.keychain.has(s))),S(this,\"getClientId\",async()=>{this.isInitialized();const s=await this.getClientSeed(),n=De.generateKeyPair(s);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const s=ls();return this.setPrivateKey(s.publicKey,s.privateKey)}),S(this,\"signJWT\",async s=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,s,c,o)}),S(this,\"generateSharedKey\",(s,n,o)=>{this.isInitialized();const a=this.getPrivateKey(s),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(s,n)=>{this.isInitialized();const o=n||ds(s);return await this.keychain.set(o,s),o}),S(this,\"deleteKeyPair\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"deleteSymKey\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"encode\",async(s,n,o)=>{this.isInitialized();const a=gs(o),c=hs(n);if(nt(a))return ps(c,o?.encoding);if(ot(a)){const g=a.senderPublicKey,_=a.receiverPublicKey;s=await this.generateSharedKey(g,_)}const h=this.getSymKey(s),{type:l,senderPublicKey:d}=a;return ys({type:l,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(s,n,o)=>{this.isInitialized();const a=bs(n,o);if(nt(a)){const c=ms(n,o?.encoding);return st(c)}if(ot(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;s=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(s),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return o.senderPublicKey?Fs(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=i||new Di(this.core,this.logger)}get context(){return U(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=\"\";try{e=this.keychain.get(ke)}catch{e=Ae(),await this.keychain.set(ke,e)}return Sn(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Nn=Object.defineProperty,$n=Object.defineProperties,zn=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,kn=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?Nn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jn=(r,e)=>{for(var t in e||(e={}))Ln.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))kn.call(e,t)&&Ve(r,t,e[t]);return r},Un=(r,e)=>$n(r,zn(e)),k=(r,e,t)=>Ve(r,typeof e!=\"symbol\"?e+\"\":e,t);class _i extends Xi{constructor(e,t){super(e,t),this.logger=e,this.core=t,k(this,\"messages\",new Map),k(this,\"messagesWithoutClientAck\",new Map),k(this,\"name\",Ot),k(this,\"version\",Rt),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i);const s=await this.getRelayerMessagesWithoutClientAck();typeof s<\"u\"&&(this.messagesWithoutClientAck=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}}),k(this,\"set\",async(i,s,n)=>{this.isInitialized();const o=ve(s);let a=this.messages.get(i);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=s,this.messages.set(i,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(i)||{};this.messagesWithoutClientAck.set(i,Un(jn({},c),{[o]:s}))}return await this.persist(),o}),k(this,\"get\",i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s}),k(this,\"getWithoutAck\",i=>{this.isInitialized();const s={};for(const n of i){const o=this.messagesWithoutClientAck.get(n)||{};s[n]=Object.values(o)}return s}),k(this,\"has\",(i,s)=>{this.isInitialized();const n=this.get(i),o=ve(s);return typeof n[o]<\"u\"}),k(this,\"ack\",async(i,s)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(i);if(typeof n>\"u\")return;const o=ve(s);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(i):this.messagesWithoutClientAck.set(i,n),await this.persist()}),k(this,\"del\",async i=>{this.isInitialized(),this.messages.delete(i),this.messagesWithoutClientAck.delete(i),await this.persist()}),this.logger=N(e,this.name),this.core=t}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name+\"_withoutClientAck\"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Oe(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Fn=Object.defineProperty,Mn=Object.defineProperties,Kn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,Vn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Fn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Bn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Vn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Kn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class qn extends Zi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,V(this,\"events\",new ee),V(this,\"name\",At),V(this,\"queue\",new Map),V(this,\"publishTimeout\",R(tt)),V(this,\"initialPublishTimeout\",R(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(i,s,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,l=n?.tag||0,d=n?.id||mt().toString(),g={topic:i,message:s,opts:{ttl:a,relay:c,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${l}`;try{const u=new Promise(async b=>{const x=({id:D})=>{g.opts.id===D&&(this.removeRequestFromQueue(D),this.relayer.events.removeListener(C.publish,x),b(g))};this.relayer.events.on(C.publish,x);const I=X(new Promise((D,j)=>{this.rpcPublish({topic:i,message:s,ttl:a,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}).then(D).catch(T=>{this.logger.warn(T,T?.message),j(T)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${l}`);try{await I,this.events.removeListener(C.publish,x)}catch(D){this.queue.set(d,Ge(Ie({},g),{attempt:1})),this.logger.warn(D,D?.message)}});this.logger.trace({type:\"method\",method:\"publish\",params:{id:d,topic:i,message:s,opts:n}}),await X(u,this.publishTimeout,_)}catch(u){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(u),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw u}finally{this.queue.delete(d)}}),V(this,\"on\",(i,s)=>{this.events.on(i,s)}),V(this,\"once\",(i,s)=>{this.events.once(i,s)}),V(this,\"off\",(i,s)=>{this.events.off(i,s)}),V(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,i,s,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:l,id:d,attestation:g,tvf:_}=e,u={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:l,attestation:g},_),id:d};xe((t=u.params)==null?void 0:t.prompt)&&((i=u.params)==null||delete i.prompt),xe((s=u.params)==null?void 0:s.tag)&&((n=u.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:u});const b=await this.relayer.request(u);return this.relayer.events.emit(C.publish,e),this.logger.debug(\"Successfully Published Payload\"),b}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:i}));const{topic:s,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(Ge(Ie({},e),{topic:s,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(te.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(C.connection_stalled);return}this.checkQueue()}),this.relayer.on(C.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var Gn=Object.defineProperty,Wn=(r,e,t)=>e in r?Gn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ne=(r,e,t)=>Wn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Hn{constructor(){ne(this,\"map\",new Map),ne(this,\"set\",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),ne(this,\"get\",e=>this.map.get(e)||[]),ne(this,\"exists\",(e,t)=>this.get(e).includes(t)),ne(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)}),ne(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Yn=Object.defineProperty,Jn=Object.defineProperties,Xn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Yn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Zn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Qn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Jn(r,Xn(e)),f=(r,e,t)=>We(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ti extends Qi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,f(this,\"subscriptions\",new Map),f(this,\"topicMap\",new Hn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Ft),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",R(tt)),f(this,\"initialSubscribeTimeout\",R(Z*15)),f(this,\"clientId\"),f(this,\"batchSubscribeTopicsLimit\",500),f(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),f(this,\"subscribe\",async(i,s)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const n=we(s),o={topic:i,relay:n,transportType:s?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,n,s);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(i,s)=>{this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)}),f(this,\"isSubscribed\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i))})),f(this,\"isKnownTopic\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i)||this.pending.has(i)||this.cached.some(n=>n.topic===i))})),f(this,\"on\",(i,s)=>{this.events.on(i,s)}),f(this,\"once\",(i,s)=>{this.events.once(i,s)}),f(this,\"off\",(i,s)=>{this.events.off(i,s)}),f(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),f(this,\"start\",async()=>{await this.onConnect()}),f(this,\"stop\",async()=>{await this.onDisconnect()}),f(this,\"restart\",async()=>{await this.restore(),await this.onRestart()}),f(this,\"checkPending\",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(s=>{i.push(s)}),await this.batchSubscribe(i)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(te.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async i=>{const s=$.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()}),this.events.on($.deleted,async i=>{const s=$.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()})}),this.relayer=e,this.logger=N(t,this.name),this.clientId=\"\"}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}});try{const s=we(i);await this.restartToComplete({topic:e,id:t,relay:s}),await this.rpcUnsubscribe(e,t,s);const n=ae(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t,i){var s;(!i||i?.transportType===Q.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:oe(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:n});const o=(s=i?.internal)==null?void 0:s.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(l=>this.logger.warn(l))},R(Z)),a;const c=new Promise(async l=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),l(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,u)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),u(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),l(g)}catch{}}),h=await X(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(C.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await X(new Promise(s=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(s)}),this.subscribeTimeout,\"rpcBatchSubscribe failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});let s;try{s=await await X(new Promise((n,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,\"rpcBatchFetchMessages failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}return s}rpcUnsubscribe(e,t,i){const s={method:oe(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,He(ge({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ge({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug(\"Setting subscription\"),this.logger.trace({type:\"method\",method:\"setSubscription\",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,ge({},t)),this.topicMap.set(t.topic,e),this.events.emit($.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit($.deleted,He(ge({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit($.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const s=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit($.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async t=>He(ge({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await ws(R(Z)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return ve(e+await this.getClientId())}}var eo=Object.defineProperty,Ci=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,io=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?eo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))to.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))io.call(e,t)&&Ye(r,t,e[t]);return r},y=(r,e,t)=>Ye(r,typeof e!=\"symbol\"?e+\"\":e,t);class Si extends es{constructor(e){super(e),y(this,\"protocol\",\"wc\"),y(this,\"version\",2),y(this,\"core\"),y(this,\"logger\"),y(this,\"events\",new ee),y(this,\"provider\"),y(this,\"messages\"),y(this,\"subscriber\"),y(this,\"publisher\"),y(this,\"name\",$t),y(this,\"transportExplicitlyClosed\",!1),y(this,\"initialized\",!1),y(this,\"connectionAttemptInProgress\",!1),y(this,\"relayUrl\"),y(this,\"projectId\"),y(this,\"packageName\"),y(this,\"bundleId\"),y(this,\"hasExperiencedNetworkDisruption\",!1),y(this,\"pingTimeout\"),y(this,\"heartBeatTimeout\",R(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",R(Z*15)),y(this,\"request\",async t=>{var i,s;this.logger.debug(\"Publishing Request Payload\");const n=t.id||mt().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:t.method,topic:(i=t.params)==null?void 0:i.topic},\"relayer.request - publishing...\");const o=`${n}:${((s=t.params)==null?void 0:s.tag)||\"\"}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),y(this,\"resetPingTimeout\",()=>{ut()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null?void 0:s.terminate)==null||n.call(s)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),y(this,\"onPayloadHandler\",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),y(this,\"onConnectHandler\",()=>{this.logger.warn({},\"Relayer connected \\u{1F6DC}\"),this.startPingTimeout(),this.events.emit(C.connect)}),y(this,\"onDisconnectHandler\",()=>{this.logger.warn({},\"Relayer disconnected \\u{1F6D1}\"),this.requestsInFlight=[],this.onProviderDisconnect()}),y(this,\"onProviderErrorHandler\",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(C.error,t),this.logger.fatal(\"Fatal socket error received, closing transport\"),this.transportClose()}),y(this,\"registerProviderListeners\",()=>{this.provider.on(L.payload,this.onPayloadHandler),this.provider.on(L.connect,this.onConnectHandler),this.provider.on(L.disconnect,this.onDisconnectHandler),this.provider.on(L.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?N(e.logger,this.name):Yi(et({level:e.logger||Nt})),this.messages=new _i(this.logger,e.core),this.subscriber=new Ti(this,this.logger),this.publisher=new qn(this,this.logger),this.relayUrl=e?.relayUrl||Ue,this.projectId=e.projectId,_s()?this.packageName=ht():Es()&&(this.bundleId=ht()),this.provider={}}async init(){if(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return U(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1||!1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var i,s,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>\"u\"?!0:(s=t?.internal)==null?void 0:s.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=l=>{l.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on($.created,h)}),new Promise(async(l,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,l()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await X(this.provider.disconnect(),2e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn(\"Starting WS connection skipped because the client has no topics to work with.\");return}if(this.connectPromise?(this.logger.debug({},\"Waiting for existing connection attempt to resolve...\"),await this.connectPromise,this.logger.debug({},\"Existing connection attempt resolved\")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},\"Restarting transport...\"),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await lt())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(\"Batch message events is empty. Ignoring...\");return}const t=e.sort((i,s)=>i.publishedAt-s.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(s){this.logger.warn(s,\"Error while processing batch message event: \"+s?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const s=ce(fe),n={topic:i,expiry:s,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(C.message,e),await this.recordMessageEvent(e,le.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,s)=>{const n=()=>{s(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,n),await X(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{s(o)}).finally(()=>{this.provider.off(L.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(L.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const s=i;this.logger.warn({},s.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,R(t*1))),t++}}startPingTimeout(){var e,t,i,s,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||n.on(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ms(new Vs(Is({sdkVersion:_e,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){const{topic:i,message:s}=e;await this.messages.set(i,s,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.warn(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),ft(e)){if(!e.method.endsWith(zt))return;const t=e.params,{topic:i,message:s,publishedAt:n,attestation:o}=t.data,a={topic:i,message:s,publishedAt:n,transportType:Q.relay,attestation:o};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Pi({type:\"event\",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Dt(e)&&this.events.emit(C.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,le.inbound),this.events.emit(C.message,e))}async acknowledgePayload(e){const t=vt(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(L.payload,this.onPayloadHandler),this.provider.off(L.connect,this.onConnectHandler),this.provider.off(L.disconnect,this.onDisconnectHandler),this.provider.off(L.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await lt();Ts(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(te.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Cs())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(t){this.logger.warn(t,t?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(C.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},R(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function so(){}function Oi(r){if(!r||typeof r!=\"object\")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)===\"[object Object]\":!1}function Ri(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function Ai(r){return r==null?r===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(r)}const ro=\"[object RegExp]\",no=\"[object String]\",oo=\"[object Number]\",ao=\"[object Boolean]\",xi=\"[object Arguments]\",co=\"[object Symbol]\",ho=\"[object Date]\",lo=\"[object Map]\",uo=\"[object Set]\",go=\"[object Array]\",po=\"[object Function]\",yo=\"[object ArrayBuffer]\",Je=\"[object Object]\",bo=\"[object Error]\",mo=\"[object DataView]\",fo=\"[object Uint8Array]\",Do=\"[object Uint8ClampedArray]\",vo=\"[object Uint16Array]\",wo=\"[object Uint32Array]\",_o=\"[object BigUint64Array]\",Eo=\"[object Int8Array]\",Io=\"[object Int16Array]\",To=\"[object Int32Array]\",Co=\"[object BigInt64Array]\",Po=\"[object Float32Array]\",So=\"[object Float64Array]\";function Oo(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function Ro(r,e,t){return pe(r,e,void 0,void 0,void 0,void 0,t)}function pe(r,e,t,i,s,n,o){const a=o(r,e,t,i,s,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case\"bigint\":case\"string\":case\"boolean\":case\"symbol\":case\"undefined\":return r===e;case\"number\":return r===e||Object.is(r,e);case\"function\":return r===e;case\"object\":return ye(r,e,n,o)}return ye(r,e,n,o)}function ye(r,e,t,i){if(Object.is(r,e))return!0;let s=Ai(r),n=Ai(e);if(s===xi&&(s=Je),n===xi&&(n=Je),s!==n)return!1;switch(s){case no:return r.toString()===e.toString();case oo:{const c=r.valueOf(),h=e.valueOf();return Oo(c,h)}case ao:case ho:case co:return Object.is(r.valueOf(),e.valueOf());case ro:return r.source===e.source&&r.flags===e.flags;case po:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(s){case lo:{if(r.size!==e.size)return!1;for(const[c,h]of r.entries())if(!e.has(c)||!pe(h,e.get(c),c,r,e,t,i))return!1;return!0}case uo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let l=0;l<c.length;l++){const d=c[l],g=h.findIndex(_=>pe(d,_,void 0,r,e,t,i));if(g===-1)return!1;h.splice(g,1)}return!0}case go:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:case So:{if(typeof Buffer<\"u\"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;c<r.length;c++)if(!pe(r[c],e[c],c,r,e,t,i))return!1;return!0}case yo:return r.byteLength!==e.byteLength?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case mo:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case bo:return r.name===e.name&&r.message===e.message;case Je:{if(!(ye(r.constructor,e.constructor,t,i)||Oi(r)&&Oi(e)))return!1;const h=[...Object.keys(r),...Ri(r)],l=[...Object.keys(e),...Ri(e)];if(h.length!==l.length)return!1;for(let d=0;d<h.length;d++){const g=h[d],_=r[g];if(!Object.hasOwn(e,g))return!1;const u=e[g];if(!pe(_,u,g,r,e,t,i))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function Ao(r,e){return Ro(r,e,so)}var xo=Object.defineProperty,Ni=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,$o=Object.prototype.propertyIsEnumerable,Xe=(r,e,t)=>e in r?xo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))No.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))$o.call(e,t)&&Xe(r,t,e[t]);return r},z=(r,e,t)=>Xe(r,typeof e!=\"symbol\"?e+\"\":e,t);class zi extends ts{constructor(e,t,i,s=B,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,z(this,\"map\",new Map),z(this,\"version\",kt),z(this,\"cached\",[]),z(this,\"initialized\",!1),z(this,\"getKey\"),z(this,\"storagePrefix\",B),z(this,\"recentlyDeleted\",[]),z(this,\"recentlyDeletedLimit\",200),z(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!xe(o)?this.map.set(this.getKey(o),o):Ps(o)?this.map.set(o.id,o):Ss(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),z(this,\"set\",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())}),z(this,\"get\",o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o))),z(this,\"getAll\",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>Ao(a[c],o[c]))):this.values)),z(this,\"update\",async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const c=$i($i({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),z(this,\"delete\",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=N(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var zo=Object.defineProperty,Lo=(r,e,t)=>e in r?zo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>Lo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Mt),p(this,\"version\",Kt),p(this,\"events\",new Gi),p(this,\"pairings\"),p(this,\"initialized\",!1),p(this,\"storagePrefix\",B),p(this,\"ignoredPayloadTypes\",[Rs]),p(this,\"registeredMethods\",[]),p(this,\"init\",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))}),p(this,\"register\",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),p(this,\"create\",async i=>{this.isInitialized();const s=Ae(),n=await this.core.crypto.setSymKey(s),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(re.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:i?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async i=>{this.isInitialized();const s=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[G.pairing_started]}});this.isValidPair(i,s);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(i.uri);s.props.properties.topic=n,s.addTrace(G.pairing_uri_validation_success),s.addTrace(G.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(n)){if(l=this.pairings.get(n),s.addTrace(G.existing_pairing),l.active)throw s.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);s.addTrace(G.pairing_not_expired)}const d=c||ce(fe),g={topic:n,relay:a,expiry:d,active:!1,methods:h};this.core.expirer.set(n,d),await this.pairings.set(n,g),s.addTrace(G.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(re.create,g),s.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),s.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{s.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw s.setError(Y.subscribe_pairing_topic_failure),_}return s.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:i})=>{this.isInitialized();const s=ce(fe);this.core.expirer.set(i,s),await this.pairings.update(i,{active:!0,expiry:s})}),p(this,\"ping\",async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=As();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})}),p(this,\"updateMetadata\",async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(s))}),p(this,\"formatUriFromPairing\",i=>{this.isInitialized();const{topic:s,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(s);return dt({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(i,s,n)=>{const o=wt(s,n),a=await this.core.crypto.encode(i,o),c=se[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),p(this,\"sendResult\",async(i,s,n)=>{const o=vt(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c].res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(i,s,n)=>{const o=Ks(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c]?se[c].res:se.unregistered_method.res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])}),p(this,\"cleanup\",async()=>{const i=this.pairings.getAll().filter(s=>pt(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))}),p(this,\"onRelayEventRequest\",async i=>{const{topic:s,payload:n}=i;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(s,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(s,n);default:return await this.onUnknownRpcMethodRequest(s,n)}}),p(this,\"onRelayEventResponse\",async i=>{const{topic:s,payload:n}=i,o=(await this.core.history.get(s,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(re.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(i,s)=>{const{id:n}=s;setTimeout(()=>{Bs(s)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(s)&&this.events.emit(Ne(\"pairing_ping\",n),{error:s.error})},500)}),p(this,\"onPairingDeleteRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(re.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(i,s)=>{const{id:n,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,i,a),this.logger.error(a)}catch(a){await this.sendError(n,i,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",i=>{this.registeredMethods.includes(i)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",i))}),p(this,\"isValidPair\",(i,s)=>{var n;if(!$e(i)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!xs(i.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&R(o?.expiryTimestamp)<Date.now()){s.setError(Y.pairing_expired);const{message:a}=m(\"EXPIRED\",\"pair() URI has expired. Please try again with a new connection URI.\");throw new Error(a)}}),p(this,\"isValidPing\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidDisconnect\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidPairingTopic\",async i=>{if(!Ns(i,!1)){const{message:s}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(pt(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=m(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}}),this.core=e,this.logger=N(t,this.name),this.pairings=new zi(this.core,this.logger,this.name,this.storagePrefix)}get context(){return U(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(C.message,async e=>{const{topic:t,message:i,transportType:s}=e;if(this.pairings.keys.includes(t)&&s!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{const n=await this.core.crypto.decode(t,i);ft(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):Dt(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,i)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(M.expired,async e=>{const{topic:t}=Os(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(re.expire,{topic:t}))})}}var ko=Object.defineProperty,jo=(r,e,t)=>e in r?ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,O=(r,e,t)=>jo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,O(this,\"records\",new Map),O(this,\"events\",new ee),O(this,\"name\",Bt),O(this,\"version\",Vt),O(this,\"cached\",[]),O(this,\"initialized\",!1),O(this,\"storagePrefix\",B),O(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),O(this,\"set\",(i,s,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(F.created,o)}),O(this,\"resolve\",async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=_t(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(F.updated,s))}),O(this,\"get\",async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s))),O(this,\"delete\",(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<\"u\"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(F.deleted,n)}}),this.persist()}),O(this,\"exists\",async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1)),O(this,\"on\",(i,s)=>{this.events.on(i,s)}),O(this,\"once\",(i,s)=>{this.events.once(i,s)}),O(this,\"off\",(i,s)=>{this.events.off(i,s)}),O(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(F.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.updated,e=>{const t=F.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.deleted,e=>{const t=F.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(te.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{R(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(F.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Uo=Object.defineProperty,Fo=(r,e,t)=>e in r?Uo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ji extends ss{constructor(e,t){super(e,t),this.core=e,this.logger=t,A(this,\"expirations\",new Map),A(this,\"events\",new ee),A(this,\"name\",qt),A(this,\"version\",Gt),A(this,\"cached\",[]),A(this,\"initialized\",!1),A(this,\"storagePrefix\",B),A(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}}),A(this,\"set\",(i,s)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:s};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(M.created,{target:n,expiration:o})}),A(this,\"get\",i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)}),A(this,\"del\",i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(M.deleted,{target:s,expiration:n})}}),A(this,\"on\",(i,s)=>{this.events.on(i,s)}),A(this,\"once\",(i,s)=>{this.events.once(i,s)}),A(this,\"off\",(i,s)=>{this.events.off(i,s)}),A(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==\"string\")return $s(e);if(typeof e==\"number\")return zs(e);const{message:t}=m(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(M.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;R(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(M.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(te.pulse,()=>this.checkExpirations()),this.events.on(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.expired,e=>{const t=M.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Mo=Object.defineProperty,Ko=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,w(this,\"name\",Wt),w(this,\"abortController\"),w(this,\"isDevEnv\"),w(this,\"verifyUrlV3\",Yt),w(this,\"storagePrefix\",B),w(this,\"version\",Le),w(this,\"publicKey\"),w(this,\"fetchPromise\"),w(this,\"init\",async()=>{var s;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&R((s=this.publicKey)==null?void 0:s.expiresAt)<Date.now()&&(this.logger.debug(\"verify v2 public key expired\"),await this.removePublicKey()))}),w(this,\"register\",async s=>{if(!Ls()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=s,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=qs(),l=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const u=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",u);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",u,{signal:this.abortController.signal});const x=I=>{if(I.data&&typeof I.data==\"string\")try{const D=JSON.parse(I.data);if(D.type===\"verify_attestation\"){if(rt(D.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",u),window.removeEventListener(\"message\",x),g(D.attestation===null?\"\":D.attestation)}}catch(D){this.logger.warn(D)}};h.body.appendChild(b),window.addEventListener(\"message\",x,{signal:this.abortController.signal})});return this.logger.debug(\"jwt attestation\",d),d}catch(h){this.logger.warn(h)}return\"\"}),w(this,\"resolve\",async s=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=s;if(n===\"\"){this.logger.debug(\"resolve: attestationId is empty, skipping\");return}if(n){if(rt(n).payload.id!==a)return;const h=await this.isValidJwtAttestation(n);if(h){if(!h.isVerified){this.logger.warn(\"resolve: jwt attestation: origin url not verified\");return}return h}}if(!o)return;const c=this.getVerifyUrl(s?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(s,n)=>{this.logger.debug(`resolving attestation: ${s} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${s}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",s=>{let n=s||ue;return Jt.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${ue}`),n=ue),n}),w(this,\"fetchPublicKey\",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const s=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(s),await n.json()}catch(s){this.logger.warn(s)}}),w(this,\"persistPublicKey\",async s=>{this.logger.debug(\"persisting public key to local storage\",s),await this.store.setItem(this.storeKey,s),this.publicKey=s}),w(this,\"removePublicKey\",async()=>{this.logger.debug(\"removing verify v2 public key from storage\"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),w(this,\"isValidJwtAttestation\",async s=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(s,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(s,o)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}}),w(this,\"getPublicKey\",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),w(this,\"fetchAndPersistPublicKey\",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const s=await this.fetchPromise;return this.fetchPromise=void 0,s}),w(this,\"validateAttestation\",(s,n)=>{const o=ks(s,n.publicKey),a={hasExpired:R(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn(\"resolve: jwt attestation expired\"),new Error(\"JWT attestation expired\");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=N(t,this.name),this.abortController=new AbortController,this.isDevEnv=yt(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//verify:public:key\"}get context(){return U(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),R(e))}}var Bo=Object.defineProperty,Vo=(r,e,t)=>e in r?Bo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fi=(r,e,t)=>Vo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Mi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Fi(this,\"context\",Xt),Fi(this,\"registerDeviceToken\",async i=>{const{clientId:s,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var qo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?qo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))Go.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Wo.call(e,t)&&Ze(r,t,e[t]);return r},E=(r,e,t)=>Ze(r,typeof e!=\"symbol\"?e+\"\":e,t);class Bi extends os{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,E(this,\"context\",ei),E(this,\"storagePrefix\",B),E(this,\"storageVersion\",Qt),E(this,\"events\",new Map),E(this,\"shouldPersist\",!1),E(this,\"init\",async()=>{if(!yt())try{const s={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:js(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([s])}catch(s){this.logger.warn(s)}}),E(this,\"createEvent\",s=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=s,h=bt(),l=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",s=>{const{eventId:n,topic:o}=s;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return be(be({},a),this.setMethods(a.eventId))}),E(this,\"deleteEvent\",s=>{const{eventId:n}=s;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(te.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(s=>{it(Date.now())-it(s.timestamp)>ti&&(this.events.delete(s.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",s=>({addTrace:n=>this.addTrace(s,n),setError:n=>this.setError(s,n)})),E(this,\"addTrace\",(s,n)=>{const o=this.events.get(s);o&&(o.props.properties.trace.push(n),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"setError\",(s,n)=>{const o=this.events.get(s);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"persist\",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),E(this,\"restore\",async()=>{try{const s=await this.core.storage.getItem(this.storageKey)||[];if(!s.length)return;s.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(s){this.logger.warn(s)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const s=[];for(const[n,o]of this.events)o.props.type&&s.push(o);if(s.length!==0)try{if((await this.sendEvent(s)).ok)for(const n of s)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async s=>{const n=this.getAppDomain()?\"\":\"&sp=desktop\";return await fetch(`${ii}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${_e}${n}`,{method:\"POST\",body:JSON.stringify(s)})}),E(this,\"getAppDomain\",()=>Us().url),this.logger=N(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Ho=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Yo=Object.prototype.hasOwnProperty,Jo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Ho(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Yo.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Jo.call(e,t)&&Qe(r,t,e[t]);return r},v=(r,e,t)=>Qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Te extends as{constructor(e){var t;super(e),v(this,\"protocol\",ze),v(this,\"version\",Le),v(this,\"name\",he),v(this,\"relayUrl\"),v(this,\"projectId\"),v(this,\"customStoragePrefix\"),v(this,\"events\",new ee),v(this,\"logger\"),v(this,\"heartbeat\"),v(this,\"relayer\"),v(this,\"crypto\"),v(this,\"storage\"),v(this,\"history\"),v(this,\"expirer\"),v(this,\"pairing\"),v(this,\"verify\"),v(this,\"echoClient\"),v(this,\"linkModeSupportedApps\"),v(this,\"eventClient\"),v(this,\"initialized\",!1),v(this,\"logChunkController\"),v(this,\"on\",(a,c)=>this.events.on(a,c)),v(this,\"once\",(a,c)=>this.events.once(a,c)),v(this,\"off\",(a,c)=>this.events.off(a,c)),v(this,\"removeListener\",(a,c)=>this.events.removeListener(a,c)),v(this,\"dispatchEnvelope\",({topic:a,message:c,sessionExists:h})=>{if(!a||!c)return;const l={topic:a,message:c,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:h})});const i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(a){console.warn(\"Failed to copy global core\",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Ue,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const s=et({level:typeof e?.logger==\"string\"&&e.logger?e.logger:Et.logger,name:he}),{logger:n,chunkLoggerController:o}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=N(n,this.name),this.heartbeat=new Wi,this.crypto=new vi(this,this.logger,e?.keychain),this.history=new ki(this,this.logger),this.expirer=new ji(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Hi(qi(qi({},It),e?.storageOptions)),this.relayer=new Si({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Li(this,this.logger),this.verify=new Ui(this,this.logger,this.storage),this.echoClient=new Mi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new Te(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(jt,i),t}get context(){return U(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(Fe,this.linkModeSupportedApps))}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(Fe)||[],this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=\"\"){try{if(this.isGlobalCoreDisabled())return;const t=`_walletConnectCore_${e}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(t){console.warn(\"Failed to get global WalletConnect core\",t);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const i=`_walletConnectCore_${((t=e.opts)==null?void 0:t.customStoragePrefix)||\"\"}`;globalThis[i]=e}catch(i){console.warn(\"Failed to set global WalletConnect core\",i)}}isGlobalCoreDisabled(){try{return typeof process<\"u\"&&process.env.DISABLE_GLOBAL_CORE===\"true\"}catch{return!0}}}const Xo=Te;export{he as CORE_CONTEXT,Et as CORE_DEFAULT,ze as CORE_PROTOCOL,It as CORE_STORAGE_OPTIONS,B as CORE_STORAGE_PREFIX,Le as CORE_VERSION,ke as CRYPTO_CLIENT_SEED,Tt as CRYPTO_CONTEXT,Ct as CRYPTO_JWT_TTL,Xo as Core,vi as Crypto,Xt as ECHO_CONTEXT,Zt as ECHO_URL,ii as EVENTS_CLIENT_API_URL,ti as EVENTS_STORAGE_CLEANUP_INTERVAL,ei as EVENTS_STORAGE_CONTEXT,Qt as EVENTS_STORAGE_VERSION,sr as EVENT_CLIENT_AUTHENTICATE_ERRORS,ir as EVENT_CLIENT_AUTHENTICATE_TRACES,Qs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,tr as EVENT_CLIENT_SESSION_ERRORS,er as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Xs as EXPIRER_DEFAULT_TTL,M as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Mi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,F as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Ot as MESSAGES_CONTEXT,Rt as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Mt as PAIRING_CONTEXT,Js as PAIRING_DEFAULT_TTL,re as PAIRING_EVENTS,se as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Ys as PENDING_SUB_RESOLUTION_TIMEOUT,At as PUBLISHER_CONTEXT,je as PUBLISHER_DEFAULT_TTL,Li as Pairing,$t as RELAYER_CONTEXT,Nt as RELAYER_DEFAULT_LOGGER,xt as RELAYER_DEFAULT_PROTOCOL,Ue as RELAYER_DEFAULT_RELAY_URL,C as RELAYER_EVENTS,L as RELAYER_PROVIDER_EVENTS,Lt as RELAYER_RECONNECT_TIMEOUT,_e as RELAYER_SDK_VERSION,Gs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Ws as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Hs as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Ft as SUBSCRIBER_STORAGE_VERSION,zi as Store,Ti as Subscriber,Q as TRANSPORT_TYPES,Jt as TRUSTED_VERIFY_URLS,Wt as VERIFY_CONTEXT,ue as VERIFY_SERVER,Yt as VERIFY_SERVER_V3,Ui as Verify,jt as WALLETCONNECT_CLIENT_ID,Fe as WALLETCONNECT_LINK_MODE_APPS,Te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_EVENTS as Xe,TRANSPORT_TYPES as P,EXPIRER_EVENTS as Tt,PAIRING_EVENTS as Je,RELAYER_DEFAULT_PROTOCOL as qt,EVENT_CLIENT_SESSION_TRACES as k,EVENT_CLIENT_SESSION_ERRORS as H,EVENT_CLIENT_AUTHENTICATE_TRACES as z,EVENT_CLIENT_AUTHENTICATE_ERRORS as re,EVENT_CLIENT_PAIRING_ERRORS as Pt,EVENT_CLIENT_PAIRING_TRACES as Nt,VERIFY_SERVER as Ot,Store as B,Core as bt}from\"@walletconnect/core\";import{pino as At,getDefaultLoggerOptions as xt,generateChildLogger as Ct,getLoggerContext as Vt}from\"@walletconnect/logger\";import{IEngine as Dt,ISignClient as Lt}from\"@walletconnect/types\";import{THIRTY_DAYS as kt,SEVEN_DAYS as Be,FIVE_MINUTES as C,ONE_DAY as U,ONE_HOUR as We,ONE_SECOND as Ze,toMiliseconds as Oe}from\"@walletconnect/time\";import{getInternalError as y,BASE64URL as ne,BASE64 as de,hashMessage as W,parseExpirerTarget as Mt,isValidString as Y,isExpired as Z,isValidId as $t,mergeRequiredAndOptionalNamespaces as Kt,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Gt,isSessionCompatible as jt,hashKey as be,parseChainId as Ae,createEncodedRecap as Ft,getRecapFromResources as xe,mergeEncodedRecaps as Qt,TYPE_2 as Ht,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as zt,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as Yt,isValidObject as ot,isValidRequiredNamespaces as Xt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Jt,isValidRelay as Bt,isValidController as Wt,isValidNamespacesChainId as ct,isValidRequest as Zt,isValidNamespacesRequest as es,isValidRequestExpiry as ts,isValidResponse as ss,isValidEvent as is,isValidNamespacesEvent as rs,getSearchParamFromURL as lt,isTestRun as ns,isReactNative as os,isValidArray as as,extractSolanaTransactionId as cs,TYPE_1 as Ve,populateAppMetadata as ls}from\"@walletconnect/utils\";import ps,{EventEmitter as hs}from\"events\";import{isJsonRpcRequest as ds,isJsonRpcResponse as us,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as gs,formatJsonRpcError as ys}from\"@walletconnect/jsonrpc-utils\";const De=\"wc\",Le=2,ke=\"client\",we=`${De}@${Le}:${ke}:`,me={name:ke,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.org\"},ws={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\",session_connect:\"session_connect\"},ms={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",_s={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Es=\"history\",fs=\"0.3\",pt=\"proposal\",Ss=kt,$e=\"Proposal expired\",ht=\"session\",J=Be,dt=\"engine\",N={wc_sessionPropose:{req:{ttl:C,prompt:!0,tag:1100},res:{ttl:C,prompt:!1,tag:1101},reject:{ttl:C,prompt:!1,tag:1120},autoReject:{ttl:C,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:C,prompt:!1,tag:1102},res:{ttl:C,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U,prompt:!1,tag:1104},res:{ttl:U,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U,prompt:!1,tag:1106},res:{ttl:U,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:C,prompt:!0,tag:1108},res:{ttl:C,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:C,prompt:!0,tag:1110},res:{ttl:C,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U,prompt:!1,tag:1112},res:{ttl:U,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U,prompt:!1,tag:1114},res:{ttl:U,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:We,prompt:!0,tag:1116},res:{ttl:We,prompt:!1,tag:1117},reject:{ttl:C,prompt:!1,tag:1118},autoReject:{ttl:C,prompt:!1,tag:1119}}},_e={min:C,max:Be},$={idle:\"IDLE\",active:\"ACTIVE\"},Ke={eth_sendTransaction:{key:\"\"},eth_sendRawTransaction:{key:\"\"},wallet_sendCalls:{key:\"\"},solana_signTransaction:{key:\"signature\"},solana_signAllTransactions:{key:\"transactions\"},solana_signAndSendTransaction:{key:\"signature\"}},ut=\"request\",gt=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\",\"wc_sessionAuthenticate\"],yt=\"wc\",Rs=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var vs=Object.defineProperty,Is=Object.defineProperties,Ts=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ps=Object.prototype.propertyIsEnumerable,Ue=(S,n,e)=>n in S?vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))qs.call(n,e)&&Ue(S,e,n[e]);if(ft)for(var e of ft(n))Ps.call(n,e)&&Ue(S,e,n[e]);return S},b=(S,n)=>Is(S,Ts(n)),c=(S,n,e)=>Ue(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ns extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ps),c(this,\"initialized\",!1),c(this,\"requestQueue\",{state:$.idle,queue:[]}),c(this,\"sessionRequestQueue\",{state:$.idle,queue:[]}),c(this,\"requestQueueDelay\",Ze),c(this,\"expectedPairingMethodMap\",new Map),c(this,\"recentlyDeletedMap\",new Map),c(this,\"recentlyDeletedLimit\",200),c(this,\"relayMessageCache\",[]),c(this,\"pendingSessions\",new Map),c(this,\"init\",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(N)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Oe(this.requestQueueDelay)))}),c(this,\"connect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const t=b(v({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=Kt(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,scopedProperties:a,relays:l}=t;let p=s,h,u=!1;try{if(p){const T=this.client.core.pairing.pairings.get(p);this.client.logger.warn(\"connect() with existing pairing topic is deprecated and will be removed in the next major release.\"),u=T.active}}catch(T){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),T}if(!p||!u){const{topic:T,uri:K}=await this.client.core.pairing.create();p=T,h=K}if(!p){const{message:T}=y(\"NO_MATCHING_KEY\",`connect() pairing topic: ${p}`);throw new Error(T)}const d=await this.client.core.crypto.generateKeyPair(),w=N.wc_sessionPropose.req.ttl||C,m=V(w),f=b(v(v({requiredNamespaces:i,optionalNamespaces:r,relays:l??[{protocol:qt}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:m,pairingTopic:p},o&&{sessionProperties:o}),a&&{scopedProperties:a}),{id:G()}),_=R(\"session_connect\",f.id),{reject:g,resolve:A,done:D}=ee(w,$e),I=({id:T})=>{T===f.id&&(this.client.events.off(\"proposal_expire\",I),this.pendingSessions.delete(f.id),this.events.emit(_,{error:{message:$e,code:0}}))};return this.client.events.on(\"proposal_expire\",I),this.events.once(_,({error:T,session:K})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):K&&A(K)}),await this.sendRequest({topic:p,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:h,approval:D}}),c(this,\"pair\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(t){throw this.client.logger.error(\"pair() failed\"),t}}),c(this,\"approve\",async e=>{var t,s,i;const r=this.client.core.eventClient.createEvent({properties:{topic:(t=e?.id)==null?void 0:t.toString(),trace:[k.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw r.setError(H.no_internet_connection),q}try{await this.isValidProposalId(e?.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(H.proposal_not_found),q}try{await this.isValidApprove(e)}catch(q){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),r.setError(H.session_approve_namespace_validation_failure),q}const{id:o,relayProtocol:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=e,d=this.client.proposal.get(o);this.client.core.eventClient.deleteEvent({eventId:r.eventId});const{pairingTopic:w,proposer:m,requiredNamespaces:f,optionalNamespaces:_}=d;let g=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:w});g||(g=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:k.session_approve_started,properties:{topic:w,trace:[k.session_approve_started,k.session_namespaces_validation_success]}}));const A=await this.client.core.crypto.generateKeyPair(),D=m.publicKey,I=await this.client.core.crypto.generateSharedKey(A,D),T=v(v(v({relay:{protocol:a??\"irn\"},namespaces:l,controller:{publicKey:A,metadata:this.client.metadata},expiry:V(J)},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),K=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:K})}catch(q){throw g.setError(H.subscribe_session_topic_failure),q}g.addTrace(k.subscribe_session_topic_success);const fe=b(v({},T),{topic:I,requiredNamespaces:f,optionalNamespaces:_,pairingTopic:w,acknowledged:!1,self:T.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A,transportType:P.relay});await this.client.session.set(I,fe),g.addTrace(k.store_session);try{g.addTrace(k.publishing_session_settle),await this.sendRequest({topic:I,method:\"wc_sessionSettle\",params:T,throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_settle_publish_failure),q}),g.addTrace(k.session_settle_publish_success),g.addTrace(k.publishing_session_approve),await this.sendResult({id:o,topic:w,result:{relay:{protocol:a??\"irn\"},responderPublicKey:A},throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_approve_publish_failure),q}),g.addTrace(k.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete(I,O(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(I),q}return this.client.core.eventClient.deleteEvent({eventId:g.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:m.metadata}),await this.client.proposal.delete(o,O(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(I,V(J)),{topic:I,acknowledged:()=>Promise.resolve(this.client.session.get(I))}}),c(this,\"reject\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:t,reason:s}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),r}i&&(await this.sendError({id:t,topic:i,error:s,rpcOpts:N.wc_sessionPropose.reject}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\")))}),c(this,\"update\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(h){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),h}const{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:o}=ee(),a=G(),l=ge().toString(),p=this.client.session.get(t).namespaces;return this.events.once(R(\"session_update\",a),({error:h})=>{h?o(h):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(t,{namespaces:p}),o(h)}),{acknowledged:i}}),c(this,\"extend\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:t}=e,s=G(),{done:i,resolve:r,reject:o}=ee();return this.events.once(R(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(t,V(J)),this.sendRequest({topic:t,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}}),c(this,\"request\",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(_){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),_}const{chainId:t,request:s,topic:i,expiry:r=N.wc_sessionRequest.req.ttl}=e,o=this.client.session.get(i);o?.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const a=G(),l=ge().toString(),{done:p,resolve:h,reject:u}=ee(r,\"Request expired. Please try again.\");this.events.once(R(\"session_request\",a),({error:_,result:g})=>{_?u(_):h(g)});const d=\"wc_sessionRequest\",w=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);if(w)return await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:{request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:w}).catch(_=>u(_)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),await p();const m={request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},f=this.shouldSetTVF(d,m);return await Promise.all([new Promise(async _=>{await this.sendRequest(v({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(a,m)})).catch(g=>u(g)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),_()}),new Promise(async _=>{var g;if(!((g=o.sessionConfig)!=null&&g.disableDeepLink)){const A=await Ut(this.client.core.storage,Me);await Gt({id:a,topic:i,wcDeepLink:A})}_()}),p()]).then(_=>_[2])}),c(this,\"respond\",async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:t,response:s}=e,{id:i}=s,r=this.client.session.get(t);r.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const o=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);j(s)?await this.sendResult({id:i,topic:t,result:s.result,throwOnFailedPublish:!0,appLink:o}):F(s)&&await this.sendError({id:i,topic:t,error:s.error,appLink:o}),this.cleanupAfterResponse(e)}),c(this,\"ping\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:t}=e;if(this.client.session.keys.includes(t)){const s=G(),i=ge().toString(),{done:r,resolve:o,reject:a}=ee();this.events.once(R(\"session_ping\",s),({error:l})=>{l?a(l):o()}),await Promise.all([this.sendRequest({topic:t,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(\"ping() on pairing topic is deprecated and will be removed in the next major release.\"),await this.client.core.pairing.ping({topic:t}))}),c(this,\"emit\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:s,chainId:i}=e,r=ge().toString(),o=G();await this.sendRequest({topic:t,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:o})}),c(this,\"disconnect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);const{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:\"wc_sessionDelete\",params:O(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{const{message:s}=y(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${t}`);throw new Error(s)}}),c(this,\"find\",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>jt(t,e)))),c(this,\"getPendingSessionRequests\",()=>this.client.pendingRequest.getAll()),c(this,\"authenticate\",async(e,t)=>{var s;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),r=i?P.link_mode:P.relay;r===P.relay&&await this.confirmOnlineStateOrThrow();const{chains:o,statement:a=\"\",uri:l,domain:p,nonce:h,type:u,exp:d,nbf:w,methods:m=[],expiry:f}=e,_=[...e.resources||[]],{topic:g,uri:A}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"],transportType:r});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:g,uri:A}});const D=await this.client.core.crypto.generateKeyPair(),I=be(D);if(await Promise.all([this.client.auth.authKeys.set(ce,{responseTopic:I,publicKey:D}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:g})]),await this.client.core.relayer.subscribe(I,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${g}`),m.length>0){const{namespace:x}=Ae(o[0]);let L=Ft(x,\"request\",m);xe(_)&&(L=Qt(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,K={authPayload:{type:u??\"caip122\",chains:o,statement:a,aud:l,domain:p,version:\"1\",nonce:h,iat:new Date().toISOString(),exp:d,nbf:w,resources:_},requester:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(T)},fe={eip155:{chains:o,methods:[...new Set([\"personal_sign\",...m])],events:[\"chainChanged\",\"accountsChanged\"]}},q={requiredNamespaces:{},optionalNamespaces:fe,relays:[{protocol:\"irn\"}],pairingTopic:g,proposer:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(N.wc_sessionPropose.req.ttl),id:G()},{done:Rt,resolve:je,reject:Se}=ee(T,\"Request expired\"),te=G(),le=R(\"session_connect\",q.id),Re=R(\"session_request\",te),pe=async({error:x,session:L})=>{this.events.off(Re,ve),x?Se(x):L&&je({session:L})},ve=async x=>{var L,Fe,Qe;if(await this.deletePendingAuthRequest(te,{message:\"fulfilled\",code:0}),x.error){const ie=O(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return x.error.code===ie.code?void 0:(this.events.off(le,pe),Se(x.error.message))}await this.deleteProposal(q.id),this.events.off(le,pe);const{cacaos:He,responder:Q}=x.result,Te=[],ze=[];for(const ie of He){await et({cacao:ie,projectId:this.client.core.projectId})||(this.client.logger.error(ie,\"Signature verification failed\"),Se(O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:qe}=ie,Pe=xe(qe.resources),Ye=[tt(qe.iss)],vt=st(qe.iss);if(Pe){const Ne=it(Pe),It=rt(Pe);Te.push(...Ne),Ye.push(...It)}for(const Ne of Ye)ze.push(`${Ne}:${vt}`)}const se=await this.client.core.crypto.generateSharedKey(D,Q.publicKey);let he;Te.length>0&&(he={topic:se,acknowledged:!0,self:{publicKey:D,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:V(J),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:g,namespaces:nt([...new Set(Te)],[...new Set(ze)]),transportType:r},await this.client.core.relayer.subscribe(se,{transportType:r}),await this.client.session.set(se,he),g&&await this.client.core.pairing.updateMetadata({topic:g,metadata:Q.metadata}),he=this.client.session.get(se)),(L=this.client.metadata.redirect)!=null&&L.linkMode&&(Fe=Q.metadata.redirect)!=null&&Fe.linkMode&&(Qe=Q.metadata.redirect)!=null&&Qe.universal&&t&&(this.client.core.addLinkModeSupportedApp(Q.metadata.redirect.universal),this.client.session.update(se,{transportType:P.link_mode})),je({auths:He,session:he})};this.events.once(le,pe),this.events.once(Re,ve);let Ie;try{if(i){const x=ye(\"wc_sessionAuthenticate\",K,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Ht,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:K,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:te}),this.sendRequest({topic:g,method:\"wc_sessionPropose\",params:q,expiry:N.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:q.id})])}catch(x){throw this.events.off(le,pe),this.events.off(Re,ve),x}return await this.setProposal(q.id,q),await this.setAuthRequest(te,{request:b(v({},K),{verifyContext:{}}),pairingTopic:g,transportType:r}),{uri:Ie??A,response:Rt}}),c(this,\"approveSessionAuthenticate\",async e=>{const{id:t,auths:s}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[z.authenticated_session_approve_started]}});try{this.isInitialized()}catch(f){throw i.setError(re.no_internet_connection),f}const r=this.getPendingAuthRequest(t);if(!r)throw i.setError(re.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${t}`);const o=r.transportType||P.relay;o===P.relay&&await this.confirmOnlineStateOrThrow();const a=r.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),p=be(a),h={type:Ve,receiverPublicKey:a,senderPublicKey:l},u=[],d=[];for(const f of s){if(!await et({cacao:f,projectId:this.client.core.projectId})){i.setError(re.invalid_cacao);const I=O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:t,topic:p,error:I,encodeOpts:h}),new Error(I.message)}i.addTrace(z.cacaos_verified);const{p:_}=f,g=xe(_.resources),A=[tt(_.iss)],D=st(_.iss);if(g){const I=it(g),T=rt(g);u.push(...I),A.push(...T)}for(const I of A)d.push(`${I}:${D}`)}const w=await this.client.core.crypto.generateSharedKey(l,a);i.addTrace(z.create_authenticated_session_topic);let m;if(u?.length>0){m={topic:w,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:a,metadata:r.requester.metadata},controller:a,expiry:V(J),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:r.pairingTopic,namespaces:nt([...new Set(u)],[...new Set(d)]),transportType:o},i.addTrace(z.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:o})}catch(f){throw i.setError(re.subscribe_authenticated_session_topic_failure),f}i.addTrace(z.subscribe_authenticated_session_topic_success),await this.client.session.set(w,m),i.addTrace(z.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:r.pairingTopic,metadata:r.requester.metadata})}i.addTrace(z.publishing_authenticated_session_approve);try{await this.sendResult({topic:p,id:t,result:{cacaos:s,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(r.requester.metadata,o)})}catch(f){throw i.setError(re.authenticated_session_approve_publish_failure),f}return await this.client.auth.requests.delete(t,{message:\"fulfilled\",code:0}),await this.client.core.pairing.activate({topic:r.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:m}}),c(this,\"rejectSessionAuthenticate\",async e=>{this.isInitialized();const{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=be(r),l={type:Ve,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:t,topic:a,error:s,encodeOpts:l,rpcOpts:N.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:\"rejected\",code:0}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\"))}),c(this,\"formatAuthMessage\",e=>{this.isInitialized();const{request:t,iss:s}=e;return zt(t,s)}),c(this,\"processRelayMessageCache\",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),c(this,\"cleanupDuplicatePairings\",async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(t){this.client.logger.error(t)}}),c(this,\"deleteSession\",async e=>{var t;const{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:o=0}=e,{self:a}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,O(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(s,\"session\"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(Me).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===s&&this.deletePendingSessionRequest(l.id,O(\"USER_DISCONNECTED\"))}),s===((t=this.sessionRequestQueue.queue[0])==null?void 0:t.topic)&&(this.sessionRequestQueue.state=$.idle),r&&this.client.events.emit(\"session_delete\",{id:o,topic:s})}),c(this,\"deleteProposal\",async(e,t)=>{if(t)try{const s=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:s.pairingTopic});i?.setError(H.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,O(\"USER_DISCONNECTED\")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"proposal\")}),c(this,\"deletePendingSessionRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),s&&(this.sessionRequestQueue.state=$.idle,this.client.events.emit(\"session_request_expire\",{id:e}))}),c(this,\"deletePendingAuthRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),c(this,\"setExpiry\",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),c(this,\"setProposal\",async(e,t)=>{this.client.core.expirer.set(e,V(N.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),c(this,\"setAuthRequest\",async(e,t)=>{const{request:s,pairingTopic:i,transportType:r=P.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),c(this,\"setPendingSessionRequest\",async e=>{const{id:t,topic:s,params:i,verifyContext:r}=e,o=i.request.expiryTimestamp||V(N.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,o),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),c(this,\"sendRequest\",async e=>{const{topic:t,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:l,appLink:p,tvf:h}=e,u=ye(s,i,a);let d;const w=!!p;try{const _=w?ne:de;d=await this.client.core.crypto.encode(t,u,{encoding:_})}catch(_){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),_}let m;if(gt.includes(s)){const _=W(JSON.stringify(u)),g=W(d);m=await this.client.core.verify.register({id:g,decryptedId:_})}const f=N[s].req;if(f.attestation=m,r&&(f.ttl=r),o&&(f.id=o),this.client.core.history.set(t,u),w){const _=ue(p,t,d);await global.Linking.openURL(_,this.client.name)}else{const _=N[s].req;r&&(_.ttl=r),o&&(_.id=o),_.tvf=b(v({},h),{correlationId:u.id}),l?(_.internal=b(v({},_.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,_)):this.client.core.relayer.publish(t,d,_).catch(g=>this.client.logger.error(g))}return u.id}),c(this,\"sendResult\",async e=>{const{id:t,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o,appLink:a}=e,l=gs(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const w=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},o||{}),{encoding:w}))}catch(w){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),w}let u,d;try{u=await this.client.core.history.get(s,t);const w=u.request;try{this.shouldSetTVF(w.method,w.params)&&(d=this.getTVFParams(t,w.params,i))}catch(m){this.client.logger.warn(\"sendResult() -> getTVFParams() failed\",m)}}catch(w){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${t}) failed`),w}if(h){const w=ue(a,s,p);await global.Linking.openURL(w,this.client.name)}else{const w=u.request.method,m=N[w].res;m.tvf=b(v({},d),{correlationId:t}),r?(m.internal=b(v({},m.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,p,m)):this.client.core.relayer.publish(s,p,m).catch(f=>this.client.logger.error(f))}await this.client.core.history.resolve(l)}),c(this,\"sendError\",async e=>{const{id:t,topic:s,error:i,encodeOpts:r,rpcOpts:o,appLink:a}=e,l=ys(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const d=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},r||{}),{encoding:d}))}catch(d){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),d}let u;try{u=await this.client.core.history.get(s,t)}catch(d){throw this.client.logger.error(`sendError() -> history.get(${s}, ${t}) failed`),d}if(h){const d=ue(a,s,p);await global.Linking.openURL(d,this.client.name)}else{const d=u.request.method,w=o||N[d].res;this.client.core.relayer.publish(s,p,w)}await this.client.core.history.resolve(l)}),c(this,\"cleanup\",async()=>{const e=[],t=[];this.client.session.getAll().forEach(s=>{let i=!1;Z(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&e.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{Z(s.expiryTimestamp)&&t.push(s.id)}),await Promise.all([...e.map(s=>this.deleteSession({topic:s})),...t.map(s=>this.deleteProposal(s))])}),c(this,\"onProviderMessageEvent\",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),c(this,\"onRelayEventRequest\",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),c(this,\"processRequestsQueue\",async()=>{if(this.requestQueue.state===$.active){this.client.logger.info(\"Request queue already active, skipping...\");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=$.active;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(t){this.client.logger.warn(t)}}this.requestQueue.state=$.idle}),c(this,\"processRequest\",async e=>{const{topic:t,payload:s,attestation:i,transportType:r,encryptedId:o}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case\"wc_sessionPropose\":return await this.onSessionProposeRequest({topic:t,payload:s,attestation:i,encryptedId:o});case\"wc_sessionSettle\":return await this.onSessionSettleRequest(t,s);case\"wc_sessionUpdate\":return await this.onSessionUpdateRequest(t,s);case\"wc_sessionExtend\":return await this.onSessionExtendRequest(t,s);case\"wc_sessionPing\":return await this.onSessionPingRequest(t,s);case\"wc_sessionDelete\":return await this.onSessionDeleteRequest(t,s);case\"wc_sessionRequest\":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});case\"wc_sessionEvent\":return await this.onSessionEventRequest(t,s);case\"wc_sessionAuthenticate\":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),c(this,\"onRelayEventResponse\",async e=>{const{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case\"wc_sessionPropose\":return this.onSessionProposeResponse(t,s,i);case\"wc_sessionSettle\":return this.onSessionSettleResponse(t,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(t,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(t,s);case\"wc_sessionPing\":return this.onSessionPingResponse(t,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(t,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),c(this,\"onRelayEventUnknownPayload\",e=>{const{topic:t}=e,{message:s}=y(\"MISSING_OR_INVALID\",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),c(this,\"shouldIgnorePairingRequest\",e=>{const{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)}),c(this,\"onSessionProposeRequest\",async e=>{const{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:o,id:a}=s;try{const l=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(\"session_proposal\")===0&&(console.warn(\"No listener for session_proposal event\"),l?.setError(Pt.proposal_listener_not_found)),this.isValidConnect(v({},s.params));const p=o.expiryTimestamp||V(N.wc_sessionPropose.req.ttl),h=v({id:a,pairingTopic:t,expiryTimestamp:p},o);await this.setProposal(a,h);const u=await this.getVerifyContext({attestationId:i,hash:W(JSON.stringify(s)),encryptedId:r,metadata:h.proposer.metadata});l?.addTrace(Nt.emit_session_proposal),this.client.events.emit(\"session_proposal\",{id:a,params:h,verifyContext:u})}catch(l){await this.sendError({id:a,topic:t,error:l,rpcOpts:N.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),c(this,\"onSessionProposeResponse\",async(e,t,s)=>{const{id:i}=t;if(j(t)){const{result:r}=t;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:r});const o=this.client.proposal.get(i);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:a});const l=r.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:l});const p=await this.client.core.crypto.generateSharedKey(a,l);this.pendingSessions.set(i,{sessionTopic:p,pairingTopic:e,proposalId:i,publicKey:a});const h=await this.client.core.relayer.subscribe(p,{transportType:s});this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if(F(t)){await this.client.proposal.delete(i,O(\"USER_DISCONNECTED\"));const r=R(\"session_connect\",i);if(this.events.listenerCount(r)===0)throw new Error(`emitting ${r} without any listeners, 954`);this.events.emit(r,{error:t.error})}}),c(this,\"onSessionSettleRequest\",async(e,t)=>{const{id:s,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=t.params,d=[...this.pendingSessions.values()].find(f=>f.sessionTopic===e);if(!d)return this.client.logger.error(`Pending session not found for topic ${e}`);const w=this.client.proposal.get(d.proposalId),m=b(v(v(v({topic:e,relay:r,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:d.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:o.publicKey,self:{publicKey:d.publicKey,metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),{transportType:P.relay});await this.client.session.set(m.topic,m),await this.setExpiry(m.topic,m.expiry),await this.client.core.pairing.updateMetadata({topic:d.pairingTopic,metadata:m.peer.metadata}),this.client.events.emit(\"session_connect\",{session:m}),this.events.emit(R(\"session_connect\",d.proposalId),{session:m}),this.pendingSessions.delete(d.proposalId),this.deleteProposal(d.proposalId,!1),this.cleanupDuplicatePairings(m),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionSettleResponse\",async(e,t)=>{const{id:s}=t;j(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(R(\"session_approve\",s),{})):F(t)&&(await this.client.session.delete(e,O(\"USER_DISCONNECTED\")),this.events.emit(R(\"session_approve\",s),{error:t.error}))}),c(this,\"onSessionUpdateRequest\",async(e,t)=>{const{params:s,id:i}=t;try{const r=`${e}_session_update`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:O(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(v({topic:e},s));try{oe.set(r,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(a){throw oe.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:e,params:s})}catch(r){await this.sendError({id:i,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"isRequestOutOfSync\",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),c(this,\"onSessionUpdateResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_update\",s),{}):F(t)&&this.events.emit(R(\"session_update\",s),{error:t.error})}),c(this,\"onSessionExtendRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,V(J)),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionExtendResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_extend\",s),{}):F(t)&&this.events.emit(R(\"session_extend\",s),{error:t.error})}),c(this,\"onSessionPingRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionPingResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_ping\",s);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);j(t)?this.events.emit(R(\"session_ping\",s),{}):F(t)&&this.events.emit(R(\"session_ping\",s),{error:t.error})},500)}),c(this,\"onSessionDeleteRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(i=>{this.client.core.relayer.once(Xe.publish,async()=>{i(await this.deleteSession({topic:e,id:s}))})}),this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:O(\"USER_DISCONNECTED\")})]).catch(i=>this.client.logger.error(i))}catch(i){this.client.logger.error(i)}}),c(this,\"onSessionRequest\",async e=>{var t,s,i;const{topic:r,payload:o,attestation:a,encryptedId:l,transportType:p}=e,{id:h,params:u}=o;try{await this.isValidRequest(v({topic:r},u));const d=this.client.session.get(r),w=await this.getVerifyContext({attestationId:a,hash:W(JSON.stringify(ye(\"wc_sessionRequest\",u,h))),encryptedId:l,metadata:d.peer.metadata,transportType:p}),m={id:h,topic:r,params:u,verifyContext:w};await this.setPendingSessionRequest(m),p===P.link_mode&&(t=d.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp((s=d.peer.metadata.redirect)==null?void 0:s.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(m):(this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue())}catch(d){await this.sendError({id:h,topic:r,error:d}),this.client.logger.error(d)}}),c(this,\"onSessionRequestResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionEventRequest\",async(e,t)=>{const{id:s,params:i}=t;try{const r=`${e}_session_event_${i.event.name}`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(v({topic:e},i)),this.client.events.emit(\"session_event\",{id:s,topic:e,params:i}),oe.set(r,s)}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionAuthenticateResponse\",(e,t)=>{const{id:s}=t;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:e,payload:t}),j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionAuthenticateRequest\",async e=>{var t;const{topic:s,payload:i,attestation:r,encryptedId:o,transportType:a}=e;try{const{requester:l,authPayload:p,expiryTimestamp:h}=i.params,u=await this.getVerifyContext({attestationId:r,hash:W(JSON.stringify(i)),encryptedId:o,metadata:l.metadata,transportType:a}),d={requester:l,pairingTopic:s,id:i.id,authPayload:p,verifyContext:u,expiryTimestamp:h};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:a}),a===P.link_mode&&(t=l.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit(\"session_authenticate\",{topic:s,params:i.params,id:i.id,verifyContext:u})}catch(l){this.client.logger.error(l);const p=i.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),u=this.getAppLinkIfEnabled(i.params.requester.metadata,a),d={type:Ve,receiverPublicKey:p,senderPublicKey:h};await this.sendError({id:i.id,topic:s,error:l,encodeOpts:d,rpcOpts:N.wc_sessionAuthenticate.autoReject,appLink:u})}}),c(this,\"addSessionRequestToSessionRequestQueue\",e=>{this.sessionRequestQueue.queue.push(e)}),c(this,\"cleanupAfterResponse\",e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=$.idle,this.processSessionRequestQueue()},Oe(this.requestQueueDelay))}),c(this,\"cleanupPendingSentRequestsForTopic\",({topic:e,error:t})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=R(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(R(\"session_request\",i.request.id),{error:t})})}),c(this,\"processSessionRequestQueue\",()=>{if(this.sessionRequestQueue.state===$.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=$.active,this.emitSessionRequest(e)}catch(t){this.client.logger.error(t)}}),c(this,\"emitSessionRequest\",e=>{this.client.events.emit(\"session_request\",e)}),c(this,\"onPairingCreated\",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find(s=>s.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:ye(\"wc_sessionPropose\",b(v({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),c(this,\"isValidConnect\",async e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(l)}const{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:o,relays:a}=e;if(X(t)||await this.isValidPairingTopic(t),!Yt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==0){const l=\"requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces\";[\"fatal\",\"error\",\"silent\"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(s,\"requiredNamespaces\")}if(!X(i)&&ot(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const l=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(o).every(p=>l.includes(p)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),c(this,\"validateNamespaces\",(e,t)=>{const s=Xt(e,\"connect()\",t);if(s)throw new Error(s.message)}),c(this,\"isValidApprove\",async e=>{if(!M(e))throw new Error(y(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:o}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const a=this.client.proposal.get(t),l=Ce(s,\"approve()\");if(l)throw new Error(l.message);const p=at(a.requiredNamespaces,s,\"approve()\");if(p)throw new Error(p.message);if(!Y(i,!0)){const{message:h}=y(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(h)}if(X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const h=new Set(Object.keys(s));if(!Object.keys(o).every(u=>h.has(u)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(o)}, approved namespaces: ${Array.from(h).join(\", \")}`)}}),c(this,\"isValidReject\",async e=>{if(!M(e)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Jt(s)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}}),c(this,\"isValidSessionSettleRequest\",e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!Bt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Wt(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Ce(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(Z(r)){const{message:l}=y(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(l)}}),c(this,\"isValidUpdate\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),r=Ce(s,\"update()\");if(r)throw new Error(r.message);const o=at(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)}),c(this,\"isValidExtend\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(s)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),c(this,\"isValidRequest\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:o}=this.client.session.get(t);if(!ct(o,i)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!Zt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!es(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!ts(r,_e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${_e.min} and ${_e.max}`);throw new Error(a)}}),c(this,\"isValidRespond\",async e=>{var t;if(!M(e)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(r)}const{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(r){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),r}if(!ss(i)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}}),c(this,\"isValidPing\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidEmit\",async e=>{if(!M(e)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:r}=this.client.session.get(t);if(!ct(r,i)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!is(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!rs(r,i,s.name)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}}),c(this,\"isValidDisconnect\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidAuthenticate\",e=>{const{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||t.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!Y(s,!1))throw new Error(\"uri is required parameter\");if(!Y(i,!1))throw new Error(\"domain is required parameter\");if(!Y(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(t.map(a=>Ae(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=Ae(t[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")}),c(this,\"getVerifyContext\",async e=>{const{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:o}=e,a={verified:{verifyUrl:r.verifyUrl||Ot,validation:\"UNKNOWN\",origin:r.url||\"\"}};try{if(o===P.link_mode){const p=this.getAppLinkIfEnabled(r,o);return a.verified.validation=p&&new URL(p).origin===new URL(r.url).origin?\"VALID\":\"INVALID\",a}const l=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});l&&(a.verified.origin=l.origin,a.verified.isScam=l.isScam,a.verified.validation=l.origin===new URL(r.url).origin?\"VALID\":\"INVALID\")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),c(this,\"validateSessionProps\",(e,t)=>{Object.values(e).forEach((s,i)=>{if(s==null){const{message:r}=y(\"MISSING_OR_INVALID\",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw new Error(r)}})}),c(this,\"getPendingAuthRequest\",e=>{const t=this.client.auth.requests.get(e);return typeof t==\"object\"?t:void 0}),c(this,\"addToRecentlyDeleted\",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}}),c(this,\"checkRecentlyDeleted\",e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:s}=y(\"MISSING_OR_INVALID\",`Record was recently deleted - ${t}: ${e}`);throw new Error(s)}}),c(this,\"isLinkModeEnabled\",(e,t)=>{var s,i,r,o,a,l,p,h,u;return!e||t!==P.link_mode?!1:((i=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:i.linkMode)===!0&&((o=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:o.universal)!==void 0&&((l=(a=this.client.metadata)==null?void 0:a.redirect)==null?void 0:l.universal)!==\"\"&&((p=e?.redirect)==null?void 0:p.universal)!==void 0&&((h=e?.redirect)==null?void 0:h.universal)!==\"\"&&((u=e?.redirect)==null?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<\"u\"}),c(this,\"getAppLinkIfEnabled\",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?(s=e?.redirect)==null?void 0:s.universal:void 0}),c(this,\"handleLinkModeMessage\",({url:e})=>{if(!e||!e.includes(\"wc_ev\")||!e.includes(\"topic\"))return;const t=lt(e,\"topic\")||\"\",s=decodeURIComponent(lt(e,\"wc_ev\")||\"\"),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:P.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),c(this,\"registerLinkModeListeners\",async()=>{var e;if(ns()||os()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){const t=global==null?void 0:global.Linking;if(typeof t<\"u\"){t.addEventListener(\"url\",this.handleLinkModeMessage,this.client.name);const s=await t.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),c(this,\"shouldSetTVF\",(e,t)=>{if(!t||e!==\"wc_sessionRequest\")return!1;const{request:s}=t;return Object.keys(Ke).includes(s.method)}),c(this,\"getTVFParams\",(e,t,s)=>{var i,r;try{const o=t.request.method,a=this.extractTxHashesFromResult(o,s);return b(v({correlationId:e,rpcMethods:[o],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[(r=(i=t.request.params)==null?void 0:i[0])==null?void 0:r.to]}),{txHashes:a})}catch(o){this.client.logger.warn(\"Error getting TVF params\",o)}return{}}),c(this,\"isValidContractData\",e=>{var t;if(!e)return!1;try{const s=e?.data||((t=e?.[0])==null?void 0:t.data);if(!s.startsWith(\"0x\"))return!1;const i=s.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),c(this,\"extractTxHashesFromResult\",(e,t)=>{try{const s=Ke[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(as(i))return e===\"solana_signAllTransactions\"?i.map(r=>cs(r)):i;if(typeof i==\"string\")return[i]}catch(s){this.client.logger.warn(\"Error extracting tx hashes from result\",s)}return[]})}async processPendingMessageEvents(){try{const n=this.client.session.keys,e=this.client.core.relayer.messages.getWithoutAck(n);for(const[t,s]of Object.entries(e))for(const i of s)try{await this.onProviderMessageEvent({topic:t,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${t}, message: ${i}`)}}catch(n){this.client.logger.warn(\"processPendingMessageEvents failed\",n)}}isInitialized(){if(!this.initialized){const{message:n}=y(\"NOT_INITIALIZED\",this.name);throw new Error(n)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Xe.message,n=>{this.onProviderMessageEvent(n)})}async onRelayMessage(n){const{topic:e,message:t,attestation:s,transportType:i}=n,{publicKey:r}=this.client.auth.authKeys.keys.includes(ce)?this.client.auth.authKeys.get(ce):{responseTopic:void 0,publicKey:void 0};try{const o=await this.client.core.crypto.decode(e,t,{receiverPublicKey:r,encoding:i===P.link_mode?ne:de});ds(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):us(o)?(await this.client.core.history.resolve(o),await this.onRelayEventResponse({topic:e,payload:o,transportType:i}),this.client.core.history.delete(e,o.id)):await this.onRelayEventUnknownPayload({topic:e,payload:o,transportType:i}),await this.client.core.relayer.messages.ack(e,t)}catch(o){this.client.logger.error(o)}}registerExpirerEvents(){this.client.core.expirer.on(Tt.expired,async n=>{const{topic:e,id:t}=Mt(n.target);if(t&&this.client.pendingRequest.keys.includes(t))return await this.deletePendingSessionRequest(t,y(\"EXPIRED\"),!0);if(t&&this.client.auth.requests.keys.includes(t))return await this.deletePendingAuthRequest(t,y(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):t&&(await this.deleteProposal(t,!0),this.client.events.emit(\"proposal_expire\",{id:t}))})}registerPairingEvents(){this.client.core.pairing.events.on(Je.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Je.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.core.pairing.pairings.get(n).expiry)){const{message:e}=y(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(e)}}async isValidSessionTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(e)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:e}=y(\"EXPIRED\",`session topic: ${n}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(e)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(Y(n,!1)){const{message:e}=y(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(e)}else{const{message:e}=y(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(e)}}async isValidProposalId(n){if(!$t(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(e)}if(!this.client.proposal.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:e}=y(\"EXPIRED\",`proposal id: ${n}`);throw new Error(e)}}}class Os extends B{constructor(n,e){super(n,e,pt,we),this.core=n,this.logger=e}}class St extends B{constructor(n,e){super(n,e,ht,we),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class Cs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Vs=Object.defineProperty,Ds=(S,n,e)=>n in S?Vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Ds(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ls{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new As(this.core,this.logger),this.pairingTopics=new xs(this.core,this.logger),this.requests=new Cs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var ks=Object.defineProperty,Ms=(S,n,e)=>n in S?ks(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>Ms(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ee extends Lt{constructor(n){super(n),E(this,\"protocol\",De),E(this,\"version\",Le),E(this,\"name\",me.name),E(this,\"metadata\"),E(this,\"core\"),E(this,\"logger\"),E(this,\"events\",new hs),E(this,\"engine\"),E(this,\"session\"),E(this,\"proposal\"),E(this,\"pendingRequest\"),E(this,\"auth\"),E(this,\"signConfig\"),E(this,\"on\",(t,s)=>this.events.on(t,s)),E(this,\"once\",(t,s)=>this.events.once(t,s)),E(this,\"off\",(t,s)=>this.events.off(t,s)),E(this,\"removeListener\",(t,s)=>this.events.removeListener(t,s)),E(this,\"removeAllListeners\",t=>this.events.removeAllListeners(t)),E(this,\"connect\",async t=>{try{return await this.engine.connect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"pair\",async t=>{try{return await this.engine.pair(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approve\",async t=>{try{return await this.engine.approve(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"reject\",async t=>{try{return await this.engine.reject(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"update\",async t=>{try{return await this.engine.update(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"extend\",async t=>{try{return await this.engine.extend(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"request\",async t=>{try{return await this.engine.request(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"respond\",async t=>{try{return await this.engine.respond(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"ping\",async t=>{try{return await this.engine.ping(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"emit\",async t=>{try{return await this.engine.emit(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"disconnect\",async t=>{try{return await this.engine.disconnect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"find\",t=>{try{return this.engine.find(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"getPendingSessionRequests\",()=>{try{return this.engine.getPendingSessionRequests()}catch(t){throw this.logger.error(t.message),t}}),E(this,\"authenticate\",async(t,s)=>{try{return await this.engine.authenticate(t,s)}catch(i){throw this.logger.error(i.message),i}}),E(this,\"formatAuthMessage\",t=>{try{return this.engine.formatAuthMessage(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approveSessionAuthenticate\",async t=>{try{return await this.engine.approveSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"rejectSessionAuthenticate\",async t=>{try{return await this.engine.rejectSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),this.name=n?.name||me.name,this.metadata=ls(n?.metadata),this.signConfig=n?.signConfig;const e=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:At(xt({level:n?.logger||me.logger}));this.core=n?.core||new bt(n),this.logger=Ct(e,this.name),this.session=new St(this.core,this.logger),this.proposal=new Os(this.core,this.logger),this.pendingRequest=new bs(this.core,this.logger),this.engine=new Ns(this),this.auth=new Ls(this.core,this.logger)}static async init(n){const e=new Ee(n);return await e.initialize(),e}get context(){return Vt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(\"SignClient Initialization Success\"),setTimeout(()=>{this.engine.processRelayMessageCache()},Oe(Ze))}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const $s=St,Ks=Ee;export{wt as AUTH_CONTEXT,mt as AUTH_KEYS_CONTEXT,_t as AUTH_PAIRING_TOPIC_CONTEXT,yt as AUTH_PROTOCOL,ce as AUTH_PUBLIC_KEY_NAME,Et as AUTH_REQUEST_CONTEXT,ae as AUTH_STORAGE_PREFIX,Rs as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,Es as HISTORY_CONTEXT,_s as HISTORY_EVENTS,fs as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,Ss as PROPOSAL_EXPIRY,$e as PROPOSAL_EXPIRY_MESSAGE,ut as REQUEST_CONTEXT,ht as SESSION_CONTEXT,J as SESSION_EXPIRY,_e as SESSION_REQUEST_EXPIRY_BOUNDARIES,ke as SIGN_CLIENT_CONTEXT,me as SIGN_CLIENT_DEFAULT,ws as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ms as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,$s as SessionStore,Ks as SignClient,Ke as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","import $t from\"@walletconnect/sign-client\";import{isValidObject as G,isCaipNamespace as Z,parseNamespaceKey as _,mergeArrays as J,parseChainId as T,getSdkError as tt,isValidArray as z}from\"@walletconnect/utils\";import{pino as Ot,getDefaultLoggerOptions as At}from\"@walletconnect/logger\";import g,{HttpConnection as Ct}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as f}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Nt from\"events\";const et=\"error\",St=\"wss://relay.walletconnect.org\",Dt=\"wc\",qt=\"universal_provider\",U=`${Dt}@2:${qt}:`,st=\"https://rpc.walletconnect.org/v1/\",I=\"generic\",jt=`${st}bundler`,u={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function Rt(){}function k(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function W(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function _t(s){if(k(s))return s;if(Array.isArray(s)||W(s)||s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);const t=Object.getPrototypeOf(s),e=t.constructor;if(s instanceof Date||s instanceof Map||s instanceof Set)return new e(s);if(s instanceof RegExp){const i=new e(s);return i.lastIndex=s.lastIndex,i}if(s instanceof DataView)return new e(s.buffer.slice(0));if(s instanceof Error){const i=new e(s.message);return i.stack=s.stack,i.name=s.name,i.cause=s.cause,i}if(typeof File<\"u\"&&s instanceof File)return new e([s],s.name,{type:s.type,lastModified:s.lastModified});if(typeof s==\"object\"){const i=Object.create(t);return Object.assign(i,s)}return s}function it(s){return typeof s==\"object\"&&s!==null}function rt(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function nt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const Ut=\"[object RegExp]\",at=\"[object String]\",ct=\"[object Number]\",ot=\"[object Boolean]\",ht=\"[object Arguments]\",Ft=\"[object Symbol]\",Lt=\"[object Date]\",Mt=\"[object Map]\",xt=\"[object Set]\",Bt=\"[object Array]\",Gt=\"[object ArrayBuffer]\",Jt=\"[object Object]\",zt=\"[object DataView]\",kt=\"[object Uint8Array]\",Wt=\"[object Uint8ClampedArray]\",Kt=\"[object Uint16Array]\",Vt=\"[object Uint32Array]\",Xt=\"[object Int8Array]\",Yt=\"[object Int16Array]\",Qt=\"[object Int32Array]\",Zt=\"[object Float32Array]\",Tt=\"[object Float64Array]\";function te(s,t){return $(s,void 0,s,new Map,t)}function $(s,t,e,i=new Map,n=void 0){const a=n?.(s,t,e,i);if(a!=null)return a;if(k(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const r=new Array(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return Object.hasOwn(s,\"index\")&&(r.index=s.index),Object.hasOwn(s,\"input\")&&(r.input=s.input),r}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const r=new RegExp(s.source,s.flags);return r.lastIndex=s.lastIndex,r}if(s instanceof Map){const r=new Map;i.set(s,r);for(const[c,o]of s)r.set(c,$(o,c,e,i,n));return r}if(s instanceof Set){const r=new Set;i.set(s,r);for(const c of s)r.add($(c,void 0,e,i,n));return r}if(typeof Buffer<\"u\"&&Buffer.isBuffer(s))return s.subarray();if(W(s)){const r=new(Object.getPrototypeOf(s)).constructor(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return r}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const r=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return i.set(s,r),y(r,s,e,i,n),r}if(typeof File<\"u\"&&s instanceof File){const r=new File([s],s.name,{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Blob){const r=new Blob([s],{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Error){const r=new s.constructor;return i.set(s,r),r.message=s.message,r.name=s.name,r.stack=s.stack,r.cause=s.cause,y(r,s,e,i,n),r}if(typeof s==\"object\"&&ee(s)){const r=Object.create(Object.getPrototypeOf(s));return i.set(s,r),y(r,s,e,i,n),r}return s}function y(s,t,e=s,i,n){const a=[...Object.keys(t),...rt(t)];for(let r=0;r<a.length;r++){const c=a[r],o=Object.getOwnPropertyDescriptor(s,c);(o==null||o.writable)&&(s[c]=$(t[c],c,e,i,n))}}function ee(s){switch(nt(s)){case ht:case Bt:case Gt:case zt:case ot:case Lt:case Zt:case Tt:case Xt:case Yt:case Qt:case Mt:case ct:case Jt:case Ut:case xt:case at:case Ft:case kt:case Wt:case Kt:case Vt:return!0;default:return!1}}function se(s,t){return te(s,(e,i,n,a)=>{const r=t?.(e,i,n,a);if(r!=null)return r;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case ct:case at:case ot:{const c=new s.constructor(s?.valueOf());return y(c,s),c}case ht:{const c={};return y(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function pt(s){return se(s)}function dt(s){return s!==null&&typeof s==\"object\"&&nt(s)===\"[object Arguments]\"}function ie(s){return W(s)}function re(s){if(typeof s!=\"object\"||s==null)return!1;if(Object.getPrototypeOf(s)===null)return!0;if(Object.prototype.toString.call(s)!==\"[object Object]\"){const e=s[Symbol.toStringTag];return e==null||!Object.getOwnPropertyDescriptor(s,Symbol.toStringTag)?.writable?!1:s.toString()===`[object ${e}]`}let t=s;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(s)===t}function ne(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let n=s;for(let a=0;a<e.length;a++){const r=e[a];n=F(n,r,i,new Map)}return n}function F(s,t,e,i){if(k(s)&&(s=Object(s)),t==null||typeof t!=\"object\")return s;if(i.has(t))return _t(i.get(t));if(i.set(t,s),Array.isArray(t)){t=t.slice();for(let a=0;a<t.length;a++)t[a]=t[a]??void 0}const n=[...Object.keys(t),...rt(t)];for(let a=0;a<n.length;a++){const r=n[a];let c=t[r],o=s[r];if(dt(c)&&(c={...c}),dt(o)&&(o={...o}),typeof Buffer<\"u\"&&Buffer.isBuffer(c)&&(c=pt(c)),Array.isArray(c))if(typeof o==\"object\"&&o!=null){const w=[],v=Reflect.ownKeys(o);for(let P=0;P<v.length;P++){const p=v[P];w[p]=o[p]}o=w}else o=[];const m=e(o,c,r,s,t,i);m!=null?s[r]=m:Array.isArray(c)||it(o)&&it(c)?s[r]=F(o,c,e,i):o==null&&re(c)?s[r]=F({},c,e,i):o==null&&ie(c)?s[r]=pt(c):(o===void 0||c!==void 0)&&(s[r]=c)}return s}function ae(s,...t){return ne(s,...t,Rt)}var ce=Object.defineProperty,oe=Object.defineProperties,he=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,lt=(s,t,e)=>t in s?ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))pe.call(t,e)&<(s,e,t[e]);if(ut)for(var e of ut(t))de.call(t,e)&<(s,e,t[e]);return s},ue=(s,t)=>oe(s,he(t));function d(s,t,e){var i;const n=T(s);return((i=t.rpcMap)==null?void 0:i[n.reference])||`${st}?chainId=${n.namespace}:${n.reference}&projectId=${e}`}function b(s){return s.includes(\":\")?s.split(\":\")[1]:s}function ft(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function le(s,t){const e=Object.keys(t.namespaces).filter(n=>n.includes(s));if(!e.length)return[];const i=[];return e.forEach(n=>{const a=t.namespaces[n].accounts;i.push(...a)}),i}function M(s={},t={}){const e=mt(s),i=mt(t);return ae(e,i)}function mt(s){var t,e,i,n,a;const r={};if(!G(s))return r;for(const[c,o]of Object.entries(s)){const m=Z(c)?[c]:o.chains,w=o.methods||[],v=o.events||[],P=o.rpcMap||{},p=_(c);r[p]=ue(L(L({},r[p]),o),{chains:J(m,(t=r[p])==null?void 0:t.chains),methods:J(w,(e=r[p])==null?void 0:e.methods),events:J(v,(i=r[p])==null?void 0:i.events)}),(G(P)||G(((n=r[p])==null?void 0:n.rpcMap)||{}))&&(r[p].rpcMap=L(L({},P),(a=r[p])==null?void 0:a.rpcMap))}return r}function vt(s){return s.includes(\":\")?s.split(\":\")[2]:s}function gt(s){const t={};for(const[e,i]of Object.entries(s)){const n=i.methods||[],a=i.events||[],r=i.accounts||[],c=Z(e)?[e]:i.chains?i.chains:ft(i.accounts);t[e]={chains:c,methods:n,events:a,accounts:r}}return t}function K(s){return typeof s==\"number\"?s:s.includes(\"0x\")?parseInt(s,16):(s=s.includes(\":\")?s.split(\":\")[1]:s,isNaN(Number(s))?s:Number(s))}const Pt={},h=s=>Pt[s],V=(s,t)=>{Pt[s]=t};var fe=Object.defineProperty,me=(s,t,e)=>t in s?fe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){O(this,\"name\",\"polkadot\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,X=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,yt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&X(s,e,t[e]);if(wt)for(var e of wt(t))be.call(t,e)&&X(s,e,t[e]);return s},bt=(s,t)=>Pe(s,we(t)),A=(s,t,e)=>X(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){A(this,\"name\",\"eip155\"),A(this,\"client\"),A(this,\"chainId\"),A(this,\"namespace\"),A(this,\"httpProviders\"),A(this,\"events\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(t);case\"eth_chainId\":return parseInt(this.getDefaultChain());case\"wallet_getCapabilities\":return await this.getCapabilities(t);case\"wallet_getCallsStatus\":return await this.getCallStatus(t)}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(parseInt(t),e),this.chainId=parseInt(t),this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}createHttpProvider(t,e){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new Ct(i,h(\"disableProviderPing\")))}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=parseInt(b(e));t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}getHttpProvider(){const t=this.chainId,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}async handleSwitchChain(t){var e,i;let n=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";n=n.startsWith(\"0x\")?n:`0x${n}`;const a=parseInt(n,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:n}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}async getCapabilities(t){var e,i,n,a,r;const c=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0],o=((a=(n=t.request)==null?void 0:n.params)==null?void 0:a[1])||[],m=`${c}${o.join(\",\")}`;if(!c)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const w=this.client.session.get(t.topic),v=((r=w?.sessionProperties)==null?void 0:r.capabilities)||{};if(v!=null&&v[m])return v?.[m];const P=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:bt(yt({},w.sessionProperties||{}),{capabilities:bt(yt({},v||{}),{[m]:P})})})}catch(p){console.warn(\"Failed to update session with capabilities\",p)}return P}async getCallStatus(t){var e,i;const n=this.client.session.get(t.topic),a=(e=n.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(o){console.warn(\"Failed to fetch call status from bundler\",o,c)}}const r=(i=n.sessionProperties)==null?void 0:i.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,r)}if(this.namespace.methods.includes(t.request.method))return await this.client.request(t);throw new Error(\"Fetching call status not approved by the wallet.\")}async getUserOperationReceipt(t,e){var i;const n=new URL(t),a=await fetch(n,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(Ht(\"eth_getUserOperationReceipt\",[(i=e.request.params)==null?void 0:i[0]]))});if(!a.ok)throw new Error(`Failed to fetch user operation receipt - ${a.status}`);return await a.json()}getBundlerUrl(t,e){return`${jt}?projectId=${this.client.core.projectId}&chainId=${t}&bundler=${e}`}}var $e=Object.defineProperty,Oe=(s,t,e)=>t in s?$e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){C(this,\"name\",\"solana\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ce=Object.defineProperty,He=(s,t,e)=>t in s?Ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,H=(s,t,e)=>He(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ee{constructor(t){H(this,\"name\",\"cosmos\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ne=Object.defineProperty,Se=(s,t,e)=>t in s?Ne(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,E=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){E(this,\"name\",\"algorand\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var qe=Object.defineProperty,je=(s,t,e)=>t in s?qe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){N(this,\"name\",\"cip34\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{const i=this.getCardanoRPCUrl(e),n=b(e);t[n]=this.createHttpProvider(n,i)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}getCardanoRPCUrl(t){const e=this.namespace.rpcMap;if(e)return e[t]}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||this.getCardanoRPCUrl(t);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var _e=Object.defineProperty,Ue=(s,t,e)=>t in s?_e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,S=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){S(this,\"name\",\"elrond\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Le=Object.defineProperty,Me=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,D=(s,t,e)=>Me(s,typeof t!=\"symbol\"?t+\"\":t,e);class xe{constructor(t){D(this,\"name\",\"multiversx\"),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Be=Object.defineProperty,Ge=(s,t,e)=>t in s?Be(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,q=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){q(this,\"name\",\"near\"),q(this,\"client\"),q(this,\"httpProviders\"),q(this,\"events\"),q(this,\"namespace\"),q(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var ze=Object.defineProperty,ke=(s,t,e)=>t in s?ze(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,j=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){j(this,\"name\",\"tezos\"),j(this,\"client\"),j(this,\"httpProviders\"),j(this,\"events\"),j(this,\"namespace\"),j(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{t[e]=this.createHttpProvider(e)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i))}}var Ke=Object.defineProperty,Ve=(s,t,e)=>t in s?Ke(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,R=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){R(this,\"name\",I),R(this,\"client\"),R(this,\"httpProviders\"),R(this,\"events\"),R(this,\"namespace\"),R(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(t.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(t.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(t.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(t.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider(t.chainId).request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){var t,e;const i={};return(e=(t=this.namespace)==null?void 0:t.accounts)==null||e.forEach(n=>{const a=T(n);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(n)}),i}getHttpProvider(t){const e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,Y=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,x=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&Y(s,e,t[e]);if(It)for(var e of It(t))ts.call(t,e)&&Y(s,e,t[e]);return s},Q=(s,t)=>Qe(s,Ze(t)),l=(s,t,e)=>Y(s,typeof t!=\"symbol\"?t+\"\":t,e);class B{constructor(t){l(this,\"client\"),l(this,\"namespaces\"),l(this,\"optionalNamespaces\"),l(this,\"sessionProperties\"),l(this,\"scopedProperties\"),l(this,\"events\",new Nt),l(this,\"rpcProviders\",{}),l(this,\"session\"),l(this,\"providerOpts\"),l(this,\"logger\"),l(this,\"uri\"),l(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:Ot(At({level:t?.logger||et})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new B(t);return await e.initialize(),e}async request(t,e,i){const[n,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(n).request({request:x({},t),chainId:`${n}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,n){const a=new Date().getTime();this.request(t,i,n).then(r=>e(null,Et(a,r))).catch(r=>e(r,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:tt(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}async authenticate(t,e){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(t),await this.cleanupPendingPairings();const{uri:i,response:n}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await n();if(this.session=a.session,this.session){const r=gt(this.session.namespaces);this.namespaces=M(this.namespaces,r),await this.persist(\"namespaces\",this.namespaces),this.onConnect()}return a}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}removeListener(t,e){this.events.removeListener(t,e)}off(t,e){this.events.off(t,e)}get isWalletConnect(){return!0}async pair(t){const{uri:e,approval:i}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});e&&(this.uri=e,this.events.emit(\"display_uri\",e));const n=await i();this.session=n;const a=gt(n.namespaces);return this.namespaces=M(this.namespaces,a),await this.persist(\"namespaces\",this.namespaces),await this.persist(\"optionalNamespaces\",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(t,e){try{if(!this.session)return;const[i,n]=this.validateChain(t),a=this.getProvider(i);a.name===I?a.setDefaultChain(`${i}:${n}`,e):a.setDefaultChain(n,e)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(t={}){this.logger.info(\"Cleaning up inactive pairings...\");const e=this.client.pairing.getAll();if(z(e)){for(const i of e)t.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${e.length}`)}}abortPairingAttempt(){this.logger.warn(\"abortPairingAttempt is deprecated. This is now a no-op.\")}async checkStorage(){this.namespaces=await this.getFromStore(\"namespaces\")||{},this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var t,e;if(this.client=this.providerOpts.client||await $t.init({core:this.providerOpts.core,logger:this.providerOpts.logger||et,relayUrl:this.providerOpts.relayUrl||St,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(i){throw this.logger.error(\"Failed to get session\",i),new Error(`The provided session: ${(e=(t=this.providerOpts)==null?void 0:t.session)==null?void 0:e.topic} doesn't exist in the Sign client`)}else{const i=this.client.session.getAll();this.session=i[0]}this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const t=[...new Set(Object.keys(this.session.namespaces).map(e=>_(e)))];V(\"client\",this.client),V(\"events\",this.events),V(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=le(e,this.session),n=ft(i),a=M(this.namespaces,this.optionalNamespaces),r=Q(x({},a[e]),{accounts:i,chains:n});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:r});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:r});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:r});break;case\"cosmos\":this.rpcProviders[e]=new Ee({namespace:r});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:r});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:r});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:r});break;case\"multiversx\":this.rpcProviders[e]=new xe({namespace:r});break;case\"near\":this.rpcProviders[e]=new Je({namespace:r});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:r});break;default:this.rpcProviders[I]?this.rpcProviders[I].updateNamespace(r):this.rpcProviders[I]=new Xe({namespace:r})}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",t=>{var e;const{topic:i}=t;i===((e=this.session)==null?void 0:e.topic)&&this.events.emit(\"session_ping\",t)}),this.client.on(\"session_event\",t=>{var e;const{params:i,topic:n}=t;if(n!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const r=a.data;r&&z(r)&&this.events.emit(\"accountsChanged\",r.map(vt))}else if(a.name===\"chainChanged\"){const r=i.chainId,c=i.event.data,o=_(r),m=K(r)!==K(c)?`${o}:${K(c)}`:r;this.onChainChanged(m)}else this.events.emit(a.name,a.data);this.events.emit(\"session_event\",t)}),this.client.on(\"session_update\",({topic:t,params:e})=>{var i,n;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,r=(n=this.client)==null?void 0:n.session.get(t);this.session=Q(x({},r),{namespaces:a}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:t,params:e})}),this.client.on(\"session_delete\",async t=>{var e;t.topic===((e=this.session)==null?void 0:e.topic)&&(await this.cleanup(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",Q(x({},tt(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(u.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[I]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var e;this.getProvider(t).updateNamespace((e=this.session)==null?void 0:e.namespaces[t])})}setNamespaces(t){const{namespaces:e={},optionalNamespaces:i={},sessionProperties:n,scopedProperties:a}=t;this.optionalNamespaces=M(e,i),this.sessionProperties=n,this.scopedProperties=a}validateChain(t){const[e,i]=t?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[e,i];if(e&&!Object.keys(this.namespaces||{}).map(r=>_(r)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const n=_(Object.keys(this.namespaces)[0]),a=this.rpcProviders[n].getDefaultChain();return[n,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,n]=this.validateChain(t);if(!n)return;this.updateNamespaceChain(i,n),this.events.emit(\"chainChanged\",n);const a=this.getProvider(i).getDefaultChain();e||this.getProvider(i).setDefaultChain(n),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:a,newChainId:t}),await this.persist(\"namespaces\",this.namespaces)}emitAccountsChangedOnChainChange({namespace:t,previousChainId:e,newChainId:i}){var n,a;try{if(e===i)return;const r=(a=(n=this.session)==null?void 0:n.namespaces[t])==null?void 0:a.accounts;if(!r)return;const c=r.filter(o=>o.includes(`${i}:`)).map(vt);if(!z(c))return;this.events.emit(\"accountsChanged\",c)}catch(r){this.logger.warn(\"Failed to emit accountsChanged on chain change\",r)}}updateNamespaceChain(t,e){if(!this.namespaces)return;const i=this.namespaces[t]?t:`${t}:${e}`,n={chains:[],methods:[],events:[],defaultChain:e};this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=e):this.namespaces[i]=n}onConnect(){this.createProviders(),this.events.emit(\"connect\",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(\"namespaces\"),await this.deleteFromStore(\"optionalNamespaces\"),await this.deleteFromStore(\"sessionProperties\"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(t,e){var i;const n=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${U}/${t}${n}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${U}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${U}/${t}${i}`)}async cleanupStorage(){var t;try{if(((t=this.client)==null?void 0:t.session.length)>0)return;const e=await this.client.core.storage.getKeys();for(const i of e)i.startsWith(U)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=B;export{es as UniversalProvider,B as default};\n//# sourceMappingURL=index.es.js.map\n","import { ConnectorController } from '../controllers/ConnectorController.js';\n/**\n * Checks if the given namespace is associated with the specified connector id.\n * @param namespace - The namespace to check.\n * @param connectorId - The connector id to compare against.\n * @returns True if the namespace is associated with the connector id, false otherwise.\n */\nexport function checkNamespaceConnectorId(namespace, connectorId) {\n return ConnectorController.getConnectorId(namespace) === connectorId;\n}\n//# sourceMappingURL=ConnectorControllerUtil.js.map","import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { checkNamespaceConnectorId } from './ConnectorControllerUtil.js';\n/**\n * Returns the array of chains to disconnect from the connector with the given namespace.\n * If no namespace is provided, it returns all chains.\n * @param namespace - The namespace of the connector to disconnect from.\n * @returns An array of chains to disconnect.\n */\nexport function getChainsToDisconnect(namespace) {\n const namespaces = Array.from(ChainController.state.chains.keys());\n let chains = [];\n if (namespace) {\n chains.push([namespace, ChainController.state.chains.get(namespace)]);\n if (checkNamespaceConnectorId(namespace, CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT)) {\n namespaces.forEach(ns => {\n if (ns !== namespace &&\n checkNamespaceConnectorId(ns, CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT)) {\n chains.push([ns, ChainController.state.chains.get(ns)]);\n }\n });\n }\n else if (checkNamespaceConnectorId(namespace, CommonConstantsUtil.CONNECTOR_ID.AUTH)) {\n namespaces.forEach(ns => {\n if (ns !== namespace &&\n checkNamespaceConnectorId(ns, CommonConstantsUtil.CONNECTOR_ID.AUTH)) {\n chains.push([ns, ChainController.state.chains.get(ns)]);\n }\n });\n }\n }\n else {\n chains = Array.from(ChainController.state.chains.entries());\n }\n return chains;\n}\n//# sourceMappingURL=ChainControllerUtil.js.map","export const ConstantsUtil = {\n METMASK_CONNECTOR_NAME: 'MetaMask',\n TRUST_CONNECTOR_NAME: 'Trust Wallet',\n SOLFLARE_CONNECTOR_NAME: 'Solflare',\n PHANTOM_CONNECTOR_NAME: 'Phantom',\n COIN98_CONNECTOR_NAME: 'Coin98',\n MAGIC_EDEN_CONNECTOR_NAME: 'Magic Eden',\n BACKPACK_CONNECTOR_NAME: 'Backpack',\n BITGET_CONNECTOR_NAME: 'Bitget Wallet',\n FRONTIER_CONNECTOR_NAME: 'Frontier',\n XVERSE_CONNECTOR_NAME: 'Xverse Wallet',\n LEATHER_CONNECTOR_NAME: 'Leather',\n EIP155: 'eip155',\n ADD_CHAIN_METHOD: 'wallet_addEthereumChain',\n EIP6963_ANNOUNCE_EVENT: 'eip6963:announceProvider',\n EIP6963_REQUEST_EVENT: 'eip6963:requestProvider',\n CONNECTOR_RDNS_MAP: {\n coinbaseWallet: 'com.coinbase.wallet',\n coinbaseWalletSDK: 'com.coinbase.wallet'\n },\n CONNECTOR_TYPE_EXTERNAL: 'EXTERNAL',\n CONNECTOR_TYPE_WALLET_CONNECT: 'WALLET_CONNECT',\n CONNECTOR_TYPE_INJECTED: 'INJECTED',\n CONNECTOR_TYPE_ANNOUNCED: 'ANNOUNCED',\n CONNECTOR_TYPE_AUTH: 'AUTH',\n CONNECTOR_TYPE_MULTI_CHAIN: 'MULTI_CHAIN',\n CONNECTOR_TYPE_W3M_AUTH: 'ID_AUTH'\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nexport const PresetsUtil = {\n ConnectorExplorerIds: {\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n [CommonConstantsUtil.CONNECTOR_ID.SAFE]: '225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f',\n [CommonConstantsUtil.CONNECTOR_ID.LEDGER]: '19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927',\n [CommonConstantsUtil.CONNECTOR_ID.OKX]: '971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709',\n [ConstantsUtil.METMASK_CONNECTOR_NAME]: 'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96',\n [ConstantsUtil.TRUST_CONNECTOR_NAME]: '4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0',\n [ConstantsUtil.SOLFLARE_CONNECTOR_NAME]: '1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79',\n [ConstantsUtil.PHANTOM_CONNECTOR_NAME]: 'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393',\n [ConstantsUtil.COIN98_CONNECTOR_NAME]: '2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01',\n [ConstantsUtil.MAGIC_EDEN_CONNECTOR_NAME]: '8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6',\n [ConstantsUtil.BACKPACK_CONNECTOR_NAME]: '2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0',\n [ConstantsUtil.BITGET_CONNECTOR_NAME]: '38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662',\n [ConstantsUtil.FRONTIER_CONNECTOR_NAME]: '85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041',\n [ConstantsUtil.XVERSE_CONNECTOR_NAME]: '2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b',\n [ConstantsUtil.LEATHER_CONNECTOR_NAME]: '483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13'\n },\n NetworkImageIds: {\n 1: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',\n 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',\n 43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',\n 56: '93564157-2e8e-4ce7-81df-b264dbee9b00',\n 250: '06b26297-fe0c-4733-5d6b-ffa5498aac00',\n 10: 'ab9c186a-c52f-464b-2906-ca59d760a400',\n 137: '41d04d42-da3b-4453-8506-668cc0727900',\n 5000: 'e86fae9b-b770-4eea-e520-150e12c81100',\n 295: '6a97d510-cac8-4e58-c7ce-e8681b044c00',\n 11_155_111: 'e909ea0a-f92a-4512-c8fc-748044ea6800',\n 84532: 'a18a7ecd-e307-4360-4746-283182228e00',\n 1301: '4eeea7ef-0014-4649-5d1d-07271a80f600',\n 130: '2257980a-3463-48c6-cbac-a42d2a956e00',\n 10_143: '0a728e83-bacb-46db-7844-948f05434900',\n 100: '02b53f6a-e3d4-479e-1cb4-21178987d100',\n 9001: 'f926ff41-260d-4028-635e-91913fc28e00',\n 324: 'b310f07f-4ef7-49f3-7073-2a0a39685800',\n 314: '5a73b3dd-af74-424e-cae0-0de859ee9400',\n 4689: '34e68754-e536-40da-c153-6ef2e7188a00',\n 1088: '3897a66d-40b9-4833-162f-a2c90531c900',\n 1284: '161038da-44ae-4ec7-1208-0ea569454b00',\n 1285: 'f1d73bb6-5450-4e18-38f7-fb6484264a00',\n 7777777: '845c60df-d429-4991-e687-91ae45791600',\n 42220: 'ab781bbc-ccc6-418d-d32d-789b15da1f00',\n 8453: '7289c336-3981-4081-c5f4-efc26ac64a00',\n 1313161554: '3ff73439-a619-4894-9262-4470c773a100',\n 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n 80094: 'e329c2c9-59b0-4a02-83e4-212ff3779900',\n 2741: 'fc2427d1-5af9-4a9c-8da5-6f94627cd900',\n '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n EtWTRABZaYq6iMfeYKouRu166VU2xqa1: 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n '000000000019d6689c085ae165831e93': '0b4838db-0161-4ffe-022d-532bf03dba00',\n '000000000933ea01ad0ee984209779ba': '39354064-d79b-420b-065d-f980c4b78200'\n },\n ConnectorImageIds: {\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [CommonConstantsUtil.CONNECTOR_ID.SAFE]: '461db637-8616-43ce-035a-d89b8a1d5800',\n [CommonConstantsUtil.CONNECTOR_ID.LEDGER]: '54a1aa77-d202-4f8d-0fb2-5d2bb6db0300',\n [CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400',\n [CommonConstantsUtil.CONNECTOR_ID.INJECTED]: '07ba87ed-43aa-4adf-4540-9e6a2b9cae00'\n },\n ConnectorNamesMap: {\n [CommonConstantsUtil.CONNECTOR_ID.INJECTED]: 'Browser Wallet',\n [CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT]: 'WalletConnect',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE]: 'Coinbase',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK]: 'Coinbase',\n [CommonConstantsUtil.CONNECTOR_ID.LEDGER]: 'Ledger',\n [CommonConstantsUtil.CONNECTOR_ID.SAFE]: 'Safe'\n },\n ConnectorTypesMap: {\n [CommonConstantsUtil.CONNECTOR_ID.INJECTED]: 'INJECTED',\n [CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT]: 'WALLET_CONNECT',\n [CommonConstantsUtil.CONNECTOR_ID.EIP6963]: 'ANNOUNCED',\n [CommonConstantsUtil.CONNECTOR_ID.AUTH]: 'AUTH'\n },\n WalletConnectRpcChainIds: [\n 1,\n 5,\n 11155111,\n 10,\n 420,\n 42161,\n 421613,\n 137,\n 80001,\n 42220,\n 1313161554,\n 1313161555,\n 56,\n 97,\n 43114,\n 43113,\n 100,\n 8453,\n 84531,\n 7777777,\n 999,\n 324,\n 280\n ]\n};\n//# sourceMappingURL=PresetsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const HelpersUtil = {\n getCaipTokens(tokens) {\n if (!tokens) {\n return undefined;\n }\n const caipTokens = {};\n Object.entries(tokens).forEach(([id, token]) => {\n caipTokens[`${ConstantsUtil.EIP155}:${id}`] = token;\n });\n return caipTokens;\n },\n isLowerCaseMatch(str1, str2) {\n return str1?.toLowerCase() === str2?.toLowerCase();\n }\n};\n//# sourceMappingURL=HelpersUtil.js.map","const abortController = new AbortController();\nexport const ErrorUtil = {\n EmbeddedWalletAbortController: abortController,\n UniversalProviderErrors: {\n UNAUTHORIZED_DOMAIN_NOT_ALLOWED: {\n message: 'Unauthorized: origin not allowed',\n alertErrorKey: 'INVALID_APP_CONFIGURATION'\n },\n JWT_VALIDATION_ERROR: {\n message: 'JWT validation error: JWT Token is not yet valid',\n alertErrorKey: 'JWT_TOKEN_NOT_VALID'\n },\n INVALID_KEY: {\n message: 'Unauthorized: invalid key',\n alertErrorKey: 'INVALID_PROJECT_ID'\n }\n },\n ALERT_ERRORS: {\n SWITCH_NETWORK_NOT_FOUND: {\n shortMessage: 'Network Not Found',\n longMessage: \"Network not found - please make sure it is included in 'networks' array in createAppKit function\"\n },\n INVALID_APP_CONFIGURATION: {\n shortMessage: 'Invalid App Configuration',\n longMessage: () => `Origin ${isSafe() ? window.origin : 'unknown'} not found on Allowlist - update configuration on cloud.reown.com`\n },\n IFRAME_LOAD_FAILED: {\n shortMessage: 'Network Error - Could not load embedded wallet',\n longMessage: () => 'There was an issue loading the embedded wallet. Please try again later.'\n },\n IFRAME_REQUEST_TIMEOUT: {\n shortMessage: 'Embedded Wallet Request Timed Out',\n longMessage: () => 'There was an issue doing the request to the embedded wallet. Please try again later.'\n },\n UNVERIFIED_DOMAIN: {\n shortMessage: 'Invalid App Configuration',\n longMessage: () => 'There was an issue loading the embedded wallet. Please verify that your domain is allowed at cloud.reown.com'\n },\n JWT_TOKEN_NOT_VALID: {\n shortMessage: 'Session Expired',\n longMessage: 'Invalid session found on UniversalProvider - please check your time settings and connect again'\n },\n INVALID_PROJECT_ID: {\n shortMessage: 'Invalid App Configuration',\n longMessage: 'Invalid Project ID - update configuration'\n },\n PROJECT_ID_NOT_CONFIGURED: {\n shortMessage: 'Project ID Not Configured',\n longMessage: 'Project ID Not Configured - update configuration on cloud.reown.com'\n }\n }\n};\nfunction isSafe() {\n return typeof window !== 'undefined';\n}\n//# sourceMappingURL=ErrorUtil.js.map","import { generatePlatformLogger, getDefaultLoggerOptions } from '@walletconnect/logger';\nexport const LoggerUtil = {\n createLogger(onError, level = 'error') {\n const loggerOptions = getDefaultLoggerOptions({\n level\n });\n const { logger } = generatePlatformLogger({\n opts: loggerOptions\n });\n logger.error = (...args) => {\n for (const arg of args) {\n if (arg instanceof Error) {\n onError(arg, ...args);\n return;\n }\n }\n onError(undefined, ...args);\n };\n return logger;\n }\n};\n//# sourceMappingURL=LoggerUtil.js.map","import { fallback, http } from 'viem';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { ChainController, StorageUtil } from '@reown/appkit-controllers';\nimport { PresetsUtil } from './PresetsUtil.js';\nconst RPC_URL_HOST = 'rpc.walletconnect.org';\nexport function getBlockchainApiRpcUrl(caipNetworkId, projectId) {\n const url = new URL('https://rpc.walletconnect.org/v1/');\n url.searchParams.set('chainId', caipNetworkId);\n url.searchParams.set('projectId', projectId);\n return url.toString();\n}\nconst WC_HTTP_RPC_SUPPORTED_CHAINS = [\n 'near:mainnet',\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n 'eip155:1101',\n 'eip155:56',\n 'eip155:42161',\n 'eip155:7777777',\n 'eip155:59144',\n 'eip155:324',\n 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n 'eip155:5000',\n 'solana:4sgjmw1sunhzsxgspuhpqldx6wiyjntz',\n 'eip155:80084',\n 'eip155:5003',\n 'eip155:100',\n 'eip155:8453',\n 'eip155:42220',\n 'eip155:1313161555',\n 'eip155:17000',\n 'eip155:1',\n 'eip155:300',\n 'eip155:1313161554',\n 'eip155:1329',\n 'eip155:84532',\n 'eip155:421614',\n 'eip155:11155111',\n 'eip155:8217',\n 'eip155:43114',\n 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n 'eip155:999999999',\n 'eip155:11155420',\n 'eip155:80002',\n 'eip155:97',\n 'eip155:43113',\n 'eip155:137',\n 'eip155:10',\n 'eip155:1301',\n 'bip122:000000000019d6689c085ae165831e93',\n 'bip122:000000000933ea01ad0ee984209779ba'\n];\nexport const CaipNetworksUtil = {\n extendRpcUrlWithProjectId(rpcUrl, projectId) {\n let isReownUrl = false;\n try {\n const url = new URL(rpcUrl);\n isReownUrl = url.host === RPC_URL_HOST;\n }\n catch (e) {\n isReownUrl = false;\n }\n if (isReownUrl) {\n const url = new URL(rpcUrl);\n if (!url.searchParams.has('projectId')) {\n url.searchParams.set('projectId', projectId);\n }\n return url.toString();\n }\n return rpcUrl;\n },\n isCaipNetwork(network) {\n return 'chainNamespace' in network && 'caipNetworkId' in network;\n },\n getChainNamespace(network) {\n if (this.isCaipNetwork(network)) {\n return network.chainNamespace;\n }\n return ConstantsUtil.CHAIN.EVM;\n },\n getCaipNetworkId(network) {\n if (this.isCaipNetwork(network)) {\n return network.caipNetworkId;\n }\n return `${ConstantsUtil.CHAIN.EVM}:${network.id}`;\n },\n getDefaultRpcUrl(caipNetwork, caipNetworkId, projectId) {\n const defaultRpcUrl = caipNetwork.rpcUrls?.default?.http?.[0];\n if (WC_HTTP_RPC_SUPPORTED_CHAINS.includes(caipNetworkId)) {\n return getBlockchainApiRpcUrl(caipNetworkId, projectId);\n }\n return defaultRpcUrl || '';\n },\n extendCaipNetwork(caipNetwork, { customNetworkImageUrls, projectId, customRpcUrls }) {\n const chainNamespace = this.getChainNamespace(caipNetwork);\n const caipNetworkId = this.getCaipNetworkId(caipNetwork);\n const networkDefaultRpcUrl = caipNetwork.rpcUrls.default.http?.[0];\n const reownRpcUrl = this.getDefaultRpcUrl(caipNetwork, caipNetworkId, projectId);\n const chainDefaultRpcUrl = caipNetwork?.rpcUrls?.['chainDefault']?.http?.[0] || networkDefaultRpcUrl;\n const customRpcUrlsOfNetwork = customRpcUrls?.[caipNetworkId]?.map(i => i.url) || [];\n const rpcUrls = [...customRpcUrlsOfNetwork, reownRpcUrl];\n const rpcUrlsWithoutReown = [...customRpcUrlsOfNetwork];\n if (chainDefaultRpcUrl && !rpcUrlsWithoutReown.includes(chainDefaultRpcUrl)) {\n rpcUrlsWithoutReown.push(chainDefaultRpcUrl);\n }\n return {\n ...caipNetwork,\n chainNamespace,\n caipNetworkId,\n assets: {\n imageId: PresetsUtil.NetworkImageIds[caipNetwork.id],\n imageUrl: customNetworkImageUrls?.[caipNetwork.id]\n },\n rpcUrls: {\n ...caipNetwork.rpcUrls,\n default: {\n http: rpcUrls\n },\n chainDefault: {\n http: rpcUrlsWithoutReown\n }\n }\n };\n },\n extendCaipNetworks(caipNetworks, { customNetworkImageUrls, projectId, customRpcUrls }) {\n return caipNetworks.map(caipNetwork => CaipNetworksUtil.extendCaipNetwork(caipNetwork, {\n customNetworkImageUrls,\n customRpcUrls,\n projectId\n }));\n },\n getViemTransport(caipNetwork, projectId, customRpcUrls) {\n const transports = [];\n customRpcUrls?.forEach(rpcUrl => {\n transports.push(http(rpcUrl.url, rpcUrl.config));\n });\n if (WC_HTTP_RPC_SUPPORTED_CHAINS.includes(caipNetwork.caipNetworkId)) {\n transports.push(http(getBlockchainApiRpcUrl(caipNetwork.caipNetworkId, projectId), {\n fetchOptions: {\n headers: {\n 'Content-Type': 'text/plain'\n }\n }\n }));\n }\n caipNetwork?.rpcUrls?.default?.http?.forEach(rpcUrl => {\n transports.push(http(rpcUrl));\n });\n return fallback(transports);\n },\n extendWagmiTransports(caipNetwork, projectId, transport) {\n if (WC_HTTP_RPC_SUPPORTED_CHAINS.includes(caipNetwork.caipNetworkId)) {\n const reownRpcUrl = this.getDefaultRpcUrl(caipNetwork, caipNetwork.caipNetworkId, projectId);\n return fallback([transport, http(reownRpcUrl)]);\n }\n return transport;\n },\n getUnsupportedNetwork(caipNetworkId) {\n return {\n id: caipNetworkId.split(':')[1],\n caipNetworkId,\n name: ConstantsUtil.UNSUPPORTED_NETWORK_NAME,\n chainNamespace: caipNetworkId.split(':')[0],\n nativeCurrency: {\n name: '',\n decimals: 0,\n symbol: ''\n },\n rpcUrls: {\n default: {\n http: []\n }\n }\n };\n },\n getCaipNetworkFromStorage(defaultCaipNetwork) {\n const caipNetworkIdFromStorage = StorageUtil.getActiveCaipNetworkId();\n const caipNetworks = ChainController.getAllRequestedCaipNetworks();\n const availableNamespaces = Array.from(ChainController.state.chains?.keys() || []);\n const namespace = caipNetworkIdFromStorage?.split(':')[0];\n const isNamespaceAvailable = namespace ? availableNamespaces.includes(namespace) : false;\n const caipNetwork = caipNetworks?.find(cn => cn.caipNetworkId === caipNetworkIdFromStorage);\n const isUnsupportedNetwork = isNamespaceAvailable && !caipNetwork && caipNetworkIdFromStorage;\n if (isUnsupportedNetwork) {\n return this.getUnsupportedNetwork(caipNetworkIdFromStorage);\n }\n if (caipNetwork) {\n return caipNetwork;\n }\n if (defaultCaipNetwork) {\n return defaultCaipNetwork;\n }\n return caipNetworks?.[0];\n }\n};\n//# sourceMappingURL=CaipNetworkUtil.js.map","import { proxy, ref, subscribe } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nconst CLEAN_PROVIDERS_STATE = {\n eip155: undefined,\n solana: undefined,\n polkadot: undefined,\n bip122: undefined,\n cosmos: undefined\n};\nconst state = proxy({\n providers: { ...CLEAN_PROVIDERS_STATE },\n providerIds: { ...CLEAN_PROVIDERS_STATE }\n});\nexport const ProviderUtil = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return subscribe(state, () => {\n callback(state);\n });\n },\n subscribeProviders(callback) {\n return subscribe(state.providers, () => callback(state.providers));\n },\n setProvider(chainNamespace, provider) {\n if (provider) {\n state.providers[chainNamespace] = ref(provider);\n }\n },\n getProvider(chainNamespace) {\n return state.providers[chainNamespace];\n },\n setProviderId(chainNamespace, providerId) {\n if (providerId) {\n state.providerIds[chainNamespace] = providerId;\n }\n },\n getProviderId(chainNamespace) {\n if (!chainNamespace) {\n return undefined;\n }\n return state.providerIds[chainNamespace];\n },\n reset() {\n state.providers = { ...CLEAN_PROVIDERS_STATE };\n state.providerIds = { ...CLEAN_PROVIDERS_STATE };\n },\n resetChain(chainNamespace) {\n state.providers[chainNamespace] = undefined;\n state.providerIds[chainNamespace] = undefined;\n }\n};\n//# sourceMappingURL=ProviderUtil.js.map","export const ConstantsUtil = {\n ACCOUNT_TABS: [{ label: 'Tokens' }, { label: 'NFTs' }, { label: 'Activity' }],\n SECURE_SITE_ORIGIN: (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']\n : undefined) || 'https://secure.walletconnect.org',\n VIEW_DIRECTION: {\n Next: 'next',\n Prev: 'prev'\n },\n DEFAULT_CONNECT_METHOD_ORDER: ['email', 'social', 'wallet'],\n ANIMATION_DURATIONS: {\n HeaderText: 120,\n ModalHeight: 150,\n ViewTransition: 150\n }\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ApiController, ConnectorController, CoreHelperUtil, OptionsController, StorageUtil } from '@reown/appkit-controllers';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { ConnectorUtil } from './ConnectorUtil.js';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nexport const WalletUtil = {\n filterOutDuplicatesByRDNS(wallets) {\n const connectors = OptionsController.state.enableEIP6963\n ? ConnectorController.state.connectors\n : [];\n const recent = StorageUtil.getRecentWallets();\n const connectorRDNSs = connectors\n .map(connector => connector.info?.rdns)\n .filter(Boolean);\n const recentRDNSs = recent.map(wallet => wallet.rdns).filter(Boolean);\n const allRDNSs = connectorRDNSs.concat(recentRDNSs);\n if (allRDNSs.includes('io.metamask.mobile') && CoreHelperUtil.isMobile()) {\n const index = allRDNSs.indexOf('io.metamask.mobile');\n allRDNSs[index] = 'io.metamask';\n }\n const filtered = wallets.filter(wallet => !allRDNSs.includes(String(wallet?.rdns)));\n return filtered;\n },\n filterOutDuplicatesByIds(wallets) {\n const connectors = ConnectorController.state.connectors.filter(connector => connector.type === 'ANNOUNCED' || connector.type === 'INJECTED');\n const recent = StorageUtil.getRecentWallets();\n const connectorIds = connectors.map(connector => connector.explorerId);\n const recentIds = recent.map(wallet => wallet.id);\n const allIds = connectorIds.concat(recentIds);\n const filtered = wallets.filter(wallet => !allIds.includes(wallet?.id));\n return filtered;\n },\n filterOutDuplicateWallets(wallets) {\n const uniqueByRDNS = this.filterOutDuplicatesByRDNS(wallets);\n const uniqueWallets = this.filterOutDuplicatesByIds(uniqueByRDNS);\n return uniqueWallets;\n },\n markWalletsAsInstalled(wallets) {\n const { connectors } = ConnectorController.state;\n const { featuredWalletIds } = OptionsController.state;\n const installedWalletRdnsMap = connectors\n .filter(connector => connector.type === 'ANNOUNCED')\n .reduce((rdnsMap, connector) => {\n if (!connector.info?.rdns) {\n return rdnsMap;\n }\n rdnsMap[connector.info.rdns] = true;\n return rdnsMap;\n }, {});\n const walletsWithInstallationStatus = wallets.map(wallet => ({\n ...wallet,\n installed: Boolean(wallet.rdns) && Boolean(installedWalletRdnsMap[wallet.rdns ?? ''])\n }));\n const sortedWallets = walletsWithInstallationStatus.sort((walletA, walletB) => {\n const installationComparison = Number(walletB.installed) - Number(walletA.installed);\n if (installationComparison !== 0) {\n return installationComparison;\n }\n if (featuredWalletIds?.length) {\n const walletAFeaturedIndex = featuredWalletIds.indexOf(walletA.id);\n const walletBFeaturedIndex = featuredWalletIds.indexOf(walletB.id);\n if (walletAFeaturedIndex !== -1 && walletBFeaturedIndex !== -1) {\n return walletAFeaturedIndex - walletBFeaturedIndex;\n }\n if (walletAFeaturedIndex !== -1) {\n return -1;\n }\n if (walletBFeaturedIndex !== -1) {\n return 1;\n }\n }\n return 0;\n });\n return sortedWallets;\n },\n getConnectOrderMethod(_features, _connectors) {\n const connectMethodOrder = _features?.connectMethodsOrder || OptionsController.state.features?.connectMethodsOrder;\n const connectors = _connectors || ConnectorController.state.connectors;\n if (connectMethodOrder) {\n return connectMethodOrder;\n }\n const { injected, announced } = ConnectorUtil.getConnectorsByType(connectors, ApiController.state.recommended, ApiController.state.featured);\n const shownInjected = injected.filter(ConnectorUtil.showConnector);\n const shownAnnounced = announced.filter(ConnectorUtil.showConnector);\n if (shownInjected.length || shownAnnounced.length) {\n return ['wallet', 'email', 'social'];\n }\n return ConstantsUtil.DEFAULT_CONNECT_METHOD_ORDER;\n },\n isExcluded(wallet) {\n const isRDNSExcluded = Boolean(wallet.rdns) && ApiController.state.excludedWallets.some(w => w.rdns === wallet.rdns);\n const isNameExcluded = Boolean(wallet.name) &&\n ApiController.state.excludedWallets.some(w => HelpersUtil.isLowerCaseMatch(w.name, wallet.name));\n return isRDNSExcluded || isNameExcluded;\n }\n};\n//# sourceMappingURL=WalletUtil.js.map","import { ConstantsUtil } from '@reown/appkit-common';\nimport { ApiController, ChainController, ConnectionController, ConnectorController, CoreHelperUtil, OptionsController, StorageUtil } from '@reown/appkit-controllers';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { WalletUtil } from './WalletUtil.js';\nexport const ConnectorUtil = {\n getConnectorsByType(connectors, recommended, featured) {\n const { customWallets } = OptionsController.state;\n const recent = StorageUtil.getRecentWallets();\n const filteredRecommended = WalletUtil.filterOutDuplicateWallets(recommended);\n const filteredFeatured = WalletUtil.filterOutDuplicateWallets(featured);\n const multiChain = connectors.filter(connector => connector.type === 'MULTI_CHAIN');\n const announced = connectors.filter(connector => connector.type === 'ANNOUNCED');\n const injected = connectors.filter(connector => connector.type === 'INJECTED');\n const external = connectors.filter(connector => connector.type === 'EXTERNAL');\n return {\n custom: customWallets,\n recent,\n external,\n multiChain,\n announced,\n injected,\n recommended: filteredRecommended,\n featured: filteredFeatured\n };\n },\n showConnector(connector) {\n const rdns = connector.info?.rdns;\n const isRDNSExcluded = Boolean(rdns) &&\n ApiController.state.excludedWallets.some(wallet => Boolean(wallet.rdns) && wallet.rdns === rdns);\n const isNameExcluded = Boolean(connector.name) &&\n ApiController.state.excludedWallets.some(wallet => HelpersUtil.isLowerCaseMatch(wallet.name, connector.name));\n if (connector.type === 'INJECTED') {\n const isBrowserWallet = connector.name === 'Browser Wallet';\n if (isBrowserWallet) {\n if (!CoreHelperUtil.isMobile()) {\n return false;\n }\n if (CoreHelperUtil.isMobile() && !rdns && !ConnectionController.checkInstalled()) {\n return false;\n }\n }\n if (isRDNSExcluded || isNameExcluded) {\n return false;\n }\n }\n if ((connector.type === 'ANNOUNCED' || connector.type === 'EXTERNAL') &&\n (isRDNSExcluded || isNameExcluded)) {\n return false;\n }\n return true;\n },\n getIsConnectedWithWC() {\n const chains = Array.from(ChainController.state.chains.values());\n const isConnectedWithWC = chains.some(chain => {\n const connectorId = ConnectorController.getConnectorId(chain.namespace);\n return connectorId === ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;\n });\n return isConnectedWithWC;\n },\n getConnectorTypeOrder({ recommended, featured, custom, recent, announced, injected, multiChain, external, overriddenConnectors = OptionsController.state.features?.connectorTypeOrder ?? [] }) {\n const isConnectedWithWC = ConnectorUtil.getIsConnectedWithWC();\n const isWCEnabled = OptionsController.state.enableWalletConnect;\n const allConnectors = [\n { type: 'walletConnect', isEnabled: isWCEnabled && !isConnectedWithWC },\n { type: 'recent', isEnabled: recent.length > 0 },\n { type: 'injected', isEnabled: [...injected, ...announced, ...multiChain].length > 0 },\n { type: 'featured', isEnabled: featured.length > 0 },\n { type: 'custom', isEnabled: custom && custom.length > 0 },\n { type: 'external', isEnabled: external.length > 0 },\n { type: 'recommended', isEnabled: recommended.length > 0 }\n ];\n const enabledConnectors = allConnectors.filter(option => option.isEnabled);\n const enabledConnectorTypes = new Set(enabledConnectors.map(option => option.type));\n const prioritizedConnectors = overriddenConnectors\n .filter(type => enabledConnectorTypes.has(type))\n .map(type => ({ type, isEnabled: true }));\n const remainingConnectors = enabledConnectors.filter(({ type: enabledConnectorType }) => {\n const hasPrioritizedConnector = prioritizedConnectors.some(({ type: prioritizedConnectorType }) => prioritizedConnectorType === enabledConnectorType);\n return !hasPrioritizedConnector;\n });\n return Array.from(new Set([...prioritizedConnectors, ...remainingConnectors].map(({ type }) => type)));\n }\n};\n//# sourceMappingURL=ConnectorUtil.js.map","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { css, unsafeCSS } from 'lit';\nimport { getW3mThemeVariables } from '@reown/appkit-common';\nlet themeTag = undefined;\nlet darkModeTag = undefined;\nlet lightModeTag = undefined;\nexport function initializeTheming(themeVariables, themeMode) {\n themeTag = document.createElement('style');\n darkModeTag = document.createElement('style');\n lightModeTag = document.createElement('style');\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n document.head.appendChild(themeTag);\n document.head.appendChild(darkModeTag);\n document.head.appendChild(lightModeTag);\n setColorTheme(themeMode);\n}\nexport function setColorTheme(themeMode) {\n if (darkModeTag && lightModeTag) {\n if (themeMode === 'light') {\n darkModeTag.removeAttribute('media');\n lightModeTag.media = 'enabled';\n }\n else {\n lightModeTag.removeAttribute('media');\n darkModeTag.media = 'enabled';\n }\n }\n}\nexport function setThemeVariables(themeVariables) {\n if (themeTag && darkModeTag && lightModeTag) {\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n }\n}\nfunction createRootStyles(themeVariables) {\n return {\n core: css `\n @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');\n @keyframes w3m-shake {\n 0% {\n transform: scale(1) rotate(0deg);\n }\n 20% {\n transform: scale(1) rotate(-1deg);\n }\n 40% {\n transform: scale(1) rotate(1.5deg);\n }\n 60% {\n transform: scale(1) rotate(-1.5deg);\n }\n 80% {\n transform: scale(1) rotate(1deg);\n }\n 100% {\n transform: scale(1) rotate(0deg);\n }\n }\n @keyframes w3m-iframe-fade-out {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n @keyframes w3m-iframe-zoom-in {\n 0% {\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0px);\n opacity: 1;\n }\n }\n @keyframes w3m-iframe-zoom-in-mobile {\n 0% {\n transform: scale(0.95);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n :root {\n --w3m-modal-width: 360px;\n --w3m-color-mix-strength: ${unsafeCSS(themeVariables?.['--w3m-color-mix-strength']\n ? `${themeVariables['--w3m-color-mix-strength']}%`\n : '0%')};\n --w3m-font-family: ${unsafeCSS(themeVariables?.['--w3m-font-family'] ||\n 'Inter, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;')};\n --w3m-font-size-master: ${unsafeCSS(themeVariables?.['--w3m-font-size-master'] || '10px')};\n --w3m-border-radius-master: ${unsafeCSS(themeVariables?.['--w3m-border-radius-master'] || '4px')};\n --w3m-z-index: ${unsafeCSS(themeVariables?.['--w3m-z-index'] || 999)};\n\n --wui-font-family: var(--w3m-font-family);\n\n --wui-font-size-mini: calc(var(--w3m-font-size-master) * 0.8);\n --wui-font-size-micro: var(--w3m-font-size-master);\n --wui-font-size-tiny: calc(var(--w3m-font-size-master) * 1.2);\n --wui-font-size-small: calc(var(--w3m-font-size-master) * 1.4);\n --wui-font-size-paragraph: calc(var(--w3m-font-size-master) * 1.6);\n --wui-font-size-medium: calc(var(--w3m-font-size-master) * 1.8);\n --wui-font-size-large: calc(var(--w3m-font-size-master) * 2);\n --wui-font-size-title-6: calc(var(--w3m-font-size-master) * 2.2);\n --wui-font-size-medium-title: calc(var(--w3m-font-size-master) * 2.4);\n --wui-font-size-2xl: calc(var(--w3m-font-size-master) * 4);\n\n --wui-border-radius-5xs: var(--w3m-border-radius-master);\n --wui-border-radius-4xs: calc(var(--w3m-border-radius-master) * 1.5);\n --wui-border-radius-3xs: calc(var(--w3m-border-radius-master) * 2);\n --wui-border-radius-xxs: calc(var(--w3m-border-radius-master) * 3);\n --wui-border-radius-xs: calc(var(--w3m-border-radius-master) * 4);\n --wui-border-radius-s: calc(var(--w3m-border-radius-master) * 5);\n --wui-border-radius-m: calc(var(--w3m-border-radius-master) * 7);\n --wui-border-radius-l: calc(var(--w3m-border-radius-master) * 9);\n --wui-border-radius-3xl: calc(var(--w3m-border-radius-master) * 20);\n\n --wui-font-weight-light: 400;\n --wui-font-weight-regular: 500;\n --wui-font-weight-medium: 600;\n --wui-font-weight-bold: 700;\n\n --wui-letter-spacing-2xl: -1.6px;\n --wui-letter-spacing-medium-title: -0.96px;\n --wui-letter-spacing-title-6: -0.88px;\n --wui-letter-spacing-large: -0.8px;\n --wui-letter-spacing-medium: -0.72px;\n --wui-letter-spacing-paragraph: -0.64px;\n --wui-letter-spacing-small: -0.56px;\n --wui-letter-spacing-tiny: -0.48px;\n --wui-letter-spacing-micro: -0.2px;\n --wui-letter-spacing-mini: -0.16px;\n\n --wui-spacing-0: 0px;\n --wui-spacing-4xs: 2px;\n --wui-spacing-3xs: 4px;\n --wui-spacing-xxs: 6px;\n --wui-spacing-2xs: 7px;\n --wui-spacing-xs: 8px;\n --wui-spacing-1xs: 10px;\n --wui-spacing-s: 12px;\n --wui-spacing-m: 14px;\n --wui-spacing-l: 16px;\n --wui-spacing-2l: 18px;\n --wui-spacing-xl: 20px;\n --wui-spacing-xxl: 24px;\n --wui-spacing-2xl: 32px;\n --wui-spacing-3xl: 40px;\n --wui-spacing-4xl: 90px;\n --wui-spacing-5xl: 95px;\n\n --wui-icon-box-size-xxs: 14px;\n --wui-icon-box-size-xs: 20px;\n --wui-icon-box-size-sm: 24px;\n --wui-icon-box-size-md: 32px;\n --wui-icon-box-size-mdl: 36px;\n --wui-icon-box-size-lg: 40px;\n --wui-icon-box-size-2lg: 48px;\n --wui-icon-box-size-xl: 64px;\n\n --wui-icon-size-inherit: inherit;\n --wui-icon-size-xxs: 10px;\n --wui-icon-size-xs: 12px;\n --wui-icon-size-sm: 14px;\n --wui-icon-size-md: 16px;\n --wui-icon-size-mdl: 18px;\n --wui-icon-size-lg: 20px;\n --wui-icon-size-xl: 24px;\n --wui-icon-size-xxl: 28px;\n\n --wui-wallet-image-size-inherit: inherit;\n --wui-wallet-image-size-sm: 40px;\n --wui-wallet-image-size-md: 56px;\n --wui-wallet-image-size-lg: 80px;\n\n --wui-visual-size-size-inherit: inherit;\n --wui-visual-size-sm: 40px;\n --wui-visual-size-md: 55px;\n --wui-visual-size-lg: 80px;\n\n --wui-box-size-md: 100px;\n --wui-box-size-lg: 120px;\n\n --wui-ease-out-power-2: cubic-bezier(0, 0, 0.22, 1);\n --wui-ease-out-power-1: cubic-bezier(0, 0, 0.55, 1);\n\n --wui-ease-in-power-3: cubic-bezier(0.66, 0, 1, 1);\n --wui-ease-in-power-2: cubic-bezier(0.45, 0, 1, 1);\n --wui-ease-in-power-1: cubic-bezier(0.3, 0, 1, 1);\n\n --wui-ease-inout-power-1: cubic-bezier(0.45, 0, 0.55, 1);\n\n --wui-duration-lg: 200ms;\n --wui-duration-md: 125ms;\n --wui-duration-sm: 75ms;\n\n --wui-path-network-sm: path(\n 'M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.61 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z'\n );\n\n --wui-path-network-md: path(\n 'M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z'\n );\n\n --wui-path-network-lg: path(\n 'M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z'\n );\n\n --wui-width-network-sm: 36px;\n --wui-width-network-md: 48px;\n --wui-width-network-lg: 86px;\n\n --wui-height-network-sm: 40px;\n --wui-height-network-md: 54px;\n --wui-height-network-lg: 96px;\n\n --wui-icon-size-network-xs: 12px;\n --wui-icon-size-network-sm: 16px;\n --wui-icon-size-network-md: 24px;\n --wui-icon-size-network-lg: 42px;\n\n --wui-color-inherit: inherit;\n\n --wui-color-inverse-100: #fff;\n --wui-color-inverse-000: #000;\n\n --wui-cover: rgba(20, 20, 20, 0.8);\n\n --wui-color-modal-bg: var(--wui-color-modal-bg-base);\n\n --wui-color-accent-100: var(--wui-color-accent-base-100);\n --wui-color-accent-090: var(--wui-color-accent-base-090);\n --wui-color-accent-080: var(--wui-color-accent-base-080);\n\n --wui-color-success-100: var(--wui-color-success-base-100);\n --wui-color-success-125: var(--wui-color-success-base-125);\n\n --wui-color-warning-100: var(--wui-color-warning-base-100);\n\n --wui-color-error-100: var(--wui-color-error-base-100);\n --wui-color-error-125: var(--wui-color-error-base-125);\n\n --wui-color-blue-100: var(--wui-color-blue-base-100);\n --wui-color-blue-90: var(--wui-color-blue-base-90);\n\n --wui-icon-box-bg-error-100: var(--wui-icon-box-bg-error-base-100);\n --wui-icon-box-bg-blue-100: var(--wui-icon-box-bg-blue-base-100);\n --wui-icon-box-bg-success-100: var(--wui-icon-box-bg-success-base-100);\n --wui-icon-box-bg-inverse-100: var(--wui-icon-box-bg-inverse-base-100);\n\n --wui-all-wallets-bg-100: var(--wui-all-wallets-bg-100);\n\n --wui-avatar-border: var(--wui-avatar-border-base);\n\n --wui-thumbnail-border: var(--wui-thumbnail-border-base);\n\n --wui-wallet-button-bg: var(--wui-wallet-button-bg-base);\n\n --wui-box-shadow-blue: var(--wui-color-accent-glass-020);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :root {\n --wui-color-modal-bg: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-modal-bg-base)\n );\n\n --wui-box-shadow-blue: color-mix(in srgb, var(--wui-color-accent-100) 20%, transparent);\n\n --wui-color-accent-100: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 100%,\n transparent\n );\n --wui-color-accent-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-color-accent-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n --wui-color-accent-glass-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-color-accent-glass-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n --wui-color-accent-glass-020: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 20%,\n transparent\n );\n --wui-color-accent-glass-015: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 15%,\n transparent\n );\n --wui-color-accent-glass-010: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 10%,\n transparent\n );\n --wui-color-accent-glass-005: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 5%,\n transparent\n );\n --wui-color-accent-002: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 2%,\n transparent\n );\n\n --wui-color-fg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-100)\n );\n --wui-color-fg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-125)\n );\n --wui-color-fg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-150)\n );\n --wui-color-fg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-175)\n );\n --wui-color-fg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-200)\n );\n --wui-color-fg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-225)\n );\n --wui-color-fg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-250)\n );\n --wui-color-fg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-275)\n );\n --wui-color-fg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-300)\n );\n --wui-color-fg-325: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-325)\n );\n --wui-color-fg-350: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-350)\n );\n\n --wui-color-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-100)\n );\n --wui-color-bg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-125)\n );\n --wui-color-bg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-150)\n );\n --wui-color-bg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-175)\n );\n --wui-color-bg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-200)\n );\n --wui-color-bg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-225)\n );\n --wui-color-bg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-250)\n );\n --wui-color-bg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-275)\n );\n --wui-color-bg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-300)\n );\n --wui-color-bg-325: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-325)\n );\n --wui-color-bg-350: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-350)\n );\n\n --wui-color-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-success-base-100)\n );\n --wui-color-success-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-success-base-125)\n );\n\n --wui-color-warning-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-warning-base-100)\n );\n\n --wui-color-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-error-base-100)\n );\n --wui-color-blue-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-blue-base-100)\n );\n --wui-color-blue-90: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-blue-base-90)\n );\n --wui-color-error-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-error-base-125)\n );\n\n --wui-icon-box-bg-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-error-base-100)\n );\n --wui-icon-box-bg-accent-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-blue-base-100)\n );\n --wui-icon-box-bg-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-success-base-100)\n );\n --wui-icon-box-bg-inverse-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-inverse-base-100)\n );\n\n --wui-all-wallets-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-all-wallets-bg-100)\n );\n\n --wui-avatar-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-avatar-border-base)\n );\n\n --wui-thumbnail-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-thumbnail-border-base)\n );\n\n --wui-wallet-button-bg: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-wallet-button-bg-base)\n );\n }\n }\n `,\n light: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#fff')};\n --w3m-accent: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'dark')['--w3m-accent'])};\n --w3m-default: #fff;\n\n --wui-color-modal-bg-base: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'dark')['--w3m-background'])};\n --wui-color-accent-base-100: var(--w3m-accent);\n\n --wui-color-blueberry-100: hsla(230, 100%, 67%, 1);\n --wui-color-blueberry-090: hsla(231, 76%, 61%, 1);\n --wui-color-blueberry-080: hsla(230, 59%, 55%, 1);\n --wui-color-blueberry-050: hsla(231, 100%, 70%, 0.1);\n\n --wui-color-fg-100: #e4e7e7;\n --wui-color-fg-125: #d0d5d5;\n --wui-color-fg-150: #a8b1b1;\n --wui-color-fg-175: #a8b0b0;\n --wui-color-fg-200: #949e9e;\n --wui-color-fg-225: #868f8f;\n --wui-color-fg-250: #788080;\n --wui-color-fg-275: #788181;\n --wui-color-fg-300: #6e7777;\n --wui-color-fg-325: #9a9a9a;\n --wui-color-fg-350: #363636;\n\n --wui-color-bg-100: #141414;\n --wui-color-bg-125: #191a1a;\n --wui-color-bg-150: #1e1f1f;\n --wui-color-bg-175: #222525;\n --wui-color-bg-200: #272a2a;\n --wui-color-bg-225: #2c3030;\n --wui-color-bg-250: #313535;\n --wui-color-bg-275: #363b3b;\n --wui-color-bg-300: #3b4040;\n --wui-color-bg-325: #252525;\n --wui-color-bg-350: #ffffff;\n\n --wui-color-success-base-100: #26d962;\n --wui-color-success-base-125: #30a46b;\n\n --wui-color-warning-base-100: #f3a13f;\n\n --wui-color-error-base-100: #f25a67;\n --wui-color-error-base-125: #df4a34;\n\n --wui-color-blue-base-100: rgba(102, 125, 255, 1);\n --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);\n\n --wui-color-success-glass-001: rgba(38, 217, 98, 0.01);\n --wui-color-success-glass-002: rgba(38, 217, 98, 0.02);\n --wui-color-success-glass-005: rgba(38, 217, 98, 0.05);\n --wui-color-success-glass-010: rgba(38, 217, 98, 0.1);\n --wui-color-success-glass-015: rgba(38, 217, 98, 0.15);\n --wui-color-success-glass-020: rgba(38, 217, 98, 0.2);\n --wui-color-success-glass-025: rgba(38, 217, 98, 0.25);\n --wui-color-success-glass-030: rgba(38, 217, 98, 0.3);\n --wui-color-success-glass-060: rgba(38, 217, 98, 0.6);\n --wui-color-success-glass-080: rgba(38, 217, 98, 0.8);\n\n --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);\n\n --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);\n\n --wui-color-error-glass-001: rgba(242, 90, 103, 0.01);\n --wui-color-error-glass-002: rgba(242, 90, 103, 0.02);\n --wui-color-error-glass-005: rgba(242, 90, 103, 0.05);\n --wui-color-error-glass-010: rgba(242, 90, 103, 0.1);\n --wui-color-error-glass-015: rgba(242, 90, 103, 0.15);\n --wui-color-error-glass-020: rgba(242, 90, 103, 0.2);\n --wui-color-error-glass-025: rgba(242, 90, 103, 0.25);\n --wui-color-error-glass-030: rgba(242, 90, 103, 0.3);\n --wui-color-error-glass-060: rgba(242, 90, 103, 0.6);\n --wui-color-error-glass-080: rgba(242, 90, 103, 0.8);\n\n --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);\n\n --wui-color-gray-glass-001: rgba(255, 255, 255, 0.01);\n --wui-color-gray-glass-002: rgba(255, 255, 255, 0.02);\n --wui-color-gray-glass-005: rgba(255, 255, 255, 0.05);\n --wui-color-gray-glass-010: rgba(255, 255, 255, 0.1);\n --wui-color-gray-glass-015: rgba(255, 255, 255, 0.15);\n --wui-color-gray-glass-020: rgba(255, 255, 255, 0.2);\n --wui-color-gray-glass-025: rgba(255, 255, 255, 0.25);\n --wui-color-gray-glass-030: rgba(255, 255, 255, 0.3);\n --wui-color-gray-glass-060: rgba(255, 255, 255, 0.6);\n --wui-color-gray-glass-080: rgba(255, 255, 255, 0.8);\n --wui-color-gray-glass-090: rgba(255, 255, 255, 0.9);\n\n --wui-color-dark-glass-100: rgba(42, 42, 42, 1);\n\n --wui-icon-box-bg-error-base-100: #3c2426;\n --wui-icon-box-bg-blue-base-100: #20303f;\n --wui-icon-box-bg-success-base-100: #1f3a28;\n --wui-icon-box-bg-inverse-base-100: #243240;\n\n --wui-all-wallets-bg-100: #222b35;\n\n --wui-avatar-border-base: #252525;\n\n --wui-thumbnail-border-base: #252525;\n\n --wui-wallet-button-bg-base: var(--wui-color-bg-125);\n\n --w3m-card-embedded-shadow-color: rgb(17 17 18 / 25%);\n }\n `,\n dark: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#000')};\n --w3m-accent: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'light')['--w3m-accent'])};\n --w3m-default: #000;\n\n --wui-color-modal-bg-base: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'light')['--w3m-background'])};\n --wui-color-accent-base-100: var(--w3m-accent);\n\n --wui-color-blueberry-100: hsla(231, 100%, 70%, 1);\n --wui-color-blueberry-090: hsla(231, 97%, 72%, 1);\n --wui-color-blueberry-080: hsla(231, 92%, 74%, 1);\n\n --wui-color-fg-100: #141414;\n --wui-color-fg-125: #2d3131;\n --wui-color-fg-150: #474d4d;\n --wui-color-fg-175: #636d6d;\n --wui-color-fg-200: #798686;\n --wui-color-fg-225: #828f8f;\n --wui-color-fg-250: #8b9797;\n --wui-color-fg-275: #95a0a0;\n --wui-color-fg-300: #9ea9a9;\n --wui-color-fg-325: #9a9a9a;\n --wui-color-fg-350: #d0d0d0;\n\n --wui-color-bg-100: #ffffff;\n --wui-color-bg-125: #f5fafa;\n --wui-color-bg-150: #f3f8f8;\n --wui-color-bg-175: #eef4f4;\n --wui-color-bg-200: #eaf1f1;\n --wui-color-bg-225: #e5eded;\n --wui-color-bg-250: #e1e9e9;\n --wui-color-bg-275: #dce7e7;\n --wui-color-bg-300: #d8e3e3;\n --wui-color-bg-325: #f3f3f3;\n --wui-color-bg-350: #202020;\n\n --wui-color-success-base-100: #26b562;\n --wui-color-success-base-125: #30a46b;\n\n --wui-color-warning-base-100: #f3a13f;\n\n --wui-color-error-base-100: #f05142;\n --wui-color-error-base-125: #df4a34;\n\n --wui-color-blue-base-100: rgba(102, 125, 255, 1);\n --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);\n\n --wui-color-success-glass-001: rgba(38, 181, 98, 0.01);\n --wui-color-success-glass-002: rgba(38, 181, 98, 0.02);\n --wui-color-success-glass-005: rgba(38, 181, 98, 0.05);\n --wui-color-success-glass-010: rgba(38, 181, 98, 0.1);\n --wui-color-success-glass-015: rgba(38, 181, 98, 0.15);\n --wui-color-success-glass-020: rgba(38, 181, 98, 0.2);\n --wui-color-success-glass-025: rgba(38, 181, 98, 0.25);\n --wui-color-success-glass-030: rgba(38, 181, 98, 0.3);\n --wui-color-success-glass-060: rgba(38, 181, 98, 0.6);\n --wui-color-success-glass-080: rgba(38, 181, 98, 0.8);\n\n --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);\n\n --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);\n\n --wui-color-error-glass-001: rgba(240, 81, 66, 0.01);\n --wui-color-error-glass-002: rgba(240, 81, 66, 0.02);\n --wui-color-error-glass-005: rgba(240, 81, 66, 0.05);\n --wui-color-error-glass-010: rgba(240, 81, 66, 0.1);\n --wui-color-error-glass-015: rgba(240, 81, 66, 0.15);\n --wui-color-error-glass-020: rgba(240, 81, 66, 0.2);\n --wui-color-error-glass-025: rgba(240, 81, 66, 0.25);\n --wui-color-error-glass-030: rgba(240, 81, 66, 0.3);\n --wui-color-error-glass-060: rgba(240, 81, 66, 0.6);\n --wui-color-error-glass-080: rgba(240, 81, 66, 0.8);\n\n --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);\n\n --wui-icon-box-bg-error-base-100: #f4dfdd;\n --wui-icon-box-bg-blue-base-100: #d9ecfb;\n --wui-icon-box-bg-success-base-100: #daf0e4;\n --wui-icon-box-bg-inverse-base-100: #dcecfc;\n\n --wui-all-wallets-bg-100: #e8f1fa;\n\n --wui-avatar-border-base: #f3f4f4;\n\n --wui-thumbnail-border-base: #eaefef;\n\n --wui-wallet-button-bg-base: var(--wui-color-bg-125);\n\n --wui-color-gray-glass-001: rgba(0, 0, 0, 0.01);\n --wui-color-gray-glass-002: rgba(0, 0, 0, 0.02);\n --wui-color-gray-glass-005: rgba(0, 0, 0, 0.05);\n --wui-color-gray-glass-010: rgba(0, 0, 0, 0.1);\n --wui-color-gray-glass-015: rgba(0, 0, 0, 0.15);\n --wui-color-gray-glass-020: rgba(0, 0, 0, 0.2);\n --wui-color-gray-glass-025: rgba(0, 0, 0, 0.25);\n --wui-color-gray-glass-030: rgba(0, 0, 0, 0.3);\n --wui-color-gray-glass-060: rgba(0, 0, 0, 0.6);\n --wui-color-gray-glass-080: rgba(0, 0, 0, 0.8);\n --wui-color-gray-glass-090: rgba(0, 0, 0, 0.9);\n\n --wui-color-dark-glass-100: rgba(233, 233, 233, 1);\n\n --w3m-card-embedded-shadow-color: rgb(224 225 233 / 25%);\n }\n `\n };\n}\nexport const resetStyles = css `\n *,\n *::after,\n *::before,\n :host {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-style: normal;\n text-rendering: optimizeSpeed;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n font-family: var(--wui-font-family);\n backface-visibility: hidden;\n }\n`;\nexport const elementStyles = css `\n button,\n a {\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n transition:\n color var(--wui-duration-lg) var(--wui-ease-out-power-1),\n background-color var(--wui-duration-lg) var(--wui-ease-out-power-1),\n border var(--wui-duration-lg) var(--wui-ease-out-power-1),\n border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1),\n box-shadow var(--wui-duration-lg) var(--wui-ease-out-power-1);\n will-change: background-color, color, border, box-shadow, border-radius;\n outline: none;\n border: none;\n column-gap: var(--wui-spacing-3xs);\n background-color: transparent;\n text-decoration: none;\n }\n\n wui-flex {\n transition: border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1);\n will-change: border-radius;\n }\n\n button:disabled > wui-wallet-image,\n button:disabled > wui-all-wallets-image,\n button:disabled > wui-network-image,\n button:disabled > wui-image,\n button:disabled > wui-transaction-visual,\n button:disabled > wui-logo {\n filter: grayscale(1);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-color-gray-glass-005);\n }\n\n button:active:enabled {\n background-color: var(--wui-color-gray-glass-010);\n }\n }\n\n button:disabled > wui-icon-box {\n opacity: 0.5;\n }\n\n input {\n border: none;\n outline: none;\n appearance: none;\n }\n`;\nexport const colorStyles = css `\n .wui-color-inherit {\n color: var(--wui-color-inherit);\n }\n\n .wui-color-accent-100 {\n color: var(--wui-color-accent-100);\n }\n\n .wui-color-error-100 {\n color: var(--wui-color-error-100);\n }\n\n .wui-color-blue-100 {\n color: var(--wui-color-blue-100);\n }\n\n .wui-color-blue-90 {\n color: var(--wui-color-blue-90);\n }\n\n .wui-color-error-125 {\n color: var(--wui-color-error-125);\n }\n\n .wui-color-success-100 {\n color: var(--wui-color-success-100);\n }\n\n .wui-color-success-125 {\n color: var(--wui-color-success-125);\n }\n\n .wui-color-inverse-100 {\n color: var(--wui-color-inverse-100);\n }\n\n .wui-color-inverse-000 {\n color: var(--wui-color-inverse-000);\n }\n\n .wui-color-fg-100 {\n color: var(--wui-color-fg-100);\n }\n\n .wui-color-fg-200 {\n color: var(--wui-color-fg-200);\n }\n\n .wui-color-fg-300 {\n color: var(--wui-color-fg-300);\n }\n\n .wui-color-fg-325 {\n color: var(--wui-color-fg-325);\n }\n\n .wui-color-fg-350 {\n color: var(--wui-color-fg-350);\n }\n\n .wui-bg-color-inherit {\n background-color: var(--wui-color-inherit);\n }\n\n .wui-bg-color-blue-100 {\n background-color: var(--wui-color-accent-100);\n }\n\n .wui-bg-color-error-100 {\n background-color: var(--wui-color-error-100);\n }\n\n .wui-bg-color-error-125 {\n background-color: var(--wui-color-error-125);\n }\n\n .wui-bg-color-success-100 {\n background-color: var(--wui-color-success-100);\n }\n\n .wui-bg-color-success-125 {\n background-color: var(--wui-color-success-100);\n }\n\n .wui-bg-color-inverse-100 {\n background-color: var(--wui-color-inverse-100);\n }\n\n .wui-bg-color-inverse-000 {\n background-color: var(--wui-color-inverse-000);\n }\n\n .wui-bg-color-fg-100 {\n background-color: var(--wui-color-fg-100);\n }\n\n .wui-bg-color-fg-200 {\n background-color: var(--wui-color-fg-200);\n }\n\n .wui-bg-color-fg-300 {\n background-color: var(--wui-color-fg-300);\n }\n\n .wui-color-fg-325 {\n background-color: var(--wui-color-fg-325);\n }\n\n .wui-color-fg-350 {\n background-color: var(--wui-color-fg-350);\n }\n`;\n//# sourceMappingURL=ThemeUtil.js.map","export const WcConstantsUtil = {\n ERROR_CODE_UNRECOGNIZED_CHAIN_ID: 4902,\n ERROR_CODE_DEFAULT: 5000,\n ERROR_INVALID_CHAIN_ID: 32603,\n DEFAULT_ALLOWED_ANCESTORS: [\n 'http://localhost:*',\n 'https://*.pages.dev',\n 'https://*.vercel.app',\n 'https://*.ngrok-free.app',\n 'https://secure-mobile.walletconnect.com',\n 'https://secure-mobile.walletconnect.org'\n ]\n};\n//# sourceMappingURL=ConstantsUtil.js.map","export function defineChain(chain) {\n return {\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain\n };\n}\n//# sourceMappingURL=utils.js.map","import { defineChain } from '../utils.js';\nexport const solana = defineChain({\n id: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n name: 'Solana',\n network: 'solana-mainnet',\n nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n blockExplorers: { default: { name: 'Solscan', url: 'https://solscan.io' } },\n testnet: false,\n chainNamespace: 'solana',\n caipNetworkId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n deprecatedCaipNetworkId: 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ'\n});\n//# sourceMappingURL=solana.js.map","import { defineChain } from '../utils.js';\nexport const solanaDevnet = defineChain({\n id: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n name: 'Solana Devnet',\n network: 'solana-devnet',\n nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n blockExplorers: { default: { name: 'Solscan', url: 'https://solscan.io' } },\n testnet: true,\n chainNamespace: 'solana',\n caipNetworkId: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n deprecatedCaipNetworkId: 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K'\n});\n//# sourceMappingURL=solanaDevnet.js.map","import { defineChain } from '../utils.js';\nexport const solanaTestnet = defineChain({\n id: '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n name: 'Solana Testnet',\n network: 'solana-testnet',\n nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n blockExplorers: { default: { name: 'Solscan', url: 'https://solscan.io' } },\n testnet: true,\n chainNamespace: 'solana',\n caipNetworkId: 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z'\n});\n//# sourceMappingURL=solanaTestnet.js.map","import { defineChain } from './utils.js';\nexport const bitcoin = defineChain({\n id: '000000000019d6689c085ae165831e93',\n caipNetworkId: 'bip122:000000000019d6689c085ae165831e93',\n chainNamespace: 'bip122',\n name: 'Bitcoin',\n nativeCurrency: {\n name: 'Bitcoin',\n symbol: 'BTC',\n decimals: 8\n },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n }\n});\nexport const bitcoinTestnet = defineChain({\n id: '000000000933ea01ad0ee984209779ba',\n caipNetworkId: 'bip122:000000000933ea01ad0ee984209779ba',\n chainNamespace: 'bip122',\n name: 'Bitcoin Testnet',\n nativeCurrency: {\n name: 'Bitcoin',\n symbol: 'BTC',\n decimals: 8\n },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n testnet: true\n});\n//# sourceMappingURL=bitcoin.js.map","import { EnsController } from '@reown/appkit-controllers';\nimport { solana, solanaDevnet } from '../networks/index.js';\nexport const DEFAULT_METHODS = {\n solana: [\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_requestAccounts',\n 'solana_getAccounts',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction'\n ],\n eip155: [\n 'eth_accounts',\n 'eth_requestAccounts',\n 'eth_sendRawTransaction',\n 'eth_sign',\n 'eth_signTransaction',\n 'eth_signTypedData',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_sendTransaction',\n 'personal_sign',\n 'wallet_switchEthereumChain',\n 'wallet_addEthereumChain',\n 'wallet_getPermissions',\n 'wallet_requestPermissions',\n 'wallet_registerOnboarding',\n 'wallet_watchAsset',\n 'wallet_scanQRCode',\n // EIP-5792\n 'wallet_getCallsStatus',\n 'wallet_showCallsStatus',\n 'wallet_sendCalls',\n 'wallet_getCapabilities',\n // EIP-7715\n 'wallet_grantPermissions',\n 'wallet_revokePermissions',\n //EIP-7811\n 'wallet_getAssets'\n ],\n bip122: ['sendTransfer', 'signMessage', 'signPsbt', 'getAccountAddresses']\n};\nexport const WcHelpersUtil = {\n getMethodsByChainNamespace(chainNamespace) {\n return DEFAULT_METHODS[chainNamespace] || [];\n },\n createDefaultNamespace(chainNamespace) {\n return {\n methods: this.getMethodsByChainNamespace(chainNamespace),\n events: ['accountsChanged', 'chainChanged'],\n chains: [],\n rpcMap: {}\n };\n },\n applyNamespaceOverrides(baseNamespaces, overrides) {\n if (!overrides) {\n return { ...baseNamespaces };\n }\n const result = { ...baseNamespaces };\n const namespacesToOverride = new Set();\n if (overrides.methods) {\n Object.keys(overrides.methods).forEach(ns => namespacesToOverride.add(ns));\n }\n if (overrides.chains) {\n Object.keys(overrides.chains).forEach(ns => namespacesToOverride.add(ns));\n }\n if (overrides.events) {\n Object.keys(overrides.events).forEach(ns => namespacesToOverride.add(ns));\n }\n if (overrides.rpcMap) {\n Object.keys(overrides.rpcMap).forEach(chainId => {\n const [ns] = chainId.split(':');\n if (ns) {\n namespacesToOverride.add(ns);\n }\n });\n }\n namespacesToOverride.forEach(ns => {\n if (!result[ns]) {\n result[ns] = this.createDefaultNamespace(ns);\n }\n });\n if (overrides.methods) {\n Object.entries(overrides.methods).forEach(([ns, methods]) => {\n if (result[ns]) {\n result[ns].methods = methods;\n }\n });\n }\n if (overrides.chains) {\n Object.entries(overrides.chains).forEach(([ns, chains]) => {\n if (result[ns]) {\n result[ns].chains = chains;\n }\n });\n }\n if (overrides.events) {\n Object.entries(overrides.events).forEach(([ns, events]) => {\n if (result[ns]) {\n result[ns].events = events;\n }\n });\n }\n if (overrides.rpcMap) {\n const processedNamespaces = new Set();\n Object.entries(overrides.rpcMap).forEach(([chainId, rpcUrl]) => {\n const [ns, id] = chainId.split(':');\n if (!ns || !id || !result[ns]) {\n return;\n }\n if (!result[ns].rpcMap) {\n result[ns].rpcMap = {};\n }\n if (!processedNamespaces.has(ns)) {\n result[ns].rpcMap = {};\n processedNamespaces.add(ns);\n }\n result[ns].rpcMap[id] = rpcUrl;\n });\n }\n return result;\n },\n createNamespaces(caipNetworks, configOverride) {\n const defaultNamespaces = caipNetworks.reduce((acc, chain) => {\n const { id, chainNamespace, rpcUrls } = chain;\n const rpcUrl = rpcUrls.default.http[0];\n if (!acc[chainNamespace]) {\n acc[chainNamespace] = this.createDefaultNamespace(chainNamespace);\n }\n const caipNetworkId = `${chainNamespace}:${id}`;\n // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style\n const namespace = acc[chainNamespace];\n namespace.chains.push(caipNetworkId);\n // Workaround for wallets that only support deprecated Solana network ID\n switch (caipNetworkId) {\n case solana.caipNetworkId:\n namespace.chains.push(solana.deprecatedCaipNetworkId);\n break;\n case solanaDevnet.caipNetworkId:\n namespace.chains.push(solanaDevnet.deprecatedCaipNetworkId);\n break;\n default:\n }\n if (namespace?.rpcMap && rpcUrl) {\n namespace.rpcMap[id] = rpcUrl;\n }\n return acc;\n }, {});\n return this.applyNamespaceOverrides(defaultNamespaces, configOverride);\n },\n resolveReownName: async (name) => {\n const wcNameAddress = await EnsController.resolveName(name);\n const networkNameAddresses = Object.values(wcNameAddress?.addresses) || [];\n return networkNameAddresses[0]?.address || false;\n },\n getChainsFromNamespaces(namespaces = {}) {\n return Object.values(namespaces).flatMap(namespace => {\n const chains = (namespace.chains || []);\n const accountsChains = namespace.accounts.map(account => {\n const [chainNamespace, chainId] = account.split(':');\n return `${chainNamespace}:${chainId}`;\n });\n return Array.from(new Set([...chains, ...accountsChains]));\n });\n },\n isSessionEventData(data) {\n return (typeof data === 'object' &&\n data !== null &&\n 'id' in data &&\n 'topic' in data &&\n 'params' in data &&\n typeof data.params === 'object' &&\n data.params !== null &&\n 'chainId' in data.params &&\n 'event' in data.params &&\n typeof data.params.event === 'object' &&\n data.params.event !== null);\n },\n isOriginAllowed(currentOrigin, allowedPatterns, defaultAllowedOrigins) {\n for (const pattern of [...allowedPatterns, ...defaultAllowedOrigins]) {\n if (pattern.includes('*')) {\n // Convert wildcard pattern to regex, escape special chars, replace *, match whole string\n const escapedPattern = pattern.replace(/[.*+?^${}()|[\\]\\\\]/gu, '\\\\$&');\n const regexString = `^${escapedPattern.replace(/\\\\\\*/gu, '.*')}$`;\n const regex = new RegExp(regexString, 'u');\n if (regex.test(currentOrigin)) {\n return true;\n }\n }\n else {\n /**\n * There are some cases where pattern is getting just the origin, where using new URL(pattern).origin will throw an error\n * thus we a try catch to handle this case\n */\n try {\n if (new URL(pattern).origin === currentOrigin) {\n return true;\n }\n }\n catch (e) {\n if (pattern === currentOrigin) {\n return true;\n }\n }\n }\n }\n // No match found\n return false;\n }\n};\n//# sourceMappingURL=HelpersUtil.js.map","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { ChainController, OptionsController, SIWXUtil } from '@reown/appkit-controllers';\nimport { PresetsUtil } from '@reown/appkit-utils';\nimport { WcHelpersUtil } from '../utils/index.js';\nexport class WalletConnectConnector {\n constructor({ provider, namespace }) {\n this.id = ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;\n this.name = PresetsUtil.ConnectorNamesMap[ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT];\n this.type = 'WALLET_CONNECT';\n this.imageId = PresetsUtil.ConnectorImageIds[ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT];\n this.getCaipNetworks = ChainController.getCaipNetworks.bind(ChainController);\n this.caipNetworks = this.getCaipNetworks();\n this.provider = provider;\n this.chain = namespace;\n }\n get chains() {\n return this.getCaipNetworks();\n }\n async connectWalletConnect() {\n const isAuthenticated = await this.authenticate();\n if (!isAuthenticated) {\n const caipNetworks = this.getCaipNetworks();\n const universalProviderConfigOverride = OptionsController.state.universalProviderConfigOverride;\n const namespaces = WcHelpersUtil.createNamespaces(caipNetworks, universalProviderConfigOverride);\n await this.provider.connect({ optionalNamespaces: namespaces });\n }\n return {\n clientId: await this.provider.client.core.crypto.getClientId(),\n session: this.provider.session\n };\n }\n async disconnect() {\n await this.provider.disconnect();\n }\n async authenticate() {\n const chains = this.chains.map(network => network.caipNetworkId);\n return SIWXUtil.universalProviderAuthenticate({\n universalProvider: this.provider,\n chains,\n methods: OPTIONAL_METHODS\n });\n }\n}\nconst OPTIONAL_METHODS = [\n 'eth_accounts',\n 'eth_requestAccounts',\n 'eth_sendRawTransaction',\n 'eth_sign',\n 'eth_signTransaction',\n 'eth_signTypedData',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_sendTransaction',\n 'personal_sign',\n 'wallet_switchEthereumChain',\n 'wallet_addEthereumChain',\n 'wallet_getPermissions',\n 'wallet_requestPermissions',\n 'wallet_registerOnboarding',\n 'wallet_watchAsset',\n 'wallet_scanQRCode',\n // EIP-5792\n 'wallet_getCallsStatus',\n 'wallet_sendCalls',\n 'wallet_getCapabilities',\n // EIP-7715\n 'wallet_grantPermissions',\n 'wallet_revokePermissions',\n //EIP-7811\n 'wallet_getAssets'\n];\n//# sourceMappingURL=WalletConnectConnector.js.map","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { AccountController, ChainController } from '@reown/appkit-controllers';\nimport { PresetsUtil } from '@reown/appkit-utils';\nimport { WalletConnectConnector } from '../connectors/WalletConnectConnector.js';\n/**\n * Abstract class representing a chain adapter blueprint.\n * @template Connector - The type of connector extending ChainAdapterConnector\n */\nexport class AdapterBlueprint {\n /**\n * Creates an instance of AdapterBlueprint.\n * @param {AdapterBlueprint.Params} params - The parameters for initializing the adapter\n */\n constructor(params) {\n this.availableConnectors = [];\n this.eventListeners = new Map();\n this.getCaipNetworks = (namespace) => ChainController.getCaipNetworks(namespace);\n if (params) {\n this.construct(params);\n }\n }\n /**\n * Initializes the adapter with the given parameters.\n * @param {AdapterBlueprint.Params} params - The parameters for initializing the adapter\n */\n construct(params) {\n this.projectId = params.projectId;\n this.namespace = params.namespace;\n this.adapterType = params.adapterType;\n }\n /**\n * Gets the available connectors.\n * @returns {Connector[]} An array of available connectors\n */\n get connectors() {\n return this.availableConnectors;\n }\n /**\n * Gets the supported networks.\n * @returns {CaipNetwork[]} An array of supported networks\n */\n get networks() {\n return this.getCaipNetworks(this.namespace);\n }\n /**\n * Sets the auth provider.\n * @param {W3mFrameProvider} authProvider - The auth provider instance\n */\n setAuthProvider(authProvider) {\n this.addConnector({\n id: CommonConstantsUtil.CONNECTOR_ID.AUTH,\n type: 'AUTH',\n name: CommonConstantsUtil.CONNECTOR_NAMES.AUTH,\n provider: authProvider,\n imageId: PresetsUtil.ConnectorImageIds[CommonConstantsUtil.CONNECTOR_ID.AUTH],\n chain: this.namespace,\n chains: []\n });\n }\n /**\n * Adds one or more connectors to the available connectors list.\n * @param {...Connector} connectors - The connectors to add\n */\n addConnector(...connectors) {\n const connectorsAdded = new Set();\n this.availableConnectors = [...connectors, ...this.availableConnectors].filter(connector => {\n if (connectorsAdded.has(connector.id)) {\n return false;\n }\n connectorsAdded.add(connector.id);\n return true;\n });\n this.emit('connectors', this.availableConnectors);\n }\n setStatus(status, chainNamespace) {\n AccountController.setStatus(status, chainNamespace);\n }\n /**\n * Adds an event listener for a specific event.\n * @template T\n * @param {T} eventName - The name of the event\n * @param {EventCallback<T>} callback - The callback function to be called when the event is emitted\n */\n on(eventName, callback) {\n if (!this.eventListeners.has(eventName)) {\n this.eventListeners.set(eventName, new Set());\n }\n this.eventListeners.get(eventName)?.add(callback);\n }\n /**\n * Removes an event listener for a specific event.\n * @template T\n * @param {T} eventName - The name of the event\n * @param {EventCallback<T>} callback - The callback function to be removed\n */\n off(eventName, callback) {\n const listeners = this.eventListeners.get(eventName);\n if (listeners) {\n listeners.delete(callback);\n }\n }\n /**\n * Removes all event listeners.\n */\n removeAllEventListeners() {\n this.eventListeners.forEach(listeners => {\n listeners.clear();\n });\n }\n /**\n * Emits an event with the given name and optional data.\n * @template T\n * @param {T} eventName - The name of the event to emit\n * @param {EventData[T]} [data] - The optional data to be passed to the event listeners\n */\n emit(eventName, data) {\n const listeners = this.eventListeners.get(eventName);\n if (listeners) {\n listeners.forEach(callback => callback(data));\n }\n }\n /**\n * Connects to WalletConnect.\n * @param {number | string} [_chainId] - Optional chain ID to connect to\n */\n async connectWalletConnect(_chainId) {\n const connector = this.getWalletConnectConnector();\n const result = await connector.connectWalletConnect();\n return { clientId: result.clientId };\n }\n /**\n * Switches the network.\n * @param {AdapterBlueprint.SwitchNetworkParams} params - Network switching parameters\n */\n async switchNetwork(params) {\n const { caipNetwork, providerType } = params;\n if (!params.provider) {\n return;\n }\n const provider = 'provider' in params.provider ? params.provider.provider : params.provider;\n if (providerType === 'WALLET_CONNECT') {\n ;\n provider.setDefaultChain(caipNetwork.caipNetworkId);\n return;\n }\n if (provider && providerType === 'AUTH') {\n const authProvider = provider;\n const preferredAccountType = AccountController.state.preferredAccountTypes?.[caipNetwork.chainNamespace];\n await authProvider.switchNetwork(caipNetwork.caipNetworkId);\n const user = await authProvider.getUser({\n chainId: caipNetwork.caipNetworkId,\n preferredAccountType\n });\n this.emit('switchNetwork', user);\n }\n }\n getWalletConnectConnector() {\n const connector = this.connectors.find(c => c instanceof WalletConnectConnector);\n if (!connector) {\n throw new Error('WalletConnectConnector not found');\n }\n return connector;\n }\n}\n//# sourceMappingURL=ChainAdapterBlueprint.js.map","import bs58 from 'bs58';\nimport { toHex } from 'viem';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { AccountController, ChainController, ConstantsUtil as CoreConstantsUtil, CoreHelperUtil } from '@reown/appkit-controllers';\nimport { AdapterBlueprint } from '../adapters/ChainAdapterBlueprint.js';\nimport { WalletConnectConnector } from '../connectors/WalletConnectConnector.js';\nimport { WcConstantsUtil } from '../utils/ConstantsUtil.js';\nexport class UniversalAdapter extends AdapterBlueprint {\n setUniversalProvider(universalProvider) {\n this.addConnector(new WalletConnectConnector({\n provider: universalProvider,\n caipNetworks: this.getCaipNetworks(),\n namespace: this.namespace\n }));\n }\n async connect(params) {\n return Promise.resolve({\n id: 'WALLET_CONNECT',\n type: 'WALLET_CONNECT',\n chainId: Number(params.chainId),\n provider: this.provider,\n address: ''\n });\n }\n async disconnect() {\n try {\n const connector = this.getWalletConnectConnector();\n await connector.disconnect();\n }\n catch (error) {\n console.warn('UniversalAdapter:disconnect - error', error);\n }\n }\n async getAccounts({ namespace }) {\n const provider = this.provider;\n const addresses = (provider?.session?.namespaces?.[namespace]?.accounts\n ?.map(account => {\n const [, , address] = account.split(':');\n return address;\n })\n .filter((address, index, self) => self.indexOf(address) === index) || []);\n return Promise.resolve({\n accounts: addresses.map(address => CoreHelperUtil.createAccount(namespace, address, namespace === 'bip122' ? 'payment' : 'eoa'))\n });\n }\n async syncConnectors() {\n return Promise.resolve();\n }\n async getBalance(params) {\n const isBalanceSupported = params.caipNetwork &&\n CoreConstantsUtil.BALANCE_SUPPORTED_CHAINS.includes(params.caipNetwork?.chainNamespace);\n if (!isBalanceSupported || params.caipNetwork?.testnet) {\n return {\n balance: '0.00',\n symbol: params.caipNetwork?.nativeCurrency.symbol || ''\n };\n }\n if (AccountController.state.balanceLoading &&\n params.chainId === ChainController.state.activeCaipNetwork?.id) {\n return {\n balance: AccountController.state.balance || '0.00',\n symbol: AccountController.state.balanceSymbol || ''\n };\n }\n const balances = await AccountController.fetchTokenBalance();\n const balance = balances.find(b => b.chainId === `${params.caipNetwork?.chainNamespace}:${params.chainId}` &&\n b.symbol === params.caipNetwork?.nativeCurrency.symbol);\n return {\n balance: balance?.quantity.numeric || '0.00',\n symbol: balance?.symbol || params.caipNetwork?.nativeCurrency.symbol || ''\n };\n }\n async signMessage(params) {\n const { provider, message, address } = params;\n if (!provider) {\n throw new Error('UniversalAdapter:signMessage - provider is undefined');\n }\n let signature = '';\n if (ChainController.state.activeCaipNetwork?.chainNamespace === ConstantsUtil.CHAIN.SOLANA) {\n const response = await provider.request({\n method: 'solana_signMessage',\n params: {\n message: bs58.encode(new TextEncoder().encode(message)),\n pubkey: address\n }\n }, ChainController.state.activeCaipNetwork?.caipNetworkId);\n signature = response.signature;\n }\n else {\n signature = await provider.request({\n method: 'personal_sign',\n params: [message, address]\n }, ChainController.state.activeCaipNetwork?.caipNetworkId);\n }\n return { signature };\n }\n // -- Transaction methods ---------------------------------------------------\n /**\n *\n * These methods are supported only on `wagmi` and `ethers` since the Solana SDK does not support them in the same way.\n * These function definition is to have a type parity between the clients. Currently not in use.\n */\n async estimateGas() {\n return Promise.resolve({\n gas: BigInt(0)\n });\n }\n async sendTransaction() {\n return Promise.resolve({\n hash: ''\n });\n }\n walletGetAssets(_params) {\n return Promise.resolve({});\n }\n async writeContract() {\n return Promise.resolve({\n hash: ''\n });\n }\n parseUnits() {\n return 0n;\n }\n formatUnits() {\n return '0';\n }\n async getCapabilities() {\n return Promise.resolve({});\n }\n async grantPermissions() {\n return Promise.resolve({});\n }\n async revokePermissions() {\n return Promise.resolve('0x');\n }\n async syncConnection() {\n return Promise.resolve({\n id: 'WALLET_CONNECT',\n type: 'WALLET_CONNECT',\n chainId: 1,\n provider: this.provider,\n address: ''\n });\n }\n // eslint-disable-next-line @typescript-eslint/require-await\n async switchNetwork(params) {\n const { caipNetwork } = params;\n const connector = this.getWalletConnectConnector();\n if (caipNetwork.chainNamespace === ConstantsUtil.CHAIN.EVM) {\n try {\n await connector.provider?.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: toHex(caipNetwork.id) }]\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }\n catch (switchError) {\n if (switchError.code === WcConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === WcConstantsUtil.ERROR_INVALID_CHAIN_ID ||\n switchError.code === WcConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n WcConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n try {\n await connector.provider?.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: toHex(caipNetwork.id),\n rpcUrls: [caipNetwork?.rpcUrls['chainDefault']?.http],\n chainName: caipNetwork.name,\n nativeCurrency: caipNetwork.nativeCurrency,\n blockExplorerUrls: [caipNetwork.blockExplorers?.default.url]\n }\n ]\n });\n }\n catch (error) {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n connector.provider.setDefaultChain(caipNetwork.caipNetworkId);\n }\n getWalletConnectProvider() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n const provider = connector?.provider;\n return provider;\n }\n}\n//# sourceMappingURL=client.js.map","import { AlertController, ApiController, ConstantsUtil } from '@reown/appkit-controllers';\nconst FEATURE_KEYS = [\n 'email',\n 'socials',\n 'swaps',\n 'onramp',\n 'activity',\n 'reownBranding'\n];\nconst featureConfig = {\n email: {\n apiFeatureName: 'social_login',\n localFeatureName: 'email',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.includes('email');\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.email;\n }\n return Boolean(localValue);\n }\n },\n socials: {\n apiFeatureName: 'social_login',\n localFeatureName: 'socials',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.length > 0\n ? config.filter((s) => s !== 'email')\n : false;\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials;\n }\n if (typeof localValue === 'boolean') {\n return localValue ? ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials : false;\n }\n return localValue;\n }\n },\n swaps: {\n apiFeatureName: 'swap',\n localFeatureName: 'swaps',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.length > 0 ? config : false;\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps;\n }\n if (typeof localValue === 'boolean') {\n return localValue ? ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps : false;\n }\n return localValue;\n }\n },\n onramp: {\n apiFeatureName: 'onramp',\n localFeatureName: 'onramp',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.length > 0 ? config : false;\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp;\n }\n if (typeof localValue === 'boolean') {\n return localValue ? ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp : false;\n }\n return localValue;\n }\n },\n activity: {\n apiFeatureName: 'activity',\n localFeatureName: 'history',\n returnType: false,\n isLegacy: true,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => Boolean(apiConfig.isEnabled),\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.activity;\n }\n return Boolean(localValue);\n }\n },\n reownBranding: {\n apiFeatureName: 'reown_branding',\n localFeatureName: 'reownBranding',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => Boolean(apiConfig.isEnabled),\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.reownBranding;\n }\n return Boolean(localValue);\n }\n }\n};\nexport const ConfigUtil = {\n localSettingsOverridden: new Set(),\n getApiConfig(id, apiProjectConfig) {\n return apiProjectConfig?.find((f) => f.id === id);\n },\n addWarning(localFeatureValue, featureKey) {\n if (localFeatureValue !== undefined) {\n const config = featureConfig[featureKey];\n const warningName = config.isLegacy\n ? `\"features.${config.localFeatureName}\" (now \"${featureKey}\")`\n : `\"features.${featureKey}\"`;\n this.localSettingsOverridden.add(warningName);\n }\n },\n processFeature(featureKey, localFeatures, apiProjectConfig, useApi, isBasic) {\n const config = featureConfig[featureKey];\n const localValue = localFeatures[config.localFeatureName];\n if (isBasic && !config.isAvailableOnBasic) {\n return false;\n }\n if (useApi) {\n const apiConfig = this.getApiConfig(config.apiFeatureName, apiProjectConfig);\n if (apiConfig?.config === null) {\n return this.processFallbackFeature(featureKey, localValue);\n }\n if (!apiConfig?.config) {\n return false;\n }\n if (localValue !== undefined) {\n this.addWarning(localValue, featureKey);\n }\n return this.processApiFeature(featureKey, apiConfig);\n }\n return this.processFallbackFeature(featureKey, localValue);\n },\n processApiFeature(featureKey, apiConfig) {\n return featureConfig[featureKey].processApi(apiConfig);\n },\n processFallbackFeature(featureKey, localValue) {\n return featureConfig[featureKey].processFallback(localValue);\n },\n async fetchRemoteFeatures(config) {\n const isBasic = config.basic ?? false;\n const localFeatures = config.features || {};\n this.localSettingsOverridden.clear();\n let apiProjectConfig = null;\n let useApiConfig = false;\n try {\n apiProjectConfig = await ApiController.fetchProjectConfig();\n useApiConfig = apiProjectConfig !== null && apiProjectConfig !== undefined;\n }\n catch (e) {\n console.warn('[Reown Config] Failed to fetch remote project configuration. Using local/default values.', e);\n }\n const remoteFeaturesConfig = useApiConfig && !isBasic\n ? ConstantsUtil.DEFAULT_REMOTE_FEATURES\n : ConstantsUtil.DEFAULT_REMOTE_FEATURES_DISABLED;\n try {\n for (const featureKey of FEATURE_KEYS) {\n const result = this.processFeature(featureKey, localFeatures, apiProjectConfig, useApiConfig, isBasic);\n Object.assign(remoteFeaturesConfig, { [featureKey]: result });\n }\n }\n catch (e) {\n console.warn('[Reown Config] Failed to process the configuration from Cloud. Using default values.', e);\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES;\n }\n if (useApiConfig && this.localSettingsOverridden.size > 0) {\n const warningMessage = `Your local configuration for ${Array.from(this.localSettingsOverridden).join(', ')} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;\n AlertController.open({\n shortMessage: 'Local configuration ignored',\n longMessage: `[Reown Config Notice] ${warningMessage}`\n }, 'warning');\n }\n return remoteFeaturesConfig;\n }\n};\n//# sourceMappingURL=ConfigUtil.js.map","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil, NetworkUtil, ParseUtil } from '@reown/appkit-common';\nimport { AccountController, AlertController, ApiController, AssetUtil, BlockchainApiController, ChainController, ConnectionController, ConnectorController, ConstantsUtil as CoreConstantsUtil, CoreHelperUtil, EnsController, EventsController, ModalController, OnRampController, OptionsController, PublicStateController, RouterController, SIWXUtil, SendController, SnackController, StorageUtil, ThemeController } from '@reown/appkit-controllers';\nimport { getChainsToDisconnect } from '@reown/appkit-controllers/utils';\nimport { WalletUtil } from '@reown/appkit-scaffold-ui/utils';\nimport { setColorTheme, setThemeVariables } from '@reown/appkit-ui';\nimport { CaipNetworksUtil, ErrorUtil, HelpersUtil, LoggerUtil, ConstantsUtil as UtilConstantsUtil } from '@reown/appkit-utils';\nimport { ProviderUtil } from '@reown/appkit-utils';\nimport { UniversalAdapter } from '../universal-adapter/client.js';\nimport { ConfigUtil } from '../utils/ConfigUtil.js';\nimport { WcConstantsUtil, WcHelpersUtil } from '../utils/index.js';\nexport class AppKitBaseClient {\n constructor(options) {\n this.chainNamespaces = [];\n this.remoteFeatures = {};\n this.reportedAlertErrors = {};\n // -- Public Internal ---------------------------------------------------\n this.getCaipNetwork = (chainNamespace, id) => {\n if (chainNamespace) {\n const caipNetworkWithId = ChainController.getNetworkData(chainNamespace)?.requestedCaipNetworks?.find(c => c.id === id);\n if (caipNetworkWithId) {\n return caipNetworkWithId;\n }\n const namespaceCaipNetwork = ChainController.getNetworkData(chainNamespace)?.caipNetwork;\n if (namespaceCaipNetwork) {\n return namespaceCaipNetwork;\n }\n const requestedCaipNetworks = ChainController.getRequestedCaipNetworks(chainNamespace);\n return requestedCaipNetworks.filter(c => c.chainNamespace === chainNamespace)?.[0];\n }\n return ChainController.state.activeCaipNetwork || this.defaultCaipNetwork;\n };\n this.getCaipNetworkId = () => {\n const network = this.getCaipNetwork();\n if (network) {\n return network.id;\n }\n return undefined;\n };\n this.getCaipNetworks = (namespace) => ChainController.getCaipNetworks(namespace);\n this.getActiveChainNamespace = () => ChainController.state.activeChain;\n this.setRequestedCaipNetworks = (requestedCaipNetworks, chain) => {\n ChainController.setRequestedCaipNetworks(requestedCaipNetworks, chain);\n };\n this.getApprovedCaipNetworkIds = () => ChainController.getAllApprovedCaipNetworkIds();\n this.getCaipAddress = (chainNamespace) => {\n if (ChainController.state.activeChain === chainNamespace || !chainNamespace) {\n return ChainController.state.activeCaipAddress;\n }\n return ChainController.getAccountProp('caipAddress', chainNamespace);\n };\n this.setClientId = clientId => {\n BlockchainApiController.setClientId(clientId);\n };\n this.getProvider = (namespace) => ProviderUtil.getProvider(namespace);\n this.getProviderType = (namespace) => ProviderUtil.getProviderId(namespace);\n this.getPreferredAccountType = (namespace) => AccountController.state.preferredAccountTypes?.[namespace];\n this.setCaipAddress = (caipAddress, chain) => {\n AccountController.setCaipAddress(caipAddress, chain);\n /**\n * For the embedded use cases (Demo app), we should call close() when the user is connected to redirect them to Account View.\n */\n if (caipAddress && OptionsController.state.enableEmbedded) {\n this.close();\n }\n };\n this.setBalance = (balance, balanceSymbol, chain) => {\n AccountController.setBalance(balance, balanceSymbol, chain);\n };\n this.setProfileName = (profileName, chain) => {\n AccountController.setProfileName(profileName, chain);\n };\n this.setProfileImage = (profileImage, chain) => {\n AccountController.setProfileImage(profileImage, chain);\n };\n this.setUser = (user, chain) => {\n AccountController.setUser(user, chain);\n };\n this.resetAccount = (chain) => {\n AccountController.resetAccount(chain);\n };\n this.setCaipNetwork = caipNetwork => {\n ChainController.setActiveCaipNetwork(caipNetwork);\n };\n this.setCaipNetworkOfNamespace = (caipNetwork, chainNamespace) => {\n ChainController.setChainNetworkData(chainNamespace, { caipNetwork });\n };\n this.setAllAccounts = (addresses, chain) => {\n AccountController.setAllAccounts(addresses, chain);\n OptionsController.setHasMultipleAddresses(addresses?.length > 1);\n };\n this.setStatus = (status, chain) => {\n AccountController.setStatus(status, chain);\n // If at least one namespace is connected, set the connection status\n if (ConnectorController.isConnected()) {\n StorageUtil.setConnectionStatus('connected');\n }\n else {\n StorageUtil.setConnectionStatus('disconnected');\n }\n };\n this.getAddressByChainNamespace = (chainNamespace) => ChainController.getAccountProp('address', chainNamespace);\n this.setConnectors = connectors => {\n const allConnectors = [...ConnectorController.state.allConnectors, ...connectors];\n ConnectorController.setConnectors(allConnectors);\n };\n this.setConnections = (connections, chainNamespace) => {\n ConnectionController.setConnections(connections, chainNamespace);\n };\n this.fetchIdentity = request => BlockchainApiController.fetchIdentity(request);\n this.getReownName = address => EnsController.getNamesForAddress(address);\n this.getConnectors = () => ConnectorController.getConnectors();\n this.getConnectorImage = connector => AssetUtil.getConnectorImage(connector);\n this.setConnectedWalletInfo = (connectedWalletInfo, chain) => {\n const type = ProviderUtil.getProviderId(chain);\n const walletInfo = connectedWalletInfo ? { ...connectedWalletInfo, type } : undefined;\n AccountController.setConnectedWalletInfo(walletInfo, chain);\n };\n this.getIsConnectedState = () => Boolean(ChainController.state.activeCaipAddress);\n this.addAddressLabel = (address, label, chain) => {\n AccountController.addAddressLabel(address, label, chain);\n };\n this.removeAddressLabel = (address, chain) => {\n AccountController.removeAddressLabel(address, chain);\n };\n this.getAddress = (chainNamespace) => {\n if (ChainController.state.activeChain === chainNamespace || !chainNamespace) {\n return AccountController.state.address;\n }\n return ChainController.getAccountProp('address', chainNamespace);\n };\n this.setApprovedCaipNetworksData = namespace => ChainController.setApprovedCaipNetworksData(namespace);\n this.resetNetwork = (namespace) => {\n ChainController.resetNetwork(namespace);\n };\n this.addConnector = connector => {\n ConnectorController.addConnector(connector);\n };\n this.resetWcConnection = () => {\n ConnectionController.resetWcConnection();\n };\n this.setAddressExplorerUrl = (addressExplorerUrl, chain) => {\n AccountController.setAddressExplorerUrl(addressExplorerUrl, chain);\n };\n this.setSmartAccountDeployed = (isDeployed, chain) => {\n AccountController.setSmartAccountDeployed(isDeployed, chain);\n };\n this.setSmartAccountEnabledNetworks = (smartAccountEnabledNetworks, chain) => {\n ChainController.setSmartAccountEnabledNetworks(smartAccountEnabledNetworks, chain);\n };\n this.setPreferredAccountType = (preferredAccountType, chain) => {\n AccountController.setPreferredAccountType(preferredAccountType, chain);\n };\n this.setEIP6963Enabled = enabled => {\n OptionsController.setEIP6963Enabled(enabled);\n };\n this.handleUnsafeRPCRequest = () => {\n if (this.isOpen()) {\n // If we are on the modal but there is no transaction stack, close the modal\n if (this.isTransactionStackEmpty()) {\n return;\n }\n // Check if we need to replace or redirect\n this.redirect('ApproveTransaction');\n }\n else {\n // If called from outside the modal, open ApproveTransaction\n this.open({ view: 'ApproveTransaction' });\n }\n };\n this.options = options;\n this.version = options.sdkVersion;\n this.caipNetworks = this.extendCaipNetworks(options);\n this.chainNamespaces = this.getChainNamespacesSet(options.adapters, this.caipNetworks);\n this.defaultCaipNetwork = this.extendDefaultCaipNetwork(options);\n this.chainAdapters = this.createAdapters(options.adapters);\n this.readyPromise = this.initialize(options);\n }\n getChainNamespacesSet(adapters, caipNetworks) {\n const adapterNamespaces = adapters\n ?.map(adapter => adapter.namespace)\n .filter((namespace) => Boolean(namespace));\n if (adapterNamespaces?.length) {\n return [...new Set(adapterNamespaces)];\n }\n const networkNamespaces = caipNetworks?.map(network => network.chainNamespace);\n return [...new Set(networkNamespaces)];\n }\n async initialize(options) {\n this.initializeProjectSettings(options);\n this.initControllers(options);\n await this.initChainAdapters();\n this.sendInitializeEvent(options);\n await this.syncExistingConnection();\n this.remoteFeatures = await ConfigUtil.fetchRemoteFeatures(options);\n OptionsController.setRemoteFeatures(this.remoteFeatures);\n if (this.remoteFeatures.onramp) {\n OnRampController.setOnrampProviders(this.remoteFeatures.onramp);\n }\n // Check allowed origins only if email or social features are enabled\n if (OptionsController.state.remoteFeatures?.email ||\n (Array.isArray(OptionsController.state.remoteFeatures?.socials) &&\n OptionsController.state.remoteFeatures?.socials.length > 0)) {\n await this.checkAllowedOrigins();\n }\n }\n async checkAllowedOrigins() {\n const allowedOrigins = await ApiController.fetchAllowedOrigins();\n if (allowedOrigins && CoreHelperUtil.isClient()) {\n const currentOrigin = window.location.origin;\n const isOriginAllowed = WcHelpersUtil.isOriginAllowed(currentOrigin, allowedOrigins, WcConstantsUtil.DEFAULT_ALLOWED_ANCESTORS);\n if (!isOriginAllowed) {\n AlertController.open(ErrorUtil.ALERT_ERRORS.INVALID_APP_CONFIGURATION, 'error');\n }\n }\n else {\n AlertController.open(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED, 'error');\n }\n }\n sendInitializeEvent(options) {\n const { ...optionsCopy } = options;\n delete optionsCopy.adapters;\n delete optionsCopy.universalProvider;\n EventsController.sendEvent({\n type: 'track',\n event: 'INITIALIZE',\n properties: {\n ...optionsCopy,\n networks: options.networks.map(n => n.id),\n siweConfig: {\n options: options.siweConfig?.options || {}\n }\n }\n });\n }\n // -- Controllers initialization ---------------------------------------------------\n initControllers(options) {\n this.initializeOptionsController(options);\n this.initializeChainController(options);\n this.initializeThemeController(options);\n this.initializeConnectionController(options);\n this.initializeConnectorController();\n }\n initializeThemeController(options) {\n if (options.themeMode) {\n ThemeController.setThemeMode(options.themeMode);\n }\n if (options.themeVariables) {\n ThemeController.setThemeVariables(options.themeVariables);\n }\n }\n initializeChainController(options) {\n if (!this.connectionControllerClient || !this.networkControllerClient) {\n throw new Error('ConnectionControllerClient and NetworkControllerClient must be set');\n }\n ChainController.initialize(options.adapters ?? [], this.caipNetworks, {\n connectionControllerClient: this.connectionControllerClient,\n networkControllerClient: this.networkControllerClient\n });\n const network = this.getDefaultNetwork();\n if (network) {\n ChainController.setActiveCaipNetwork(network);\n }\n }\n initializeConnectionController(options) {\n ConnectionController.setWcBasic(options.basic ?? false);\n }\n initializeConnectorController() {\n ConnectorController.initialize(this.chainNamespaces);\n }\n initializeProjectSettings(options) {\n OptionsController.setProjectId(options.projectId);\n OptionsController.setSdkVersion(options.sdkVersion);\n }\n initializeOptionsController(options) {\n OptionsController.setDebug(options.debug !== false);\n // On by default\n OptionsController.setEnableWalletConnect(options.enableWalletConnect !== false);\n OptionsController.setEnableWalletGuide(options.enableWalletGuide !== false);\n OptionsController.setEnableWallets(options.enableWallets !== false);\n OptionsController.setEIP6963Enabled(options.enableEIP6963 !== false);\n OptionsController.setEnableNetworkSwitch(options.enableNetworkSwitch !== false);\n OptionsController.setEnableAuthLogger(options.enableAuthLogger !== false);\n OptionsController.setCustomRpcUrls(options.customRpcUrls);\n OptionsController.setEnableEmbedded(options.enableEmbedded);\n OptionsController.setAllWallets(options.allWallets);\n OptionsController.setIncludeWalletIds(options.includeWalletIds);\n OptionsController.setExcludeWalletIds(options.excludeWalletIds);\n OptionsController.setFeaturedWalletIds(options.featuredWalletIds);\n OptionsController.setTokens(options.tokens);\n OptionsController.setTermsConditionsUrl(options.termsConditionsUrl);\n OptionsController.setPrivacyPolicyUrl(options.privacyPolicyUrl);\n OptionsController.setCustomWallets(options.customWallets);\n OptionsController.setFeatures(options.features);\n OptionsController.setAllowUnsupportedChain(options.allowUnsupportedChain);\n OptionsController.setUniversalProviderConfigOverride(options.universalProviderConfigOverride);\n OptionsController.setPreferUniversalLinks(options.experimental_preferUniversalLinks);\n // Save option in controller\n OptionsController.setDefaultAccountTypes(options.defaultAccountTypes);\n // Get stored account types\n const storedAccountTypes = StorageUtil.getPreferredAccountTypes() || {};\n const defaultTypes = { ...OptionsController.state.defaultAccountTypes, ...storedAccountTypes };\n AccountController.setPreferredAccountTypes(defaultTypes);\n const defaultMetaData = this.getDefaultMetaData();\n if (!options.metadata && defaultMetaData) {\n options.metadata = defaultMetaData;\n }\n OptionsController.setMetadata(options.metadata);\n OptionsController.setDisableAppend(options.disableAppend);\n OptionsController.setEnableEmbedded(options.enableEmbedded);\n OptionsController.setSIWX(options.siwx);\n if (!options.projectId) {\n AlertController.open(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED, 'error');\n return;\n }\n const evmAdapter = options.adapters?.find(adapter => adapter.namespace === ConstantsUtil.CHAIN.EVM);\n // Set the SIWE client for EVM chains\n if (evmAdapter) {\n if (options.siweConfig) {\n if (options.siwx) {\n throw new Error('Cannot set both `siweConfig` and `siwx` options');\n }\n OptionsController.setSIWX(options.siweConfig.mapToSIWX());\n }\n }\n }\n getDefaultMetaData() {\n if (CoreHelperUtil.isClient()) {\n return {\n name: document.getElementsByTagName('title')?.[0]?.textContent || '',\n description: document.querySelector('meta[property=\"og:description\"]')?.content || '',\n url: window.location.origin,\n icons: [document.querySelector('link[rel~=\"icon\"]')?.href || '']\n };\n }\n return null;\n }\n // -- Network Initialization ---------------------------------------------------\n setUnsupportedNetwork(chainId) {\n const namespace = this.getActiveChainNamespace();\n if (namespace) {\n const unsupportedNetwork = CaipNetworksUtil.getUnsupportedNetwork(`${namespace}:${chainId}`);\n ChainController.setActiveCaipNetwork(unsupportedNetwork);\n }\n }\n getDefaultNetwork() {\n return CaipNetworksUtil.getCaipNetworkFromStorage(this.defaultCaipNetwork);\n }\n extendCaipNetwork(network, options) {\n const extendedNetwork = CaipNetworksUtil.extendCaipNetwork(network, {\n customNetworkImageUrls: options.chainImages,\n projectId: options.projectId\n });\n return extendedNetwork;\n }\n extendCaipNetworks(options) {\n const extendedNetworks = CaipNetworksUtil.extendCaipNetworks(options.networks, {\n customNetworkImageUrls: options.chainImages,\n customRpcUrls: options.customRpcUrls,\n projectId: options.projectId\n });\n return extendedNetworks;\n }\n extendDefaultCaipNetwork(options) {\n const defaultNetwork = options.networks.find(n => n.id === options.defaultNetwork?.id);\n const extendedNetwork = defaultNetwork\n ? CaipNetworksUtil.extendCaipNetwork(defaultNetwork, {\n customNetworkImageUrls: options.chainImages,\n customRpcUrls: options.customRpcUrls,\n projectId: options.projectId\n })\n : undefined;\n return extendedNetwork;\n }\n async disconnectNamespace(namespace) {\n try {\n const adapter = this.getAdapter(namespace);\n const provider = ProviderUtil.getProvider(namespace);\n const providerType = ProviderUtil.getProviderId(namespace);\n const { caipAddress } = ChainController.getAccountData(namespace) || {};\n this.setLoading(true, namespace);\n if (caipAddress && adapter?.disconnect) {\n await adapter.disconnect({ provider, providerType });\n }\n StorageUtil.removeConnectedNamespace(namespace);\n ProviderUtil.resetChain(namespace);\n this.setUser(undefined, namespace);\n this.setStatus('disconnected', namespace);\n this.setConnectedWalletInfo(undefined, namespace);\n ConnectorController.removeConnectorId(namespace);\n ChainController.resetAccount(namespace);\n ChainController.resetNetwork(namespace);\n this.setLoading(false, namespace);\n }\n catch (error) {\n this.setLoading(false, namespace);\n throw new Error(`Failed to disconnect chain ${namespace}: ${error.message}`);\n }\n }\n // -- Client Initialization ---------------------------------------------------\n createClients() {\n this.connectionControllerClient = {\n connectWalletConnect: async () => {\n const activeChain = ChainController.state.activeChain;\n const adapter = this.getAdapter(activeChain);\n const chainId = this.getCaipNetwork(activeChain)?.id;\n if (!adapter) {\n throw new Error('Adapter not found');\n }\n const result = await adapter.connectWalletConnect(chainId);\n this.close();\n this.setClientId(result?.clientId || null);\n StorageUtil.setConnectedNamespaces([...ChainController.state.chains.keys()]);\n this.chainNamespaces.forEach(namespace => {\n ConnectorController.setConnectorId(UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT, namespace);\n });\n await this.syncWalletConnectAccount();\n },\n connectExternal: async ({ id, info, type, provider, chain, caipNetwork, socialUri }) => {\n const activeChain = ChainController.state.activeChain;\n const chainToUse = chain || activeChain;\n const adapter = this.getAdapter(chainToUse);\n if (chain && chain !== activeChain && !caipNetwork) {\n const toConnectNetwork = this.getCaipNetworks().find(network => network.chainNamespace === chain);\n if (toConnectNetwork) {\n this.setCaipNetwork(toConnectNetwork);\n }\n }\n if (!adapter) {\n throw new Error('Adapter not found');\n }\n const fallbackCaipNetwork = this.getCaipNetwork(chainToUse);\n const res = await adapter.connect({\n id,\n info,\n type,\n provider,\n socialUri,\n chainId: caipNetwork?.id || fallbackCaipNetwork?.id,\n rpcUrl: caipNetwork?.rpcUrls?.default?.http?.[0] ||\n fallbackCaipNetwork?.rpcUrls?.default?.http?.[0]\n });\n if (!res) {\n return;\n }\n StorageUtil.addConnectedNamespace(chainToUse);\n this.syncProvider({ ...res, chainNamespace: chainToUse });\n /*\n * SyncAllAccounts already set the accounts in the state\n * and its more efficient to use the stored accounts rather than fetching them again\n */\n const syncedAccounts = AccountController.state.allAccounts;\n const { accounts } = syncedAccounts?.length > 0\n ? // eslint-disable-next-line line-comment-position\n // Using new array else the accounts will have the same reference and react will not re-render\n { accounts: [...syncedAccounts] }\n : await adapter.getAccounts({ namespace: chainToUse, id });\n this.setAllAccounts(accounts, chainToUse);\n this.setStatus('connected', chainToUse);\n this.syncConnectedWalletInfo(chainToUse);\n },\n reconnectExternal: async ({ id, info, type, provider }) => {\n const namespace = ChainController.state.activeChain;\n const adapter = this.getAdapter(namespace);\n if (adapter?.reconnect) {\n await adapter?.reconnect({ id, info, type, provider, chainId: this.getCaipNetwork()?.id });\n StorageUtil.addConnectedNamespace(namespace);\n this.syncConnectedWalletInfo(namespace);\n }\n },\n disconnect: async (chainNamespace) => {\n const chainsToDisconnect = getChainsToDisconnect(chainNamespace);\n try {\n // Reset send state when disconnecting\n const disconnectResults = await Promise.allSettled(chainsToDisconnect.map(async ([ns]) => this.disconnectNamespace(ns)));\n SendController.resetSend();\n ConnectionController.resetWcConnection();\n await SIWXUtil.clearSessions();\n ConnectorController.setFilterByNamespace(undefined);\n const failures = disconnectResults.filter((result) => result.status === 'rejected');\n if (failures.length > 0) {\n throw new Error(failures.map(f => f.reason.message).join(', '));\n }\n StorageUtil.deleteConnectedSocialProvider();\n EventsController.sendEvent({\n type: 'track',\n event: 'DISCONNECT_SUCCESS',\n properties: {\n namespace: chainNamespace || 'all'\n }\n });\n }\n catch (error) {\n throw new Error(`Failed to disconnect chains: ${error.message}`);\n }\n },\n checkInstalled: (ids) => {\n if (!ids) {\n return Boolean(window.ethereum);\n }\n return ids.some(id => Boolean(window.ethereum?.[String(id)]));\n },\n signMessage: async (message) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const result = await adapter?.signMessage({\n message,\n address: AccountController.state.address,\n provider: ProviderUtil.getProvider(ChainController.state.activeChain)\n });\n return result?.signature || '';\n },\n sendTransaction: async (args) => {\n const namespace = args.chainNamespace;\n if (CoreConstantsUtil.SEND_SUPPORTED_NAMESPACES.includes(namespace)) {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const provider = ProviderUtil.getProvider(namespace);\n const result = await adapter?.sendTransaction({\n ...args,\n caipNetwork: this.getCaipNetwork(),\n provider\n });\n return result?.hash || '';\n }\n return '';\n },\n estimateGas: async (args) => {\n if (args.chainNamespace === ConstantsUtil.CHAIN.EVM) {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const provider = ProviderUtil.getProvider(ChainController.state.activeChain);\n const caipNetwork = this.getCaipNetwork();\n if (!caipNetwork) {\n throw new Error('CaipNetwork is undefined');\n }\n const result = await adapter?.estimateGas({\n ...args,\n provider,\n caipNetwork\n });\n return result?.gas || 0n;\n }\n return 0n;\n },\n getEnsAvatar: async () => {\n await this.syncIdentity({\n address: AccountController.state.address,\n chainId: Number(this.getCaipNetwork()?.id),\n chainNamespace: ChainController.state.activeChain\n });\n return AccountController.state.profileImage || false;\n },\n getEnsAddress: async (name) => await WcHelpersUtil.resolveReownName(name),\n writeContract: async (args) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const caipNetwork = this.getCaipNetwork();\n const caipAddress = this.getCaipAddress();\n const provider = ProviderUtil.getProvider(ChainController.state.activeChain);\n if (!caipNetwork || !caipAddress) {\n throw new Error('CaipNetwork or CaipAddress is undefined');\n }\n const result = await adapter?.writeContract({ ...args, caipNetwork, provider, caipAddress });\n return result?.hash;\n },\n parseUnits: (value, decimals) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return adapter?.parseUnits({ value, decimals }) ?? 0n;\n },\n formatUnits: (value, decimals) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return adapter?.formatUnits({ value, decimals }) ?? '0';\n },\n getCapabilities: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return await adapter?.getCapabilities(params);\n },\n grantPermissions: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return await adapter?.grantPermissions(params);\n },\n revokePermissions: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n if (adapter?.revokePermissions) {\n return await adapter.revokePermissions(params);\n }\n return '0x';\n },\n walletGetAssets: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return (await adapter?.walletGetAssets(params)) ?? {};\n },\n updateBalance: (namespace) => {\n const caipNetwork = this.getCaipNetwork(namespace);\n if (!caipNetwork || !AccountController.state.address) {\n return;\n }\n this.updateNativeBalance(AccountController.state.address, caipNetwork?.id, namespace);\n }\n };\n this.networkControllerClient = {\n switchCaipNetwork: async (caipNetwork) => await this.switchCaipNetwork(caipNetwork),\n // eslint-disable-next-line @typescript-eslint/require-await\n getApprovedCaipNetworksData: async () => this.getApprovedCaipNetworksData()\n };\n ConnectionController.setClient(this.connectionControllerClient);\n }\n getApprovedCaipNetworksData() {\n const providerType = ProviderUtil.getProviderId(ChainController.state.activeChain);\n if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT) {\n const namespaces = this.universalProvider?.session?.namespaces;\n return {\n /*\n * MetaMask Wallet only returns 1 namespace in the session object. This makes it imposible\n * to switch to other networks. Setting supportsAllNetworks to true for MetaMask Wallet\n * will make it possible to switch to other networks.\n */\n supportsAllNetworks: this.universalProvider?.session?.peer?.metadata.name === 'MetaMask Wallet',\n approvedCaipNetworkIds: this.getChainsFromNamespaces(namespaces)\n };\n }\n return { supportsAllNetworks: true, approvedCaipNetworkIds: [] };\n }\n async switchCaipNetwork(caipNetwork) {\n if (!caipNetwork) {\n return;\n }\n const networkNamespace = caipNetwork.chainNamespace;\n const namespaceAddress = this.getAddressByChainNamespace(caipNetwork.chainNamespace);\n if (namespaceAddress) {\n const provider = ProviderUtil.getProvider(networkNamespace);\n const providerType = ProviderUtil.getProviderId(networkNamespace);\n if (caipNetwork.chainNamespace === ChainController.state.activeChain) {\n const adapter = this.getAdapter(networkNamespace);\n await adapter?.switchNetwork({ caipNetwork, provider, providerType });\n }\n else {\n this.setCaipNetwork(caipNetwork);\n if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT) {\n this.syncWalletConnectAccount();\n }\n else {\n const address = this.getAddressByChainNamespace(networkNamespace);\n if (address) {\n this.syncAccount({\n address,\n chainId: caipNetwork.id,\n chainNamespace: networkNamespace\n });\n }\n }\n }\n }\n else {\n this.setCaipNetwork(caipNetwork);\n }\n }\n getChainsFromNamespaces(namespaces = {}) {\n return Object.values(namespaces).flatMap((namespace) => {\n const chains = (namespace.chains || []);\n const accountsChains = namespace.accounts.map(account => {\n const { chainId, chainNamespace } = ParseUtil.parseCaipAddress(account);\n return `${chainNamespace}:${chainId}`;\n });\n return Array.from(new Set([...chains, ...accountsChains]));\n });\n }\n // -- Adapter Initialization ---------------------------------------------------\n createAdapters(blueprints) {\n this.createClients();\n return this.chainNamespaces.reduce((adapters, namespace) => {\n const blueprint = blueprints?.find(b => b.namespace === namespace);\n if (blueprint) {\n blueprint.construct({\n namespace,\n projectId: this.options?.projectId,\n networks: this.getCaipNetworks()\n });\n adapters[namespace] = blueprint;\n }\n else {\n adapters[namespace] = new UniversalAdapter({\n namespace: namespace,\n networks: this.getCaipNetworks()\n });\n }\n return adapters;\n // eslint-disable-next-line @typescript-eslint/prefer-reduce-type-parameter\n }, {});\n }\n async initChainAdapter(namespace) {\n this.onConnectors(namespace);\n this.listenAdapter(namespace);\n await this.chainAdapters?.[namespace].syncConnectors(this.options, this);\n await this.createUniversalProviderForAdapter(namespace);\n }\n async initChainAdapters() {\n await Promise.all(this.chainNamespaces.map(async (namespace) => {\n await this.initChainAdapter(namespace);\n }));\n }\n onConnectors(chainNamespace) {\n const adapter = this.getAdapter(chainNamespace);\n adapter?.on('connectors', this.setConnectors.bind(this));\n }\n listenAdapter(chainNamespace) {\n const adapter = this.getAdapter(chainNamespace);\n if (!adapter) {\n return;\n }\n const connectionStatus = StorageUtil.getConnectionStatus();\n if (connectionStatus === 'connected') {\n this.setStatus('connecting', chainNamespace);\n }\n else if (connectionStatus === 'disconnected') {\n /*\n * Address cache is kept after disconnecting from the wallet\n * but should be cleared if appkit is launched in disconnected state\n */\n StorageUtil.clearAddressCache();\n this.setStatus(connectionStatus, chainNamespace);\n }\n else {\n this.setStatus(connectionStatus, chainNamespace);\n }\n adapter.on('switchNetwork', ({ address, chainId }) => {\n const caipNetwork = this.getCaipNetworks().find(n => n.id === chainId || n.caipNetworkId === chainId);\n const isSameNamespace = ChainController.state.activeChain === chainNamespace;\n const accountAddress = ChainController.getAccountProp('address', chainNamespace);\n if (caipNetwork) {\n const account = isSameNamespace && address ? address : accountAddress;\n if (account) {\n this.syncAccount({ address: account, chainId: caipNetwork.id, chainNamespace });\n }\n }\n else {\n this.setUnsupportedNetwork(chainId);\n }\n });\n adapter.on('disconnect', this.disconnect.bind(this, chainNamespace));\n adapter.on('connections', connections => {\n this.setConnections(connections, chainNamespace);\n });\n adapter.on('pendingTransactions', () => {\n const address = AccountController.state.address;\n const activeCaipNetwork = ChainController.state.activeCaipNetwork;\n if (!address || !activeCaipNetwork?.id) {\n return;\n }\n this.updateNativeBalance(address, activeCaipNetwork.id, activeCaipNetwork.chainNamespace);\n });\n adapter.on('accountChanged', ({ address, chainId }) => {\n const isActiveChain = ChainController.state.activeChain === chainNamespace;\n if (isActiveChain && chainId) {\n this.syncAccount({\n address,\n chainId,\n chainNamespace\n });\n }\n else if (isActiveChain && ChainController.state.activeCaipNetwork?.id) {\n this.syncAccount({\n address,\n chainId: ChainController.state.activeCaipNetwork?.id,\n chainNamespace\n });\n }\n else {\n this.syncAccountInfo(address, chainId, chainNamespace);\n }\n this.syncAllAccounts(chainNamespace);\n });\n }\n async createUniversalProviderForAdapter(chainNamespace) {\n await this.getUniversalProvider();\n if (this.universalProvider) {\n this.chainAdapters?.[chainNamespace]?.setUniversalProvider?.(this.universalProvider);\n }\n }\n // -- Connection Sync ---------------------------------------------------\n async syncExistingConnection() {\n await Promise.allSettled(this.chainNamespaces.map(namespace => this.syncNamespaceConnection(namespace)));\n }\n async syncNamespaceConnection(namespace) {\n try {\n if (namespace === ConstantsUtil.CHAIN.EVM && CoreHelperUtil.isSafeApp()) {\n ConnectorController.setConnectorId(ConstantsUtil.CONNECTOR_ID.SAFE, namespace);\n }\n const connectorId = ConnectorController.getConnectorId(namespace);\n this.setStatus('connecting', namespace);\n switch (connectorId) {\n case ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT:\n await this.syncWalletConnectAccount();\n break;\n case ConstantsUtil.CONNECTOR_ID.AUTH:\n // Handled during initialization of adapters' auth provider\n break;\n default:\n await this.syncAdapterConnection(namespace);\n }\n }\n catch (err) {\n console.warn(\"AppKit couldn't sync existing connection\", err);\n this.setStatus('disconnected', namespace);\n }\n }\n async syncAdapterConnection(namespace) {\n const adapter = this.getAdapter(namespace);\n const connectorId = ConnectorController.getConnectorId(namespace);\n const caipNetwork = this.getCaipNetwork(namespace);\n const connectors = ConnectorController.getConnectors(namespace);\n const connector = connectors.find(c => c.id === connectorId);\n try {\n if (!adapter || !connector) {\n throw new Error(`Adapter or connector not found for namespace ${namespace}`);\n }\n if (!caipNetwork?.id) {\n throw new Error('CaipNetwork not found');\n }\n const connection = await adapter?.syncConnection({\n namespace,\n id: connector.id,\n chainId: caipNetwork.id,\n rpcUrl: caipNetwork?.rpcUrls?.default?.http?.[0]\n });\n if (connection) {\n const accounts = await adapter?.getAccounts({\n namespace,\n id: connector.id\n });\n if (accounts && accounts.accounts.length > 0) {\n this.setAllAccounts(accounts.accounts, namespace);\n }\n else {\n this.setAllAccounts([CoreHelperUtil.createAccount(namespace, connection.address, 'eoa')], namespace);\n }\n this.syncProvider({ ...connection, chainNamespace: namespace });\n await this.syncAccount({ ...connection, chainNamespace: namespace });\n this.setStatus('connected', namespace);\n }\n else {\n this.setStatus('disconnected', namespace);\n }\n }\n catch (e) {\n this.setStatus('disconnected', namespace);\n }\n }\n async syncWalletConnectAccount() {\n const syncTasks = this.chainNamespaces.map(async (chainNamespace) => {\n const adapter = this.getAdapter(chainNamespace);\n const namespaceAccounts = this.universalProvider?.session?.namespaces?.[chainNamespace]?.accounts || [];\n // We try and find the address for this network in the session object.\n const activeChainId = ChainController.state.activeCaipNetwork?.id;\n const sessionAddress = namespaceAccounts.find(account => {\n const { chainId } = ParseUtil.parseCaipAddress(account);\n return chainId === activeChainId?.toString();\n }) || namespaceAccounts[0];\n if (sessionAddress) {\n const caipAddress = ParseUtil.validateCaipAddress(sessionAddress);\n const { chainId, address } = ParseUtil.parseCaipAddress(caipAddress);\n ProviderUtil.setProviderId(chainNamespace, UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT);\n if (this.caipNetworks &&\n ChainController.state.activeCaipNetwork &&\n adapter?.namespace !== ConstantsUtil.CHAIN.EVM) {\n const provider = adapter?.getWalletConnectProvider({\n caipNetworks: this.getCaipNetworks(),\n provider: this.universalProvider,\n activeCaipNetwork: ChainController.state.activeCaipNetwork\n });\n ProviderUtil.setProvider(chainNamespace, provider);\n }\n else {\n ProviderUtil.setProvider(chainNamespace, this.universalProvider);\n }\n ConnectorController.setConnectorId(ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT, chainNamespace);\n StorageUtil.addConnectedNamespace(chainNamespace);\n this.syncWalletConnectAccounts(chainNamespace);\n await this.syncAccount({\n address,\n chainId,\n chainNamespace\n });\n }\n else {\n this.setStatus('disconnected', chainNamespace);\n }\n this.syncConnectedWalletInfo(chainNamespace);\n await ChainController.setApprovedCaipNetworksData(chainNamespace);\n });\n await Promise.all(syncTasks);\n }\n syncWalletConnectAccounts(chainNamespace) {\n const addresses = this.universalProvider?.session?.namespaces?.[chainNamespace]?.accounts\n ?.map(account => {\n const { address } = ParseUtil.parseCaipAddress(account);\n return address;\n })\n .filter((address, index, self) => self.indexOf(address) === index);\n if (addresses) {\n this.setAllAccounts(addresses.map(address => CoreHelperUtil.createAccount(chainNamespace, address, chainNamespace === 'bip122' ? 'payment' : 'eoa')), chainNamespace);\n }\n }\n syncProvider({ type, provider, id, chainNamespace }) {\n ProviderUtil.setProviderId(chainNamespace, type);\n ProviderUtil.setProvider(chainNamespace, provider);\n ConnectorController.setConnectorId(id, chainNamespace);\n }\n async syncAllAccounts(namespace) {\n const connectorId = ConnectorController.getConnectorId(namespace);\n if (!connectorId) {\n return;\n }\n const adapter = this.getAdapter(namespace);\n const accounts = await adapter?.getAccounts({ namespace, id: connectorId });\n if (accounts && accounts.accounts.length > 0) {\n this.setAllAccounts(accounts.accounts, namespace);\n }\n }\n async syncAccount(params) {\n const isActiveNamespace = params.chainNamespace === ChainController.state.activeChain;\n const networkOfChain = ChainController.getCaipNetworkByNamespace(params.chainNamespace, params.chainId);\n const { address, chainId, chainNamespace } = params;\n const { chainId: activeChainId } = StorageUtil.getActiveNetworkProps();\n const chainIdToUse = chainId || activeChainId;\n const isUnsupportedNetwork = ChainController.state.activeCaipNetwork?.name === ConstantsUtil.UNSUPPORTED_NETWORK_NAME;\n const shouldSupportAllNetworks = ChainController.getNetworkProp('supportsAllNetworks', chainNamespace);\n this.setStatus('connected', chainNamespace);\n if (isUnsupportedNetwork && !shouldSupportAllNetworks) {\n return;\n }\n if (chainIdToUse) {\n let caipNetwork = this.getCaipNetworks().find(n => n.id.toString() === chainIdToUse.toString());\n let fallbackCaipNetwork = this.getCaipNetworks().find(n => n.chainNamespace === chainNamespace);\n // If doesn't support all networks, we need to use approved networks\n if (!shouldSupportAllNetworks && !caipNetwork && !fallbackCaipNetwork) {\n // Connection can be requested for a chain that is not supported by the wallet so we need to use approved networks here\n const caipNetworkIds = this.getApprovedCaipNetworkIds() || [];\n const caipNetworkId = caipNetworkIds.find(id => ParseUtil.parseCaipNetworkId(id)?.chainId === chainIdToUse.toString());\n const fallBackCaipNetworkId = caipNetworkIds.find(id => ParseUtil.parseCaipNetworkId(id)?.chainNamespace === chainNamespace);\n caipNetwork = this.getCaipNetworks().find(n => n.caipNetworkId === caipNetworkId);\n fallbackCaipNetwork = this.getCaipNetworks().find(n => n.caipNetworkId === fallBackCaipNetworkId ||\n // This is a workaround used in Solana network to support deprecated caipNetworkId\n ('deprecatedCaipNetworkId' in n && n.deprecatedCaipNetworkId === fallBackCaipNetworkId));\n }\n const network = caipNetwork || fallbackCaipNetwork;\n if (network?.chainNamespace === ChainController.state.activeChain) {\n // If the network is unsupported and the user doesn't allow unsupported chains, we show the unsupported chain UI\n if (OptionsController.state.enableNetworkSwitch &&\n !OptionsController.state.allowUnsupportedChain &&\n ChainController.state.activeCaipNetwork?.name === ConstantsUtil.UNSUPPORTED_NETWORK_NAME) {\n ChainController.showUnsupportedChainUI();\n }\n else {\n this.setCaipNetwork(network);\n }\n }\n else if (!isActiveNamespace) {\n if (networkOfChain) {\n this.setCaipNetworkOfNamespace(networkOfChain, chainNamespace);\n }\n }\n this.syncConnectedWalletInfo(chainNamespace);\n if (!HelpersUtil.isLowerCaseMatch(address, AccountController.state.address)) {\n this.syncAccountInfo(address, network?.id, chainNamespace);\n }\n if (isActiveNamespace) {\n await this.syncBalance({ address, chainId: network?.id, chainNamespace });\n }\n else {\n await this.syncBalance({ address, chainId: networkOfChain?.id, chainNamespace });\n }\n }\n }\n async syncAccountInfo(address, chainId, chainNamespace) {\n const caipAddress = this.getCaipAddress(chainNamespace);\n const newChainId = chainId || caipAddress?.split(':')[1];\n if (!newChainId) {\n return;\n }\n const newCaipAddress = `${chainNamespace}:${newChainId}:${address}`;\n this.setCaipAddress(newCaipAddress, chainNamespace);\n await this.syncIdentity({\n address,\n chainId: newChainId,\n chainNamespace\n });\n }\n async syncReownName(address, chainNamespace) {\n try {\n const registeredWcNames = await this.getReownName(address);\n if (registeredWcNames[0]) {\n const wcName = registeredWcNames[0];\n this.setProfileName(wcName.name, chainNamespace);\n }\n else {\n this.setProfileName(null, chainNamespace);\n }\n }\n catch {\n this.setProfileName(null, chainNamespace);\n }\n }\n syncConnectedWalletInfo(chainNamespace) {\n const connectorId = ConnectorController.getConnectorId(chainNamespace);\n const providerType = ProviderUtil.getProviderId(chainNamespace);\n if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_ANNOUNCED ||\n providerType === UtilConstantsUtil.CONNECTOR_TYPE_INJECTED) {\n if (connectorId) {\n const connector = this.getConnectors().find(c => c.id === connectorId);\n if (connector) {\n const { info, name, imageUrl } = connector;\n const icon = imageUrl || this.getConnectorImage(connector);\n this.setConnectedWalletInfo({ name, icon, ...info }, chainNamespace);\n }\n }\n }\n else if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT) {\n const provider = ProviderUtil.getProvider(chainNamespace);\n if (provider?.session) {\n this.setConnectedWalletInfo({\n ...provider.session.peer.metadata,\n name: provider.session.peer.metadata.name,\n icon: provider.session.peer.metadata.icons?.[0]\n }, chainNamespace);\n }\n }\n else if (connectorId) {\n if (connectorId === ConstantsUtil.CONNECTOR_ID.COINBASE) {\n const connector = this.getConnectors().find(c => c.id === ConstantsUtil.CONNECTOR_ID.COINBASE);\n this.setConnectedWalletInfo({ name: 'Coinbase Wallet', icon: this.getConnectorImage(connector) }, chainNamespace);\n }\n }\n }\n async syncBalance(params) {\n const caipNetwork = NetworkUtil.getNetworksByNamespace(this.getCaipNetworks(), params.chainNamespace).find(n => n.id.toString() === params.chainId?.toString());\n if (!caipNetwork || !params.chainId) {\n return;\n }\n await this.updateNativeBalance(params.address, params.chainId, params.chainNamespace);\n }\n async ready() {\n await this.readyPromise;\n }\n async updateNativeBalance(address, chainId, namespace) {\n const adapter = this.getAdapter(namespace);\n const caipNetwork = ChainController.getCaipNetworkByNamespace(namespace, chainId);\n if (adapter) {\n const balance = await adapter.getBalance({\n address,\n chainId,\n caipNetwork,\n tokens: this.options.tokens\n });\n this.setBalance(balance.balance, balance.symbol, namespace);\n return balance;\n }\n return undefined;\n }\n // -- Universal Provider ---------------------------------------------------\n async initializeUniversalAdapter() {\n const logger = LoggerUtil.createLogger((error, ...args) => {\n if (error) {\n this.handleAlertError(error);\n }\n // eslint-disable-next-line no-console\n console.error(...args);\n });\n const universalProviderOptions = {\n projectId: this.options?.projectId,\n metadata: {\n name: this.options?.metadata ? this.options?.metadata.name : '',\n description: this.options?.metadata ? this.options?.metadata.description : '',\n url: this.options?.metadata ? this.options?.metadata.url : '',\n icons: this.options?.metadata ? this.options?.metadata.icons : ['']\n },\n logger\n };\n OptionsController.setManualWCControl(Boolean(this.options?.manualWCControl));\n this.universalProvider =\n this.options.universalProvider ?? (await UniversalProvider.init(universalProviderOptions));\n this.listenWalletConnect();\n }\n listenWalletConnect() {\n if (this.universalProvider) {\n this.universalProvider.on('display_uri', (uri) => {\n ConnectionController.setUri(uri);\n });\n this.universalProvider.on('connect', ConnectionController.finalizeWcConnection);\n this.universalProvider.on('disconnect', () => {\n this.chainNamespaces.forEach(namespace => {\n this.resetAccount(namespace);\n });\n ConnectionController.resetWcConnection();\n });\n this.universalProvider.on('chainChanged', (chainId) => {\n // eslint-disable-next-line eqeqeq\n const caipNetwork = this.getCaipNetworks().find(c => c.id == chainId);\n const currentCaipNetwork = this.getCaipNetwork();\n if (!caipNetwork) {\n this.setUnsupportedNetwork(chainId);\n return;\n }\n if (currentCaipNetwork?.id !== caipNetwork?.id) {\n this.setCaipNetwork(caipNetwork);\n }\n });\n this.universalProvider.on('session_event', (callbackData) => {\n if (WcHelpersUtil.isSessionEventData(callbackData)) {\n const { name, data } = callbackData.params.event;\n if (name === 'accountsChanged' &&\n Array.isArray(data) &&\n CoreHelperUtil.isCaipAddress(data[0])) {\n this.syncAccount(ParseUtil.parseCaipAddress(data[0]));\n }\n }\n });\n }\n }\n createUniversalProvider() {\n if (!this.universalProviderInitPromise &&\n CoreHelperUtil.isClient() &&\n this.options?.projectId) {\n this.universalProviderInitPromise = this.initializeUniversalAdapter();\n }\n return this.universalProviderInitPromise;\n }\n async getUniversalProvider() {\n if (!this.universalProvider) {\n try {\n await this.createUniversalProvider();\n }\n catch (err) {\n EventsController.sendEvent({\n type: 'error',\n event: 'INTERNAL_SDK_ERROR',\n properties: {\n errorType: 'UniversalProviderInitError',\n errorMessage: err instanceof Error ? err.message : 'Unknown',\n uncaught: false\n }\n });\n // eslint-disable-next-line no-console\n console.error('AppKit:getUniversalProvider - Cannot create provider', err);\n }\n }\n return this.universalProvider;\n }\n // - Utils -------------------------------------------------------------------\n handleAlertError(error) {\n const matchedUniversalProviderError = Object.entries(ErrorUtil.UniversalProviderErrors).find(([, { message }]) => error.message.includes(message));\n const [errorKey, errorValue] = matchedUniversalProviderError ?? [];\n const { message, alertErrorKey } = errorValue ?? {};\n if (errorKey && message && !this.reportedAlertErrors[errorKey]) {\n const alertError = ErrorUtil.ALERT_ERRORS[alertErrorKey];\n if (alertError) {\n AlertController.open(alertError, 'error');\n this.reportedAlertErrors[errorKey] = true;\n }\n }\n }\n getAdapter(namespace) {\n if (!namespace) {\n return undefined;\n }\n return this.chainAdapters?.[namespace];\n }\n createAdapter(blueprint) {\n if (!blueprint) {\n return;\n }\n const namespace = blueprint.namespace;\n if (!namespace) {\n return;\n }\n this.createClients();\n const adapterBlueprint = blueprint;\n adapterBlueprint.namespace = namespace;\n adapterBlueprint.construct({\n namespace,\n projectId: this.options?.projectId,\n networks: this.getCaipNetworks()\n });\n if (!this.chainNamespaces.includes(namespace)) {\n this.chainNamespaces.push(namespace);\n }\n if (this.chainAdapters) {\n this.chainAdapters[namespace] = adapterBlueprint;\n }\n }\n // -- Public -------------------------------------------------------------------\n async open(options) {\n await this.injectModalUi();\n if (options?.uri) {\n ConnectionController.setUri(options.uri);\n }\n if (options?.arguments) {\n switch (options?.view) {\n case 'Swap':\n return ModalController.open({ ...options, data: { swap: options.arguments } });\n default:\n }\n }\n return ModalController.open(options);\n }\n async close() {\n await this.injectModalUi();\n ModalController.close();\n }\n setLoading(loading, namespace) {\n ModalController.setLoading(loading, namespace);\n }\n async disconnect(chainNamespace) {\n await ConnectionController.disconnect(chainNamespace);\n }\n getSIWX() {\n return OptionsController.state.siwx;\n }\n // -- review these -------------------------------------------------------------------\n getError() {\n return '';\n }\n getChainId() {\n return ChainController.state.activeCaipNetwork?.id;\n }\n async switchNetwork(appKitNetwork) {\n const network = this.getCaipNetworks().find(n => n.id === appKitNetwork.id);\n if (!network) {\n AlertController.open(ErrorUtil.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND, 'error');\n return;\n }\n await ChainController.switchActiveNetwork(network);\n }\n getWalletProvider() {\n return ChainController.state.activeChain\n ? ProviderUtil.state.providers[ChainController.state.activeChain]\n : null;\n }\n getWalletProviderType() {\n return ProviderUtil.getProviderId(ChainController.state.activeChain);\n }\n subscribeProviders(callback) {\n return ProviderUtil.subscribeProviders(callback);\n }\n getThemeMode() {\n return ThemeController.state.themeMode;\n }\n getThemeVariables() {\n return ThemeController.state.themeVariables;\n }\n setThemeMode(themeMode) {\n ThemeController.setThemeMode(themeMode);\n setColorTheme(ThemeController.state.themeMode);\n }\n setTermsConditionsUrl(termsConditionsUrl) {\n OptionsController.setTermsConditionsUrl(termsConditionsUrl);\n }\n setPrivacyPolicyUrl(privacyPolicyUrl) {\n OptionsController.setPrivacyPolicyUrl(privacyPolicyUrl);\n }\n setThemeVariables(themeVariables) {\n ThemeController.setThemeVariables(themeVariables);\n setThemeVariables(ThemeController.state.themeVariables);\n }\n subscribeTheme(callback) {\n return ThemeController.subscribe(callback);\n }\n getWalletInfo() {\n return AccountController.state.connectedWalletInfo;\n }\n getAccount(namespace) {\n const authConnector = ConnectorController.getAuthConnector(namespace);\n const accountState = ChainController.getAccountData(namespace);\n const activeChain = ChainController.state.activeChain;\n const activeConnectorId = StorageUtil.getConnectedConnectorId(namespace || activeChain);\n if (!accountState) {\n return undefined;\n }\n return {\n allAccounts: accountState.allAccounts,\n caipAddress: accountState.caipAddress,\n address: CoreHelperUtil.getPlainAddress(accountState.caipAddress),\n isConnected: Boolean(accountState.caipAddress),\n status: accountState.status,\n embeddedWalletInfo: authConnector && activeConnectorId === ConstantsUtil.CONNECTOR_ID.AUTH\n ? {\n user: accountState.user\n ? {\n ...accountState.user,\n /*\n * Getting the username from the chain controller works well for social logins,\n * but Farcaster uses a different connection flow and doesn't emit the username via events.\n * Since the username is stored in local storage before the chain controller updates,\n * it's safe to use the local storage value here.\n */\n username: StorageUtil.getConnectedSocialUsername()\n }\n : undefined,\n authProvider: accountState.socialProvider ||\n 'email',\n accountType: accountState.preferredAccountTypes?.[namespace || activeChain],\n isSmartAccountDeployed: Boolean(accountState.smartAccountDeployed)\n }\n : undefined\n };\n }\n subscribeAccount(callback, namespace) {\n const updateVal = () => {\n const account = this.getAccount(namespace);\n if (!account) {\n return;\n }\n callback(account);\n };\n if (namespace) {\n ChainController.subscribeChainProp('accountState', updateVal, namespace);\n }\n else {\n ChainController.subscribe(updateVal);\n }\n ConnectorController.subscribe(updateVal);\n }\n subscribeNetwork(callback) {\n return ChainController.subscribe(({ activeCaipNetwork }) => {\n callback({\n caipNetwork: activeCaipNetwork,\n chainId: activeCaipNetwork?.id,\n caipNetworkId: activeCaipNetwork?.caipNetworkId\n });\n });\n }\n subscribeWalletInfo(callback) {\n return AccountController.subscribeKey('connectedWalletInfo', callback);\n }\n subscribeShouldUpdateToAddress(callback) {\n AccountController.subscribeKey('shouldUpdateToAddress', callback);\n }\n subscribeCaipNetworkChange(callback) {\n ChainController.subscribeKey('activeCaipNetwork', callback);\n }\n getState() {\n return PublicStateController.state;\n }\n subscribeState(callback) {\n return PublicStateController.subscribe(callback);\n }\n showErrorMessage(message) {\n SnackController.showError(message);\n }\n showSuccessMessage(message) {\n SnackController.showSuccess(message);\n }\n getEvent() {\n return { ...EventsController.state };\n }\n subscribeEvents(callback) {\n return EventsController.subscribe(callback);\n }\n replace(route) {\n RouterController.replace(route);\n }\n redirect(route) {\n RouterController.push(route);\n }\n popTransactionStack(status) {\n RouterController.popTransactionStack(status);\n }\n isOpen() {\n return ModalController.state.open;\n }\n isTransactionStackEmpty() {\n return RouterController.state.transactionStack.length === 0;\n }\n static getInstance() {\n return this.instance;\n }\n updateFeatures(newFeatures) {\n OptionsController.setFeatures(newFeatures);\n }\n updateRemoteFeatures(newRemoteFeatures) {\n OptionsController.setRemoteFeatures(newRemoteFeatures);\n }\n updateOptions(newOptions) {\n const currentOptions = OptionsController.state || {};\n const updatedOptions = { ...currentOptions, ...newOptions };\n OptionsController.setOptions(updatedOptions);\n }\n setConnectMethodsOrder(connectMethodsOrder) {\n OptionsController.setConnectMethodsOrder(connectMethodsOrder);\n }\n setWalletFeaturesOrder(walletFeaturesOrder) {\n OptionsController.setWalletFeaturesOrder(walletFeaturesOrder);\n }\n setCollapseWallets(collapseWallets) {\n OptionsController.setCollapseWallets(collapseWallets);\n }\n setSocialsOrder(socialsOrder) {\n OptionsController.setSocialsOrder(socialsOrder);\n }\n getConnectMethodsOrder() {\n return WalletUtil.getConnectOrderMethod(OptionsController.state.features, ConnectorController.getConnectors());\n }\n /**\n * Adds a network to an existing adapter in AppKit.\n * @param namespace - The chain namespace to add the network to (e.g. 'eip155', 'solana')\n * @param network - The network configuration to add\n * @throws Error if adapter for namespace doesn't exist\n */\n addNetwork(namespace, network) {\n if (this.chainAdapters && !this.chainAdapters[namespace]) {\n throw new Error(`Adapter for namespace ${namespace} doesn't exist`);\n }\n const extendedNetwork = this.extendCaipNetwork(network, this.options);\n if (!this.getCaipNetworks().find(n => n.id === extendedNetwork.id)) {\n ChainController.addNetwork(extendedNetwork);\n }\n }\n /**\n * Removes a network from an existing adapter in AppKit.\n * @param namespace - The chain namespace the network belongs to\n * @param networkId - The network ID to remove\n * @throws Error if adapter for namespace doesn't exist or if removing last network\n */\n removeNetwork(namespace, networkId) {\n if (this.chainAdapters && !this.chainAdapters[namespace]) {\n throw new Error(`Adapter for namespace ${namespace} doesn't exist`);\n }\n const networkToRemove = this.getCaipNetworks().find(n => n.id === networkId);\n if (!networkToRemove) {\n return;\n }\n ChainController.removeNetwork(namespace, networkId);\n }\n}\n//# sourceMappingURL=appkit-base-client.js.map","import {} from '@reown/appkit-common';\nimport { AccountController, ConnectionController, ConnectorController, CoreHelperUtil, OptionsController } from '@reown/appkit-controllers';\nimport { AppKitBaseClient } from './appkit-base-client.js';\n// -- Export Controllers -------------------------------------------------------\nexport { AccountController };\n// -- Helpers -------------------------------------------------------------------\nlet isInitialized = false;\n// -- Client --------------------------------------------------------------------\nexport class AppKit extends AppKitBaseClient {\n // -- Overrides --------------------------------------------------------------\n async open(options) {\n // Only open modal when not connected\n const isConnected = ConnectorController.isConnected();\n if (!isConnected) {\n await super.open(options);\n }\n }\n async close() {\n await super.close();\n if (this.options.manualWCControl) {\n ConnectionController.finalizeWcConnection();\n }\n }\n async syncIdentity(_request) {\n return Promise.resolve();\n }\n async syncBalance(_params) {\n return Promise.resolve();\n }\n async injectModalUi() {\n if (!isInitialized && CoreHelperUtil.isClient()) {\n await import('@reown/appkit-scaffold-ui/basic');\n await import('@reown/appkit-scaffold-ui/w3m-modal');\n const isElementCreated = document.querySelector('w3m-modal');\n if (!isElementCreated) {\n const modal = document.createElement('w3m-modal');\n if (!OptionsController.state.disableAppend && !OptionsController.state.enableEmbedded) {\n document.body.insertAdjacentElement('beforeend', modal);\n }\n }\n isInitialized = true;\n }\n }\n}\n//# sourceMappingURL=appkit-core.js.map","export const PACKAGE_VERSION = '1.7.8';\n//# sourceMappingURL=constants.js.map","import { AppKit } from '../src/client/appkit-core.js';\nimport { PACKAGE_VERSION } from './constants.js';\nexport function createAppKit(options) {\n return new AppKit({\n ...options,\n basic: true,\n sdkVersion: `html-core-${PACKAGE_VERSION}`\n });\n}\nexport { AppKit };\n//# sourceMappingURL=core.js.map"],"file":"assets/core-DoE4v7_w.js"}
|