@wormhole-foundation/wormhole-connect 5.1.2-beta.0-development → 5.2.0-beta.1-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.mjs +89 -89
- package/lib/{add-b6lWL1Uw.mjs → add-BEf65R9W.mjs} +1 -1
- package/lib/{add-BnVoIGpF.js → add-BfnfRWYd.js} +1 -1
- package/lib/{add-BdxQ30RD.js → add-CiBQclh_.js} +1 -1
- package/lib/{add-DYAIukFG.mjs → add-FlBFbmID.mjs} +1 -1
- package/lib/{all-wallets-B_HMwFNE.mjs → all-wallets-0d0F49_e.mjs} +1 -1
- package/lib/{all-wallets-Bu_2BgJM.js → all-wallets-BNdvPhp9.js} +1 -1
- package/lib/{all-wallets-D_DRr-nx.js → all-wallets-CGkgmWtX.js} +1 -1
- package/lib/{all-wallets-xU5NDHJp.mjs → all-wallets-srUUo70q.mjs} +1 -1
- package/lib/{app-store-CaDaNQMQ.mjs → app-store-CImc6f5s.mjs} +1 -1
- package/lib/{app-store-BF8qK39L.js → app-store-CJ8FOJYx.js} +1 -1
- package/lib/{app-store-DNZTFsqf.mjs → app-store-CyolaTwE.mjs} +1 -1
- package/lib/{app-store-DTzXn8Ev.js → app-store-DhVoNqde.js} +1 -1
- package/lib/{apple-B6euL216.js → apple-86OXeSyJ.js} +1 -1
- package/lib/{apple-g1R8Dbg_.js → apple-B7hoK4SW.js} +1 -1
- package/lib/{apple-Bt5amiif.mjs → apple-EatMtIc0.mjs} +1 -1
- package/lib/{apple-CKKSbPHh.mjs → apple-tebbLLOI.mjs} +1 -1
- package/lib/{aptos-D0vyOCzn.js → aptos-B0625Vkk.js} +1 -1
- package/lib/{aptos-DHAAHVAZ.mjs → aptos-C8LQMcii.mjs} +2 -2
- package/lib/{arrow-bottom-BGcecLU4.js → arrow-bottom-BRHd31a5.js} +1 -1
- package/lib/{arrow-bottom-CGWPXR7Q.mjs → arrow-bottom-Bmf9qeKd.mjs} +1 -1
- package/lib/{arrow-bottom-Az4zS_vz.js → arrow-bottom-D7KU41sS.js} +1 -1
- package/lib/{arrow-bottom-DM7T3MyC.mjs → arrow-bottom-DgI3vkHl.mjs} +1 -1
- package/lib/{arrow-bottom-circle-DoNyMKeG.js → arrow-bottom-circle-1_MXO-aE.js} +1 -1
- package/lib/{arrow-bottom-circle-CIJgf2-u.mjs → arrow-bottom-circle-BRl5lIFV.mjs} +1 -1
- package/lib/{arrow-bottom-circle-Ds1WDieI.mjs → arrow-bottom-circle-Ioaofxby.mjs} +1 -1
- package/lib/{arrow-bottom-circle-DaZ9NxLu.js → arrow-bottom-circle-dUItEBid.js} +1 -1
- package/lib/{arrow-left-DOBkjOc7.mjs → arrow-left-B18SPbUr.mjs} +1 -1
- package/lib/{arrow-left-B0JrIgtB.js → arrow-left-B4VB8tQR.js} +1 -1
- package/lib/{arrow-left-CZjX02wg.mjs → arrow-left-CeaRd5Vx.mjs} +1 -1
- package/lib/{arrow-left-BRBsFbqO.js → arrow-left-DRD62h5u.js} +1 -1
- package/lib/{arrow-right-Dd2dhFu3.mjs → arrow-right-BpXZlXh9.mjs} +1 -1
- package/lib/{arrow-right-BDa6hXiD.js → arrow-right-CI54SlzC.js} +1 -1
- package/lib/{arrow-right-BhIbua-M.mjs → arrow-right-CzWLUAUO.mjs} +1 -1
- package/lib/{arrow-right-DBf2XCDf.js → arrow-right-Dd6A8iJC.js} +1 -1
- package/lib/{arrow-top-COlN34Bd.js → arrow-top-BOP9Mx0U.js} +1 -1
- package/lib/{arrow-top-DPtfjNXH.js → arrow-top-TPGebFgG.js} +1 -1
- package/lib/{arrow-top-CEwyUyrA.mjs → arrow-top-c0RWLlO2.mjs} +1 -1
- package/lib/{arrow-top-BiLgx25I.mjs → arrow-top-oGu2iy6k.mjs} +1 -1
- package/lib/{bank-DBbkJu37.mjs → bank--z_wgCs2.mjs} +1 -1
- package/lib/{bank-Ct4LhEZ9.mjs → bank-BSgi9PAk.mjs} +1 -1
- package/lib/{bank-CcuFZDSE.js → bank-CyILnlME.js} +1 -1
- package/lib/{bank-04KpHcRJ.js → bank-DDWUQfzS.js} +1 -1
- package/lib/{basic-BP0JVvfk.js → basic-BJyZdZ9-.js} +1 -1
- package/lib/{basic-DwSvSRnA.mjs → basic-BYApoDKu.mjs} +2 -2
- package/lib/{basic-BsMai5jr.js → basic-C_NK3mGS.js} +1 -1
- package/lib/{basic-CpTye5Wp.mjs → basic-DFA9dkML.mjs} +2 -2
- package/lib/{browser-DymhLPcN.mjs → browser-BCF5N3KG.mjs} +1 -1
- package/lib/{browser-DtMZmb7z.mjs → browser-BloW4u4E.mjs} +1 -1
- package/lib/{browser-BYIBYCYu.js → browser-CCRCeieU.js} +1 -1
- package/lib/{browser-DqIVvLNb.js → browser-CvrEVIwv.js} +1 -1
- package/lib/{card-BefMUJu9.mjs → card-7rHQoEDL.mjs} +1 -1
- package/lib/{card-CiQkKoKz.js → card-CglIhKSq.js} +1 -1
- package/lib/{card-Bhla9Q7x.mjs → card-Ctp3kX-1.mjs} +1 -1
- package/lib/{card-DWzIvLMZ.js → card-fE2IIT1i.js} +1 -1
- package/lib/{checkmark-Bzf8q5aS.js → checkmark-BOxmV8Mo.js} +1 -1
- package/lib/{checkmark-DskODulu.mjs → checkmark-BW1_81nx.mjs} +1 -1
- package/lib/{checkmark-BwNrbHMU.mjs → checkmark-CLHlN5To.mjs} +1 -1
- package/lib/{checkmark-DVTXAlpS.js → checkmark-Xh1LmaXe.js} +1 -1
- package/lib/{checkmark-bold-BVlJEi7h.js → checkmark-bold-BC0jnANx.js} +1 -1
- package/lib/{checkmark-bold-CM3Vvhg7.js → checkmark-bold-CBr8ZyFy.js} +1 -1
- package/lib/{checkmark-bold-Cb8Wh8I-.mjs → checkmark-bold-DhAt_JOH.mjs} +1 -1
- package/lib/{checkmark-bold-CC3TnS9f.mjs → checkmark-bold-xYDW18M6.mjs} +1 -1
- package/lib/{chevron-bottom-DDdZzc0C.mjs → chevron-bottom-C-ilw2I8.mjs} +1 -1
- package/lib/{chevron-bottom-DJdGSkyp.mjs → chevron-bottom-Daxbr3Rx.mjs} +1 -1
- package/lib/{chevron-bottom-jP_NI_V8.js → chevron-bottom-Didolf5t.js} +1 -1
- package/lib/{chevron-bottom-jf37OGNU.js → chevron-bottom-y5gkyNtV.js} +1 -1
- package/lib/{chevron-left-DMyOrc8Z.mjs → chevron-left-BNIGAhWk.mjs} +1 -1
- package/lib/{chevron-left-BBuCq4Z4.js → chevron-left-Bj3XIxUw.js} +1 -1
- package/lib/{chevron-left-DUKtV7aA.js → chevron-left-D6J8hdRo.js} +1 -1
- package/lib/{chevron-left-DBQ2cnMj.mjs → chevron-left-DqSA6E9z.mjs} +1 -1
- package/lib/{chevron-right-DFyXRJYj.js → chevron-right-BXl56y5C.js} +1 -1
- package/lib/{chevron-right-BS_jnS5s.mjs → chevron-right-DeT5P2q2.mjs} +1 -1
- package/lib/{chevron-right-DCkzgmq4.js → chevron-right-IBo1CiY2.js} +1 -1
- package/lib/{chevron-right-DcqeQAEI.mjs → chevron-right-k8adpOIy.mjs} +1 -1
- package/lib/{chevron-top-ClelVm1j.js → chevron-top-B1HrfXOo.js} +1 -1
- package/lib/{chevron-top-B83f99Ea.js → chevron-top-C-1fCeSU.js} +1 -1
- package/lib/{chevron-top-C_H054DF.mjs → chevron-top-C34CbI0W.mjs} +1 -1
- package/lib/{chevron-top-Bn6PFtUC.mjs → chevron-top-CNrQ2igu.mjs} +1 -1
- package/lib/{chrome-store-LjPRKxzO.js → chrome-store-DFTjCxuH.js} +1 -1
- package/lib/{chrome-store-sii85l0S.mjs → chrome-store-DIzR2Dq1.mjs} +1 -1
- package/lib/{chrome-store-CZpB9PBA.mjs → chrome-store-DOoQVREZ.mjs} +1 -1
- package/lib/{chrome-store-BAepHyFY.js → chrome-store-DtvL-QKw.js} +1 -1
- package/lib/{clock-BxtOEzs_.js → clock-C-Q57pEM.js} +1 -1
- package/lib/{clock-C2QWByQk.js → clock-C4xod9nJ.js} +1 -1
- package/lib/{clock-shquJuP5.mjs → clock-Cv1fuvau.mjs} +1 -1
- package/lib/{clock-CwRWxyLz.mjs → clock-sTn1dfri.mjs} +1 -1
- package/lib/{close-SP7B7_xC.mjs → close-B0uyRg3N.mjs} +1 -1
- package/lib/{close-Bc3pm-mC.js → close-B1b7Ptej.js} +1 -1
- package/lib/{close-Ca00NExs.mjs → close-CqPEBQBo.mjs} +1 -1
- package/lib/{close-BpIDaYhJ.js → close-Dfc_8zBq.js} +1 -1
- package/lib/{coinPlaceholder-CKvXMD88.mjs → coinPlaceholder-BoiiMs6L.mjs} +1 -1
- package/lib/{coinPlaceholder-GqhByato.js → coinPlaceholder-DiW2_ozZ.js} +1 -1
- package/lib/{coinPlaceholder-B7N8-f10.js → coinPlaceholder-DudKKK-9.js} +1 -1
- package/lib/{coinPlaceholder-Cfng8Gpy.mjs → coinPlaceholder-nKeNJJKK.mjs} +1 -1
- package/lib/{compass-BzHJWH4F.mjs → compass-B0X-vi2r.mjs} +1 -1
- package/lib/{compass-CcbiTuoZ.js → compass-BZP8Ac-k.js} +1 -1
- package/lib/{compass-CnQnScYt.js → compass-DwHx2eWH.js} +1 -1
- package/lib/{compass-D7SbQcS8.mjs → compass-gJFmkVKU.mjs} +1 -1
- package/lib/constants-CZ1Cg3we.js +1 -0
- package/lib/{constants-Cra-sYOY.mjs → constants-CvYlmQON.mjs} +3 -3
- package/lib/{copy-BcgD_o9n.js → copy-BnBqHWHD.js} +1 -1
- package/lib/{copy-BfOrQe0e.mjs → copy-CCtC0O9D.mjs} +1 -1
- package/lib/{copy-DEVVrvZB.mjs → copy-DAbUkldO.mjs} +1 -1
- package/lib/{copy-CcgDmwJY.js → copy-DO-PtwSL.js} +1 -1
- package/lib/{core-tZrVHnYY.js → core-B-drR9_7.js} +3 -3
- package/lib/{core-40tXldyj.mjs → core-B_r-qOmo.mjs} +4 -4
- package/lib/{cursor-BAHHrePv.js → cursor-BBkU3FcH.js} +1 -1
- package/lib/{cursor-yFIvoMIb.js → cursor-BBzWvQHe.js} +1 -1
- package/lib/{cursor-CYYGSzyX.mjs → cursor-BxL72yqS.mjs} +1 -1
- package/lib/{cursor-jbyeEEPc.mjs → cursor-DYH9xEcp.mjs} +1 -1
- package/lib/{cursor-transparent-D8Hr_yKG.js → cursor-transparent-56UaQ3Bn.js} +1 -1
- package/lib/{cursor-transparent-BoDz4gyR.js → cursor-transparent-BEJAwX5N.js} +1 -1
- package/lib/{cursor-transparent-BBIy7zL1.mjs → cursor-transparent-BdZnO_wt.mjs} +1 -1
- package/lib/{cursor-transparent-DZTb6Tgj.mjs → cursor-transparent-CtFV2CXJ.mjs} +1 -1
- package/lib/{desktop-BbLkEUmY.mjs → desktop-2v6QoLZE.mjs} +1 -1
- package/lib/{desktop-CqeqP39M.js → desktop-3NUUpk4c.js} +1 -1
- package/lib/{desktop-BVFFJ4qZ.mjs → desktop-3yOLdhPI.mjs} +1 -1
- package/lib/{desktop-CqLpnCdB.js → desktop-Pyfuvetn.js} +1 -1
- package/lib/{disconnect-DTGSU1ka.js → disconnect-BaX_JURb.js} +1 -1
- package/lib/{disconnect-CudJWwGY.js → disconnect-BfTUZAHR.js} +1 -1
- package/lib/{disconnect-2sT9vU8_.mjs → disconnect-Bv_Bim13.mjs} +1 -1
- package/lib/{disconnect-BgdAg0QE.mjs → disconnect-cHTRr7Ec.mjs} +1 -1
- package/lib/{discord-CswB1YLE.mjs → discord-C2VL_GWD.mjs} +1 -1
- package/lib/{discord-IfITzJN4.mjs → discord-CKjUttdg.mjs} +1 -1
- package/lib/{discord-sKKwG_Wh.js → discord-CSIF6CGN.js} +1 -1
- package/lib/{discord-CY0E4_b3.js → discord-D1ikT3b-.js} +1 -1
- package/lib/{etherscan-Qi29a6gk.mjs → etherscan-BsljyTKF.mjs} +1 -1
- package/lib/{etherscan-BGpKAgK3.js → etherscan-C4o1jcxp.js} +1 -1
- package/lib/{etherscan-R7opgrKm.mjs → etherscan-DNbmb9VE.mjs} +1 -1
- package/lib/{etherscan-ChCYPnOm.js → etherscan-DgfkHroL.js} +1 -1
- package/lib/{evm-CfcU_Ko3.js → evm-BVhY4VIn.js} +2 -2
- package/lib/{evm-yQV-bAj_.mjs → evm-C9PlJk_E.mjs} +3 -3
- package/lib/{evm-B3sB8OkX.mjs → evm-D6avkBIT.mjs} +3 -3
- package/lib/{evm-WojfkGmk.js → evm-DsYQcqsM.js} +1 -1
- package/lib/{exclamation-triangle-fdf2WxgY.mjs → exclamation-triangle-7sXeuvtw.mjs} +1 -1
- package/lib/{exclamation-triangle-DrbHfbFG.mjs → exclamation-triangle-B5VkBuje.mjs} +1 -1
- package/lib/{exclamation-triangle-C6_c3Xek.js → exclamation-triangle-BYOLGjLp.js} +1 -1
- package/lib/{exclamation-triangle-D6h6E7q2.js → exclamation-triangle-C9ULgQJ_.js} +1 -1
- package/lib/{extension-BjmvcmVr.mjs → extension-DQxWqGMB.mjs} +1 -1
- package/lib/{extension-DKYUsxop.mjs → extension-MYgCtDFH.mjs} +1 -1
- package/lib/{extension-c2O7O6lT.js → extension-NsgFQY7m.js} +1 -1
- package/lib/{extension-Cr-wT7PF.js → extension-VaBFk192.js} +1 -1
- package/lib/{external-link-ByVri3T1.mjs → external-link-BJpDXZJf.mjs} +1 -1
- package/lib/{external-link-C37hcQH_.js → external-link-B_MqtCKD.js} +1 -1
- package/lib/{external-link-C7OhACsl.mjs → external-link-Cd0vLGIE.mjs} +1 -1
- package/lib/{external-link-BACrskBg.js → external-link-Dixa5654.js} +1 -1
- package/lib/{facebook-2BWgngxR.js → facebook-B5uxGSPx.js} +1 -1
- package/lib/{facebook-JrEpPcJR.mjs → facebook-BKr0sc8j.mjs} +1 -1
- package/lib/{facebook-Cne-pZD-.js → facebook-COEHDC_C.js} +1 -1
- package/lib/{facebook-BxvYRu6Y.mjs → facebook-CW9qBsFQ.mjs} +1 -1
- package/lib/{farcaster-DGo1k7ts.js → farcaster-CKtNojdp.js} +1 -1
- package/lib/{farcaster-CY9dNBee.mjs → farcaster-Ds4f9Ltv.mjs} +1 -1
- package/lib/{farcaster-DVIIGgZu.mjs → farcaster-YHCXqrrj.mjs} +1 -1
- package/lib/{farcaster-DzUrZfcH.js → farcaster-m5MVs-aT.js} +1 -1
- package/lib/{filters-BxVq8n42.js → filters-CDHyMrNp.js} +1 -1
- package/lib/{filters-D6wkA0j_.js → filters-CNHTPTvF.js} +1 -1
- package/lib/{filters-Szj2xxQY.mjs → filters-C_fotjQ9.mjs} +1 -1
- package/lib/{filters-Cj9T_IT6.mjs → filters-otxJEOs7.mjs} +1 -1
- package/lib/{github-BamzYBp6.mjs → github-BNYDlQMz.mjs} +1 -1
- package/lib/{github-Cqe2Irln.js → github-CEJ7ZdVF.js} +1 -1
- package/lib/{github-C__vxJiI.js → github-CKZKwTIP.js} +1 -1
- package/lib/{github-n4eC9uPA.mjs → github-Dibydlav.mjs} +1 -1
- package/lib/{google-DPn_wmgn.js → google-B21849VG.js} +1 -1
- package/lib/{google-CYJAIXvf.mjs → google-BA66k4rL.mjs} +1 -1
- package/lib/{google-CPw3_Kq4.mjs → google-Dx6T3HNH.mjs} +1 -1
- package/lib/{google-AQHssJAT.js → google-y2naTeYr.js} +1 -1
- package/lib/{help-circle-CsC_kAbw.mjs → help-circle-B2i3-wGO.mjs} +1 -1
- package/lib/{help-circle-CsClGp8m.js → help-circle-CPvN7YEE.js} +1 -1
- package/lib/{help-circle-Da8oLbWX.mjs → help-circle-CimYq20b.mjs} +1 -1
- package/lib/{help-circle-DGR7txhY.js → help-circle-cbP1i7bz.js} +1 -1
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{hypercore-CbpNmbwC.js → hypercore-CHTw8bic.js} +1 -1
- package/lib/{hypercore-C6gF3lua.mjs → hypercore-DXRD8m3E.mjs} +9 -9
- package/lib/{id-Dj-SsqvU.mjs → id-B4jo17C5.mjs} +1 -1
- package/lib/{id-CfKObEeq.js → id-CPeIs5Fq.js} +1 -1
- package/lib/{id-COAHnCxn.js → id-DSFow20F.js} +1 -1
- package/lib/{id-DRTTaKU8.mjs → id-DiVzvOfZ.mjs} +1 -1
- package/lib/{image-geWYioBZ.js → image-B6EzmhFU.js} +1 -1
- package/lib/{image-DEjX6FiE.mjs → image-BVF33tR1.mjs} +1 -1
- package/lib/{image-No7frA7o.js → image-BhAe9DNs.js} +1 -1
- package/lib/{image-BBLNTmd3.mjs → image-apDrsEYS.mjs} +1 -1
- package/lib/{index-tjblhvTn.js → index-BBSVPcAD.js} +1 -1
- package/lib/{index-Cv93u_Xz.js → index-BGzNVaPV.js} +2 -2
- package/lib/{index--ce366K7.js → index-BHwMXTV2.js} +2 -2
- package/lib/{index-te9WcaKs.mjs → index-CGmXt9G7.mjs} +1 -1
- package/lib/{index-DUyAK8Os.mjs → index-CV_PfShb.mjs} +1 -1
- package/lib/{index-D4g5WUR1.mjs → index-CYFUlQL7.mjs} +3 -3
- package/lib/{index-CcQVbM4W.js → index-CltqjT6y.js} +1 -1
- package/lib/{index-9m2tL8kv.mjs → index-CuufMtD7.mjs} +1 -1
- package/lib/{index-D9MZ6-sC.mjs → index-EOQIdj8y.mjs} +78 -78
- package/lib/{index-DTzXNh4X.mjs → index-FgK-pdrK.mjs} +78 -78
- package/lib/{index-CsRxz-uE.js → index-Kh39Gi5k.js} +1 -1
- package/lib/{index-Dvg7KGck.js → index-n-le376F.js} +2 -2
- package/lib/{index-DKtWPiif.js → index-pg8PO4KF.js} +1 -1
- package/lib/{index-BM7Fryy2.mjs → index-xvDlUtry.mjs} +1 -1
- package/lib/{index.es-CMecT-wc.js → index.es-B1Hb17ux.js} +1 -1
- package/lib/{index.es-CxartOuF.mjs → index.es-D9dqjxA-.mjs} +3 -3
- package/lib/{index.es-DWUco5Wc.mjs → index.es-OUX5OQzg.mjs} +2 -2
- package/lib/{index.es-DoeS8aqQ.js → index.es-lG9bYbuU.js} +3 -3
- package/lib/index.js +27 -72
- package/lib/index.mjs +2071 -2230
- package/lib/{info-Ci0IZA27.js → info-Boiui9f7.js} +1 -1
- package/lib/{info-MWGFYhcX.mjs → info-C9gVJcre.mjs} +1 -1
- package/lib/{info-B0uX6eii.mjs → info-O1n15_1D.mjs} +1 -1
- package/lib/{info-circle-CVSkeXTF.mjs → info-circle-BFolIbkj.mjs} +1 -1
- package/lib/{info-circle-C8UZN0tx.js → info-circle-CMe56iw6.js} +1 -1
- package/lib/{info-circle-kXZMIAWY.mjs → info-circle-CUSrqyXO.mjs} +1 -1
- package/lib/{info-circle-DXIB714i.js → info-circle-Cc7pM3j0.js} +1 -1
- package/lib/{info-mS1KmO0G.js → info-lLJkbrKO.js} +1 -1
- package/lib/lifi.js +1 -1
- package/lib/lifi.mjs +2 -2
- package/lib/{lightbulb-BGNsmiyN.mjs → lightbulb-C3PATB9z.mjs} +1 -1
- package/lib/{lightbulb-Oy5LB3z_.mjs → lightbulb-CqdzQLC3.mjs} +1 -1
- package/lib/{lightbulb-BKcINA8X.js → lightbulb-VYLU20z_.js} +1 -1
- package/lib/{lightbulb-DENU6d5t.js → lightbulb-ftjHXSjH.js} +1 -1
- package/lib/{mail-CC9zQZ8G.mjs → mail-Cbku7Uh4.mjs} +1 -1
- package/lib/{mail-BcYe9_T_.js → mail-DFrUqNVg.js} +1 -1
- package/lib/{mail-Du_rCW9E.js → mail-DK7EnkPU.js} +1 -1
- package/lib/{mail-BdeyxQLk.mjs → mail-pAAtront.mjs} +1 -1
- package/lib/mayan.js +1 -1
- package/lib/mayan.mjs +2 -2
- package/lib/{mobile-BcOU87gm.js → mobile-BhxSbHuq.js} +1 -1
- package/lib/{mobile-DD5I8tqJ.js → mobile-DssA8Pv3.js} +1 -1
- package/lib/{mobile-CwesG9UU.mjs → mobile-OA7to7W8.mjs} +1 -1
- package/lib/{mobile-0U_nDWwv.mjs → mobile-VGlrj4tw.mjs} +1 -1
- package/lib/{more-D5MlE0Ef.js → more-B2vO9WWk.js} +1 -1
- package/lib/{more-B0VFeWLy.mjs → more-BN4Q6SUx.mjs} +1 -1
- package/lib/{more-8ZvpR7aE.mjs → more-Ch4Lqfvk.mjs} +1 -1
- package/lib/{more-BB0KysBQ.js → more-DHFKZx0b.js} +1 -1
- package/lib/{network-placeholder-BYBODo9Y.mjs → network-placeholder-BB4x45Tg.mjs} +1 -1
- package/lib/{network-placeholder-BTSh1u_y.js → network-placeholder-C9vBCfoS.js} +1 -1
- package/lib/{network-placeholder-BKnCpXkZ.js → network-placeholder-DEjE8_cC.js} +1 -1
- package/lib/{network-placeholder-CKa4W4H9.mjs → network-placeholder-DabWxIRQ.mjs} +1 -1
- package/lib/{nftPlaceholder-D9AirPS_.js → nftPlaceholder-C3mbGCd_.js} +1 -1
- package/lib/{nftPlaceholder-BED49r_l.mjs → nftPlaceholder-DkQ8_eeY.mjs} +1 -1
- package/lib/{nftPlaceholder-BbPROE0u.js → nftPlaceholder-Dm0gJJff.js} +1 -1
- package/lib/{nftPlaceholder-CByD5cYZ.mjs → nftPlaceholder-HRZgFSge.mjs} +1 -1
- package/lib/{off-BTNHYo9v.js → off--Q32bGkI.js} +1 -1
- package/lib/{off-Cujneo7f.js → off-CrU10ihl.js} +1 -1
- package/lib/{off-DO7rMBwO.mjs → off-nA_OrJUe.mjs} +1 -1
- package/lib/{off-BPcvuriu.mjs → off-wbTBMRhe.mjs} +1 -1
- package/lib/{play-store-CEL6J87Q.js → play-store-BHw33DCQ.js} +1 -1
- package/lib/{play-store-DbyW1Mbx.mjs → play-store-BVmr7Z4C.mjs} +1 -1
- package/lib/{play-store-IDPQ7me9.js → play-store-CS0C9q5-.js} +1 -1
- package/lib/{play-store-DVg53TWI.mjs → play-store-D9U-UFF5.mjs} +1 -1
- package/lib/{plus-DugBza5e.js → plus-Bi6V8pNp.js} +1 -1
- package/lib/{plus-guBwnLqf.mjs → plus-CW3w3sls.mjs} +1 -1
- package/lib/{plus-DeOwpFu5.mjs → plus-D3x4t8Ce.mjs} +1 -1
- package/lib/{plus-BO0EmLhf.js → plus-Dc8ywSwP.js} +1 -1
- package/lib/{qr-code-Cvj_lju1.js → qr-code-BZDngjZY.js} +1 -1
- package/lib/{qr-code-ChVMLKqr.mjs → qr-code-DgC6Fdg7.mjs} +1 -1
- package/lib/{qr-code-BeBqTEdS.mjs → qr-code-OMVNklZX.mjs} +1 -1
- package/lib/{qr-code-wFfEi0NQ.js → qr-code-ji9rZFGq.js} +1 -1
- package/lib/{recycle-horizontal-D4xZElWd.mjs → recycle-horizontal-B2I-zPCU.mjs} +1 -1
- package/lib/{recycle-horizontal-2CRmJkNe.js → recycle-horizontal-Bt5GY9OR.js} +1 -1
- package/lib/{recycle-horizontal-CD4iQ40a.js → recycle-horizontal-D9hq32DZ.js} +1 -1
- package/lib/{recycle-horizontal-GkioMKub.mjs → recycle-horizontal-DytoyBfI.mjs} +1 -1
- package/lib/{refresh-DGjom5HS.js → refresh-BKK5da-L.js} +1 -1
- package/lib/{refresh-BUN0L_N5.mjs → refresh-BSAssZBM.mjs} +1 -1
- package/lib/{refresh-BygtU-yN.mjs → refresh-CjLexDSA.mjs} +1 -1
- package/lib/{refresh-CCwcFNjE.js → refresh-H6w6oM_A.js} +1 -1
- package/lib/{reown-logo-C1LaH4xW.js → reown-logo-B6Ov41nY.js} +1 -1
- package/lib/{reown-logo-B_7C2I79.mjs → reown-logo-C6FOwVYq.mjs} +1 -1
- package/lib/{reown-logo-Enfi2s3V.js → reown-logo-DLSNj3TE.js} +1 -1
- package/lib/{reown-logo-DzJF12Hj.mjs → reown-logo-DwXu5uNR.mjs} +1 -1
- package/lib/{search-VHY6M7lL.mjs → search-BOcgdRAL.mjs} +1 -1
- package/lib/{search-DY68gxGY.js → search-Bb7bK2Uc.js} +1 -1
- package/lib/{search-Caefqi72.js → search-CAbVUgnN.js} +1 -1
- package/lib/{search-DxLtdsjV.mjs → search-Co9ezsvt.mjs} +1 -1
- package/lib/{secp256k1-DpJ5t9_y.mjs → secp256k1-0A8Ewnv6.mjs} +1 -1
- package/lib/{secp256k1-DIfoWnW2.js → secp256k1-BnR7-XEW.js} +1 -1
- package/lib/{secp256k1-C_w47f78.mjs → secp256k1-BoJRjFfg.mjs} +1 -1
- package/lib/{secp256k1-CjU4yNC7.mjs → secp256k1-C4MOK2TW.mjs} +1 -1
- package/lib/{secp256k1-7kqxZEAo.js → secp256k1-Cux0xw_z.js} +1 -1
- package/lib/{secp256k1-CtMYy5fK.js → secp256k1-DT9ulpgk.js} +1 -1
- package/lib/{secp256k1-DloetgZK.mjs → secp256k1-YadE7hrp.mjs} +1 -1
- package/lib/{secp256k1-g_j504rZ.js → secp256k1-jJLvhP5o.js} +1 -1
- package/lib/{send-DvIN7hSN.js → send-B44wmSUh.js} +1 -1
- package/lib/{send-C2C_-VdK.mjs → send-BpJl2Xn8.mjs} +1 -1
- package/lib/{send-BAXJIGRv.js → send-CRsiv27V.js} +1 -1
- package/lib/{send-CA6UoPHX.mjs → send-DLjvhVAl.mjs} +1 -1
- package/lib/{solana-BYXJczOK.js → solana-BGU37dz5.js} +4 -4
- package/lib/{solana-B1qMHgDJ.mjs → solana-CiNUMNJ8.mjs} +8 -8
- package/lib/{solanaEmbed.esm-C_RfOZKY.js → solanaEmbed.esm-CQlwytxQ.js} +1 -1
- package/lib/{solanaEmbed.esm-C8YdnLXY.mjs → solanaEmbed.esm-DyqmLXfp.mjs} +2 -2
- package/lib/{sui-CP1p9ws0.mjs → sui-Bib-iOCV.mjs} +2 -2
- package/lib/{sui-Byb2InQw.js → sui-BjzF-Q-b.js} +1 -1
- package/lib/{swapHorizontal-C3oQ8k5G.mjs → swapHorizontal-B8qVmnu8.mjs} +1 -1
- package/lib/{swapHorizontal-DTetyuhP.mjs → swapHorizontal-BRWRUIJB.mjs} +1 -1
- package/lib/{swapHorizontal-DDo0V_gZ.js → swapHorizontal-BsTJkttx.js} +1 -1
- package/lib/{swapHorizontal-C5TzVEtb.js → swapHorizontal-D-uqFVHs.js} +1 -1
- package/lib/{swapHorizontalBold-KPaNZouM.mjs → swapHorizontalBold-BdNeqRi3.mjs} +1 -1
- package/lib/{swapHorizontalBold-nfCg19fX.js → swapHorizontalBold-CYYFuggs.js} +1 -1
- package/lib/{swapHorizontalBold-DAuPwhvB.js → swapHorizontalBold-aLja8kkS.js} +1 -1
- package/lib/{swapHorizontalBold-DaOyp9X7.mjs → swapHorizontalBold-nE-ChWuU.mjs} +1 -1
- package/lib/{swapHorizontalMedium-DM2To8sI.mjs → swapHorizontalMedium-BI3ILASr.mjs} +1 -1
- package/lib/{swapHorizontalMedium-DqraQPMA.js → swapHorizontalMedium-BeZ1rL5X.js} +1 -1
- package/lib/{swapHorizontalMedium-CLjvs8Fd.mjs → swapHorizontalMedium-C6W9-JzO.mjs} +1 -1
- package/lib/{swapHorizontalMedium-DKU4g-5v.js → swapHorizontalMedium-vhOD9TfP.js} +1 -1
- package/lib/{swapHorizontalRoundedBold-DM4zbspV.mjs → swapHorizontalRoundedBold-BAIOqirj.mjs} +1 -1
- package/lib/{swapHorizontalRoundedBold-BmBf-L-3.js → swapHorizontalRoundedBold-BkFwOs0Y.js} +1 -1
- package/lib/{swapHorizontalRoundedBold-CQaBpys8.mjs → swapHorizontalRoundedBold-CYpeP0Et.mjs} +1 -1
- package/lib/{swapHorizontalRoundedBold-D5x3wa1H.js → swapHorizontalRoundedBold-DP1Z5JQM.js} +1 -1
- package/lib/{swapVertical-dJV6Nzl5.js → swapVertical-29kKOB66.js} +1 -1
- package/lib/{swapVertical-DuLz_S9y.mjs → swapVertical-3zrfl1Xi.mjs} +1 -1
- package/lib/{swapVertical-BzlXJb54.js → swapVertical-CFtauJeV.js} +1 -1
- package/lib/{swapVertical-CCiUgbcP.mjs → swapVertical-Ci9CWSzV.mjs} +1 -1
- package/lib/{telegram-DOuVyLon.mjs → telegram-CvywROv3.mjs} +1 -1
- package/lib/{telegram-C_9XHDQT.js → telegram-Dr2j2upn.js} +1 -1
- package/lib/{telegram-DA5rBSJa.mjs → telegram-DrrslbwQ.mjs} +1 -1
- package/lib/{telegram-BralXaXD.js → telegram-Dwr-qPTP.js} +1 -1
- package/lib/{three-dots-Nyup8EJo.js → three-dots-BNuSEqpQ.js} +1 -1
- package/lib/{three-dots-BVZrOHL6.mjs → three-dots-CS6LN5K6.mjs} +1 -1
- package/lib/{three-dots-CZAx1a_U.mjs → three-dots-CcmyKQwf.mjs} +1 -1
- package/lib/{three-dots-Cr42c6o8.js → three-dots-Ls5fYKC0.js} +1 -1
- package/lib/{tokenHelpers-CwyAXEJc.js → tokenHelpers-BWM8KMa6.js} +1 -1
- package/lib/{tokenHelpers-EtC2iUkF.mjs → tokenHelpers-DAwzvT17.mjs} +1 -1
- package/lib/{tokens-OYxErSz-.js → tokens-D1ONPHia.js} +1 -1
- package/lib/{tokens-UbtKFaqW.mjs → tokens-DggD3cX7.mjs} +1 -1
- package/lib/{twitch-FR-0Grt3.js → twitch-Bd58rlGF.js} +1 -1
- package/lib/{twitch-Dnv1HK9k.js → twitch-BnpIZdrn.js} +1 -1
- package/lib/{twitch-kni5RDxd.mjs → twitch-C4Eo2_CN.mjs} +1 -1
- package/lib/{twitch-Z6k694Rb.mjs → twitch-C8SyvzoN.mjs} +1 -1
- package/lib/{twitterIcon-BM-bS1gr.js → twitterIcon-BEbzFMeP.js} +1 -1
- package/lib/{twitterIcon-B7vJBmU1.mjs → twitterIcon-BMzY5zmt.mjs} +1 -1
- package/lib/{twitterIcon-CW7UOKgv.mjs → twitterIcon-C-y4j0Tc.mjs} +1 -1
- package/lib/{twitterIcon-ijBqYF4o.js → twitterIcon-DIykPyaS.js} +1 -1
- package/lib/{verify-CjBMJt4R.mjs → verify-CrMRxyWg.mjs} +1 -1
- package/lib/{verify-BW71ySMV.js → verify-Crtvz15I.js} +1 -1
- package/lib/{verify-lP7ngoUA.js → verify-CwFpdYoH.js} +1 -1
- package/lib/{verify-gseM0GmH.mjs → verify-NthP_npu.mjs} +1 -1
- package/lib/{verify-filled-Cx2_tPPL.js → verify-filled-BlrU9vQA.js} +1 -1
- package/lib/{verify-filled-DDyAz-Ah.js → verify-filled-CGCh-dVk.js} +1 -1
- package/lib/{verify-filled-w78zug4Z.mjs → verify-filled-CjDyTxlc.mjs} +1 -1
- package/lib/{verify-filled-Df4n_n8m.mjs → verify-filled-D9kdEJV2.mjs} +1 -1
- package/lib/{w3m-modal-Cl7qBei3.js → w3m-modal--0Rp9fNB.js} +1 -1
- package/lib/{w3m-modal-Bequveh2.js → w3m-modal-1XXe-6js.js} +1 -1
- package/lib/{w3m-modal-wOuwBK-7.mjs → w3m-modal-CdkJJVqN.mjs} +2 -2
- package/lib/{w3m-modal-DVI_Nx63.mjs → w3m-modal-DM4Y_2h6.mjs} +2 -2
- package/lib/{wallet-BV2FBhac.js → wallet-C1IpUTIA.js} +1 -1
- package/lib/{wallet-BeTpWoAU.mjs → wallet-CamNgIPw.mjs} +1 -1
- package/lib/{wallet-C1rJFE1r.js → wallet-CkpI9kzj.js} +1 -1
- package/lib/{wallet-CHTBp3tt.mjs → wallet-Cq98Nsz0.mjs} +1 -1
- package/lib/{wallet-placeholder-B3QTYgc4.mjs → wallet-placeholder-BNjSzhI7.mjs} +1 -1
- package/lib/{wallet-placeholder-B28pSnzq.js → wallet-placeholder-CB7fUzRo.js} +1 -1
- package/lib/{wallet-placeholder-CcNOMUjq.mjs → wallet-placeholder-DA1MWd3N.mjs} +1 -1
- package/lib/{wallet-placeholder-DuvbD7d0.js → wallet-placeholder-Dqi7ETT0.js} +1 -1
- package/lib/{walletconnect-XR3NrBNE.mjs → walletconnect-BNEO7K5p.mjs} +1 -1
- package/lib/{walletconnect-jRZfpGM0.js → walletconnect-Bn6uzute.js} +1 -1
- package/lib/{walletconnect-mr9Z215I.mjs → walletconnect-CZpyRToX.mjs} +1 -1
- package/lib/{walletconnect-D12dblZk.js → walletconnect-nqXULWld.js} +1 -1
- package/lib/{warning-circle-D4yS-THt.js → warning-circle--gP3MuWN.js} +1 -1
- package/lib/{warning-circle-DwaAz92M.mjs → warning-circle-BJa5UE7S.mjs} +1 -1
- package/lib/{warning-circle-BRFeAYsj.mjs → warning-circle-CaIyIC07.mjs} +1 -1
- package/lib/{warning-circle-D2bsKb9P.js → warning-circle-bxxlNMW0.js} +1 -1
- package/lib/{x-BpEt9o5y.js → x-CK85Brc3.js} +1 -1
- package/lib/{x-Dqf_vas5.js → x-CNpeVFtn.js} +1 -1
- package/lib/{x-CUJ2MnyR.mjs → x-CpgiFnfX.mjs} +1 -1
- package/lib/{x-B6LhcbyH.mjs → x-aiX6h0m_.mjs} +1 -1
- package/package.json +1 -1
- package/lib/constants-BdTRabdz.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";const Ve=require("./unsignedTransaction-DPs4ICFO.js"),ni=require("./hypercore-CbpNmbwC.js"),ne=require("./index-CcQVbM4W.js"),Jv=require("./util-G2vxTeU2.js"),Zv=require("./wallets-DLkIKXkb.js"),wi=require("./index--ce366K7.js"),P=require("./platform-DH1Olrgt.js"),u=require("./index.es-CMecT-wc.js"),Pn=require("./http-D4VeaDBj.js"),lr=require("./big-Be7jQQTz.js");class Xv extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}}function e0(s,{signal:e}={}){return new Promise((t,i)=>{const r=()=>{i(new Xv)},n=()=>{clearTimeout(o),r()};if(e?.aborted)return r();const o=setTimeout(()=>{e?.removeEventListener("abort",n),t()},s);e?.addEventListener("abort",n,{once:!0})})}const fd=0,t0=Number.POSITIVE_INFINITY;async function s0(s,e){let t,i,r;typeof e=="number"?(t=fd,i=e,r=void 0):(t=e?.delay??fd,i=e?.retries??t0,r=e?.signal);let n;for(let o=0;o<i;o++){if(r?.aborted)throw n??new Error("The retry operation was aborted due to an abort signal.");try{return await s()}catch(a){n=a;const c=typeof t=="function"?t(o):t;await e0(c)}}throw n}class Dt extends Error{constructor(e,t){super(e),this.error=t}}class Wi extends Dt{constructor(){super(...arguments),this.name="WalletNotReadyError"}}class i0 extends Dt{constructor(){super(...arguments),this.name="WalletLoadError"}}class Nn extends Dt{constructor(){super(...arguments),this.name="WalletConfigError"}}class Dc extends Dt{constructor(){super(...arguments),this.name="WalletConnectionError"}}class gw extends Dt{constructor(){super(...arguments),this.name="WalletDisconnectedError"}}class ra extends Dt{constructor(){super(...arguments),this.name="WalletDisconnectionError"}}class Cs extends Dt{constructor(){super(...arguments),this.name="WalletAccountError"}}class Tr extends Dt{constructor(){super(...arguments),this.name="WalletPublicKeyError"}}class Ke extends Dt{constructor(){super(...arguments),this.name="WalletNotConnectedError"}}class pr extends Dt{constructor(){super(...arguments),this.name="WalletSendTransactionError"}}class nt extends Dt{constructor(){super(...arguments),this.name="WalletSignTransactionError"}}class na extends Dt{constructor(){super(...arguments),this.name="WalletSignMessageError"}}class wd extends Dt{constructor(){super(...arguments),this.name="WalletSignInError"}}class r0 extends Dt{constructor(){super(...arguments),this.name="WalletWindowClosedError"}}var pe;(function(s){s.Installed="Installed",s.NotDetected="NotDetected",s.Loadable="Loadable",s.Unsupported="Unsupported"})(pe||(pe={}));class fw extends Ve.EventEmitter{get connected(){return!!this.publicKey}async autoConnect(){await this.connect()}async prepareTransaction(e,t,i={}){const r=this.publicKey;if(!r)throw new Ke;return e.feePayer=e.feePayer||r,e.recentBlockhash=e.recentBlockhash||(await t.getLatestBlockhash({commitment:i.preflightCommitment,minContextSlot:i.minContextSlot})).blockhash,e}}function oa(s){if(typeof window>"u"||typeof document>"u")return;const e=[];function t(){if(s())for(const n of e)n()}const i=setInterval(t,1e3);e.push(()=>clearInterval(i)),document.readyState==="loading"&&(document.addEventListener("DOMContentLoaded",t,{once:!0}),e.push(()=>document.removeEventListener("DOMContentLoaded",t))),document.readyState!=="complete"&&(window.addEventListener("load",t,{once:!0}),e.push(()=>window.removeEventListener("load",t))),t()}function yi(s){return"version"in s}class du extends fw{async sendTransaction(e,t,i={}){let r=!0;try{if(yi(e)){if(!this.supportedTransactionVersions)throw new pr("Sending versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(e.version))throw new pr(`Sending transaction version ${e.version} isn't supported by this wallet`);try{e=await this.signTransaction(e);const n=e.serialize();return await t.sendRawTransaction(n,i)}catch(n){throw n instanceof nt?(r=!1,n):new pr(n?.message,n)}}else try{const{signers:n,...o}=i;e=await this.prepareTransaction(e,t,o),n?.length&&e.partialSign(...n),e=await this.signTransaction(e);const a=e.serialize();return await t.sendRawTransaction(a,o)}catch(n){throw n instanceof nt?(r=!1,n):new pr(n?.message,n)}}catch(n){throw r&&this.emit("error",n),n}}async signAllTransactions(e){for(const i of e)if(yi(i)){if(!this.supportedTransactionVersions)throw new nt("Signing versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(i.version))throw new nt(`Signing transaction version ${i.version} isn't supported by this wallet`)}const t=[];for(const i of e)t.push(await this.signTransaction(i));return t}}class aa extends du{}function n0(s){return ne.StandardConnect in s.features&&ne.StandardEvents in s.features&&(ne.SolanaSignAndSendTransaction in s.features||ne.SolanaSignTransaction in s.features)}var Bo;(function(s){s.Mainnet="mainnet-beta",s.Testnet="testnet",s.Devnet="devnet"})(Bo||(Bo={}));const o0="Bitget";class a0 extends aa{constructor(e={}){super(),this.name=o0,this.url="https://web3.bitget.com",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSIjMDAxRjI5Ii8+CjxwYXRoIGQ9Ik0yMTkuOTQ4IDk1LjcwMjJDMjAxLjYyMyA5NS42OTI5IDE4My4zMyA5NS42ODM1IDE2NC45NDEgOTUuNzExNkMxNTMuODIyIDk1LjcxMTYgMTQ5LjY1MSAxMDkuNjcxIDE1Ny45MjEgMTE3LjkzOUwyODMuMDk4IDI0My4xMTdDMjg3LjAwNCAyNDYuNjkgMjg5LjQ0MSAyNTAuNTc0IDI4OS41MyAyNTUuNjkzQzI4OS40NDEgMjYwLjgxMiAyODcuMDA0IDI2NC42OTYgMjgzLjA5OCAyNjguMjY5TDE1Ny45MjEgMzkzLjQ0NkMxNDkuNjUxIDQwMS43MTUgMTUzLjgyMiA0MTUuNjc0IDE2NC45NDEgNDE1LjY3NEMxODMuMzMgNDE1LjcwMiAyMDEuNjIzIDQxNS42OTMgMjE5Ljk0OCA0MTUuNjgzQzIyOS4xMjIgNDE1LjY3OSAyMzguMzA1IDQxNS42NzQgMjQ3LjUxMSA0MTUuNjc0QzI1OS41NTUgNDE1LjY3NCAyNjYuNzIgNDA5LjI0IDI3My4xNTQgNDAyLjgwNUwzODYuMDQ3IDI4OS45MTJDMzk1LjA1NyAyODAuOTAyIDQwMy4xMTkgMjY4LjkzOSA0MDMuMDA5IDI1NS42OTNDNDAzLjExOSAyNDIuNDQ3IDM5NS4wNTcgMjMwLjQ4NCAzODYuMDQ3IDIyMS40NzRMMjczLjE1NCAxMDguNThDMjY2LjcyIDEwMi4xNDYgMjU5LjU1NSA5NS43MTE2IDI0Ny41MTEgOTUuNzExNkMyMzguMzA1IDk1LjcxMTYgMjI5LjEyMiA5NS43MDY5IDIxOS45NDggOTUuNzAyMloiIGZpbGw9IiMwMEYwRkYiLz4KPC9zdmc+Cg==",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.bitkeep?.solana?.isBitKeep?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.bitkeep.solana;let t;try{t=await e.getAccount()}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch(t){this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{const{signature:i}=await t.signMessage(e);return i}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const c0="Clover";class l0 extends aa{constructor(e={}){super(),this.name=c0,this.url="https://clv.org",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2LjQ4IDBIMTEuNTJDNS4xNTc2OCAwIDAgNS4xNTc2OCAwIDExLjUyVjM2LjQ4QzAgNDIuODQyMyA1LjE1NzY4IDQ4IDExLjUyIDQ4SDM2LjQ4QzQyLjg0MjMgNDggNDggNDIuODQyMyA0OCAzNi40OFYxMS41MkM0OCA1LjE1NzY4IDQyLjg0MjMgMCAzNi40OCAwWiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzc5MTBfMTYzMzUxKSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI0LjAwMDYgMzkuMzYwNkMzMi40ODM3IDM5LjM2MDYgMzkuMzYwNiAzMi40ODM3IDM5LjM2MDYgMjQuMDAwNkMzOS4zNjA2IDE1LjUxNzUgMzIuNDgzNyA4LjY0MDYyIDI0LjAwMDYgOC42NDA2MkMxNS41MTc1IDguNjQwNjIgOC42NDA2MiAxNS41MTc1IDguNjQwNjIgMjQuMDAwNkM4LjY0MDYyIDMyLjQ4MzcgMTUuNTE3NSAzOS4zNjA2IDI0LjAwMDYgMzkuMzYwNlpNMjEuMjg5OSAxNS44Njg4SDI2LjcxMVYyMS4zNDdIMjEuMjkwNFYyNi42NTRIMjYuNzExVjMyLjEzMjJIMjEuMjg5OVYyNi44MjUySDE1Ljg2OTNWMjEuMzQ3SDIxLjI4OTlWMTUuODY4OFpNMjYuNzEyIDIxLjM0N0gzMi4xMzMxVjI2LjgyNTJIMjYuNzEyVjIxLjM0N1oiIGZpbGw9ImJsYWNrIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfNzkxMF8xNjMzNTEiIHgxPSI0OCIgeTE9Ii0xLjQzMDUxZS0wNiIgeDI9IjEuNDMwNTFlLTA2IiB5Mj0iNDgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0E5RkZFMCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NkQ1RkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4=",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.clover_solana?.isCloverWallet?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.clover_solana;let t;try{t=await e.getAccount()}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){this._wallet&&(this._wallet=null,this._publicKey=null),this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{const{signature:i}=await t.signMessage(e);return Uint8Array.from(i)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}function h0(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var u0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const ol=h0(u0),d0="Coin98";class p0 extends aa{constructor(e={}){super(),this.name=d0,this.url="https://coin98.com",this.icon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NiA3NSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIxMDEuNjgxJSIgeDI9Ii0xLjU1NyUiIHkxPSIxNS4yNjglIiB5Mj0iODQuOTE3JSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNGMUQ5NjEiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjQ0RBMTQ2Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHJlY3Qgd2lkdGg9Ijc1IiBoZWlnaHQ9Ijc1IiBmaWxsPSIjMDAwIiByeD0iMTYiLz4KICAgIDxwYXRoIGZpbGw9InVybCgjYSkiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYxLjQ0IDBhMTMuNzE0IDEzLjcxNCAwIDAgMSA5LjY4IDQuMDEgMTMuNjYxIDEzLjY2MSAwIDAgMSA0LjAwOCA5LjY2OHY0Ny42NDZhMTMuNjYgMTMuNjYgMCAwIDEtNC4wMDcgOS42NjZBMTMuNzEzIDEzLjcxMyAwIDAgMSA2MS40NCA3NUgxMy42ODZhMTMuNzEzIDEzLjcxMyAwIDAgMS05LjY4LTQuMDFBMTMuNjYgMTMuNjYgMCAwIDEgMCA2MS4zMjRWMTMuNjc4YzAtMy42MjUgMS40NC03LjEwMiA0LjAwNy05LjY2N0ExMy43MTQgMTMuNzE0IDAgMCAxIDEzLjY4NyAwWk0yMC4wNjMgNDYuMjMxaC00LjgyNWExMC4wMzIgMTAuMDMyIDAgMCAwIDIuOTQ2IDcuMDg2IDEwLjA3IDEwLjA3IDAgMCAwIDcuMSAyLjk0MiAxMC4wNjUgMTAuMDY1IDAgMCAwIDcuMTA4LTIuOTM1IDEwLjAzIDEwLjAzIDAgMCAwIDIuOTQ2LTcuMDkzaC00LjgyNGE1LjIwNyA1LjIwNyAwIDAgMS0xLjUzIDMuNjg4IDUuMjI1IDUuMjI1IDAgMCAxLTMuNjk2IDEuNTI4IDUuMjM0IDUuMjM0IDAgMCAxLTMuNjk1LTEuNTI4IDUuMjEzIDUuMjEzIDAgMCAxLTEuNTMtMy42ODhaTTU0LjMzIDMzLjcxNmExMS43NjMgMTEuNzYzIDAgMCAwLTEyLjc5OSAyLjUzOEExMS42OTcgMTEuNjk3IDAgMCAwIDM4Ljk5IDQ5LjAzYTExLjcyMyAxMS43MjMgMCAwIDAgNC4zMjggNS4yNTkgMTEuNzU3IDExLjc1NyAwIDAgMCA2LjUyNiAxLjk3IDExLjc2NiAxMS43NjYgMCAwIDAgOC4yOS0zLjQzNSAxMS43MiAxMS43MiAwIDAgMCAzLjQ0Mi04LjI3NCAxMS43MDIgMTEuNzAyIDAgMCAwLTEuOTc1LTYuNTE0IDExLjczNiAxMS43MzYgMCAwIDAtNS4yNjktNC4zMlptLTQuNDg4IDMuOTJhNi45MzcgNi45MzcgMCAwIDEgNC45IDIuMDI1IDYuOTEgNi45MSAwIDAgMSAyLjAyOCA0Ljg5MiA2Ljg5NyA2Ljg5NyAwIDAgMS0xLjE3IDMuODM0IDYuOTMyIDYuOTMyIDAgMCAxLTEwLjY0MyAxLjA0MiA2LjkwMiA2LjkwMiAwIDAgMS0xLjUtNy41MjIgNi45MDkgNi45MDkgMCAwIDEgMi41NDQtMy4xIDYuOTI4IDYuOTI4IDAgMCAxIDMuODQxLTEuMTY3Wm0uMTcgNC41NTJhMi40MzEgMi40MzEgMCAwIDAtMi4yNDEgMS4xNTQgMi40MTggMi40MTggMCAwIDAtLjM1NiAxLjI1NyAyLjM5NSAyLjM5NSAwIDAgMCAxLjYxOSAyLjI5djEuNzUzaDEuNjE4di0xLjc1NGEyLjQyNyAyLjQyNyAwIDAgMCAxLjU5NC0xLjk1IDIuNDE4IDIuNDE4IDAgMCAwLTEtMi4zMSAyLjQzMSAyLjQzMSAwIDAgMC0xLjIzNC0uNDRabS0yMC4yMi0yMi41NTJhMTEuNzYyIDExLjc2MiAwIDAgMC0xMi43OTYgMi41MzEgMTEuNjk3IDExLjY5NyAwIDAgMC0yLjU1NCAxMi43NjkgMTEuNzIzIDExLjcyMyAwIDAgMCA0LjMyIDUuMjYyIDExLjc1NyAxMS43NTcgMCAwIDAgMTQuODI1LTEuNDQ2IDExLjcxNyAxMS43MTcgMCAwIDAgMy40NDUtOC4yODQgMTEuNzAzIDExLjcwMyAwIDAgMC0xLjk3NC02LjUxMiAxMS43MzYgMTEuNzM2IDAgMCAwLTUuMjY2LTQuMzJabS00LjUxIDMuOTE3YTYuOTQ1IDYuOTQ1IDAgMCAxIDQuODk3IDIuMDI5IDYuOTE4IDYuOTE4IDAgMCAxIDIuMDMyIDQuODg2IDYuOTA2IDYuOTA2IDAgMCAxLTEuMTY4IDMuODQyIDYuOTQgNi45NCAwIDAgMS0xMC42NiAxLjA0OCA2LjkxMSA2LjkxMSAwIDAgMS0xLjUtNy41MzYgNi45MTggNi45MTggMCAwIDEgMi41NS0zLjEwMyA2LjkzNyA2LjkzNyAwIDAgMSAzLjg1LTEuMTY2Wm0yNC41Ni00LjgxYTEwLjA1OSAxMC4wNTkgMCAwIDAtNy4xMDMgMi45NCAxMC4wMiAxMC4wMiAwIDAgMC0yLjk0IDcuMDkgOS45IDkuOSAwIDAgMCAxLjIzIDQuNzk1IDEzLjU3NSAxMy41NzUgMCAwIDEgNC4yMTQtMi4zMjIgNS4wODIgNS4wODIgMCAwIDEtLjYyNS0yLjQ3NyA1LjIwNiA1LjIwNiAwIDAgMSAxLjUwMy0zLjczNiA1LjIyMyA1LjIyMyAwIDAgMSAzLjcyMi0xLjU1NCA1LjIzNCA1LjIzNCAwIDAgMSAzLjcyIDEuNTU0IDUuMjEzIDUuMjEzIDAgMCAxIDEuNTA1IDMuNzM2IDUuMjc5IDUuMjc5IDAgMCAxLS42MjMgMi40NzMgMTMuNTc0IDEzLjU3NCAwIDAgMSA0LjIxMyAyLjMyMiA5LjkwMyA5LjkwMyAwIDAgMCAxLjIzLTQuNzk1IDEwLjAzMiAxMC4wMzIgMCAwIDAtMi45NDYtNy4wODYgMTAuMDcgMTAuMDcgMCAwIDAtNy4xLTIuOTRabS0yMy43NSA3Ljk5aC0xLjYxN3YxLjc1YTIuNDE5IDIuNDE5IDAgMCAwLTEuNTgyIDIuNjg3IDIuNDE0IDIuNDE0IDAgMCAwIDIuMzkgMi4wMDYgMi40NSAyLjQ1IDAgMCAwIDEuNTU1LS41NzQgMi40MTQgMi40MTQgMCAwIDAtLjc0Ni00LjExOXYtMS43NVoiLz4KICA8L2c+Cjwvc3ZnPgo=",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.coin98?.sol?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get connected(){return!!this._wallet?.isConnected()}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.coin98.sol;let t;try{t=(await e.connect())[0]}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch(t){this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{const i=await t.request({method:"sol_sign",params:[e]}),r=new Ve.PublicKey(i.publicKey),n=ol.decode(i.signature);return e.addSignature(r,P.Buffer.from(n)),e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{const i=await t.request({method:"sol_signAllTransactions",params:[e]}),r=new Ve.PublicKey(i.publicKey),n=i.signatures;return e.map((o,a)=>{const c=ol.decode(n[a]);return o.addSignature(r,P.Buffer.from(c)),o})}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{const i=await t.request({method:"sol_signMessage",params:[e]});return ol.decode(i.signature)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const g0="Nightly";class ww extends aa{constructor(){super(),this.name=g0,this.url="https://nightly.app",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iOTYiIHZpZXdCb3g9IjAgMCA5NiA5NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQ4IDk2Qzc0LjUwOTcgOTYgOTYgNzQuNTA5NyA5NiA0OEM5NiAyMS40OTAzIDc0LjUwOTcgMCA0OCAwQzIxLjQ5MDMgMCAwIDIxLjQ5MDMgMCA0OEMwIDc0LjUwOTcgMjEuNDkwMyA5NiA0OCA5NloiIGZpbGw9IiM2RDczRjgiLz4KPHBhdGggZD0iTTQ4IDg1LjYzNTZDNDggODUuNjM1NiA1Mi40NTMzIDg1LjYzNTYgNTUuNDQgODIuNTg2N0M1OC45MTU1IDc5LjI4MDEgNTcuMzUxMSA3NS40MzEyIDYyLjI3NTUgNzEuNDMxMkM2Ni45ODY2IDY3LjY0NDUgNzIuOTI0NCA3MC4zMzc5IDcyLjkyNDQgNzAuMzM3OUM3Ny4wMjIyIDYyLjEyNDUgNzQuNzkxMSA1Mi41NjkgNzQuNzkxMSA1Mi41NjlDODEuNzY4OCAzNC4yNTc5IDc1Ljk2NDQgMjEuMTU1NyA3NC40NDQ0IDE3LjM2MDFDNjkuNDQ4OCAyNC4zMzc5IDYzLjE5MTEgMjkuMTczNCA1NS43OTU1IDMyLjQwOUM1My4yMjY2IDMxLjcwNjggNTAuNTk1NSAzMS4zMzM0IDQ4IDMxLjM2MDFDNDUuNDEzMyAzMS4zMzM0IDQyLjc3MzMgMzEuNzA2OCA0MC4yMDQ0IDMyLjQwOUMzMi44MTc3IDI5LjE2NDUgMjYuNTUxMSAyNC4zMzc5IDIxLjU1NTUgMTcuMzYwMUMyMC4wMzU1IDIxLjE1NTcgMTQuMjMxMSAzNC4yNTc5IDIxLjIwODkgNTIuNTY5QzIxLjIwODkgNTIuNTY5IDE4Ljk3NzggNjIuMTI0NSAyMy4wNzU1IDcwLjMzNzlDMjMuMDc1NSA3MC4zMzc5IDI5LjAxMzMgNjcuNjQ0NSAzMy43MjQ0IDcxLjQzMTJDMzguNjU3NyA3NS40MzEyIDM3LjA4NDQgNzkuMjgwMSA0MC41NiA4Mi41ODY3QzQzLjU0NjYgODUuNjM1NiA0OCA4NS42MzU2IDQ4IDg1LjYzNTZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNDIuNDc5OSA2NS4yOThDNDIuMjkzMyA1OS4yMTggMzYuMzAyMSA1Ny4yNjI0IDMyLjIxMzMgNTkuODIyNEMzMi4yMTMzIDU5LjgyMjQgMzIuODUzMyA2Mi40MzU4IDM1LjgzOTkgNjMuNzUxM0MzOC4yNzU1IDY0LjgyNjkgMzkuMzI0NCA2My4zODY5IDQyLjQ3OTkgNjUuMjk4WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNMjIuNDk3NyAyMy4wOTM1QzIwLjA4ODggMzEuNTQ2OCAyMS4xMjg4IDQyLjI0MDIgMjQuOTMzMyA1MC4wMjY5QzI4LjgyNjYgNDcuMjcxMyAzMi45MTU1IDQzLjAxMzUgMzUuMDkzMyAzOC41MDY5QzI5Ljk2NDQgMzQuNzExMyAyNS42NjIyIDMxLjEwMjQgMjIuNDk3NyAyMy4wOTM1WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNNTMuNTE5OSA2NS4yOThDNTMuNzA2NiA1OS4yMTggNTkuNjk3NyA1Ny4yNjI0IDYzLjc4NjYgNTkuODIyNEM2My43ODY2IDU5LjgyMjQgNjMuMTQ2NiA2Mi40MzU4IDYwLjE1OTkgNjMuNzUxM0M1Ny43MjQzIDY0LjgyNjkgNTYuNjc1NSA2My4zODY5IDUzLjUxOTkgNjUuMjk4WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNNzMuNTAyMiAyMy4wOTM1Qzc1LjkxMTEgMzEuNTQ2OCA3NC44NzExIDQyLjI0MDIgNzEuMDY2NiA1MC4wMjY5QzY3LjE3MzMgNDcuMjcxMyA2My4wODQ0IDQzLjAxMzUgNjAuOTA2NiAzOC41MDY5QzY2LjAzNTUgMzQuNzExMyA3MC4zMzc3IDMxLjEwMjQgNzMuNTAyMiAyMy4wOTM1WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNNDcuOTk5OSA4NS4zMDY5QzUwLjE0MDQgODUuMzA2OSA1MS44NzU1IDgzLjc3ODcgNTEuODc1NSA4MS44OTM2QzUxLjg3NTUgODAuMDA4NCA1MC4xNDA0IDc4LjQ4MDIgNDcuOTk5OSA3OC40ODAyQzQ1Ljg1OTUgNzguNDgwMiA0NC4xMjQ0IDgwLjAwODQgNDQuMTI0NCA4MS44OTM2QzQ0LjEyNDQgODMuNzc4NyA0NS44NTk1IDg1LjMwNjkgNDcuOTk5OSA4NS4zMDY5WiIgZmlsbD0iIzdCODFGOSIvPgo8L3N2Zz4K",this.supportedTransactionVersions=new Set(["legacy",0]),this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._publicKey=null,this._wallet=null,this._readyState!==pe.Unsupported&&oa(()=>window?.nightly?.solana?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get connecting(){return this._connecting}get readyState(){return this._readyState}get publicKey(){return this._publicKey}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.nightly.solana;try{await e.connect()}catch(i){throw new Dc(i?.message,i)}if(e.publicKey.toString()==="11111111111111111111111111111111")throw new Cs;let t;try{t=new Ve.PublicKey(e.publicKey.toBytes())}catch(i){throw new Tr(i?.message,i)}this._wallet=e,this._publicKey=t,this.emit("connect",t)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch{this.emit("error",new gw)}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{return t.signMessage(new TextDecoder().decode(e))}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const f0="Solong";class w0 extends du{constructor(e={}){super(),this.name=f0,this.url="https://solongwallet.io",this.icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAGlklEQVR4Ae3bA5DsyhfH8TNr49r2/du2bdu2bdu2zcdNrm3b9toz533rvctUn3Umk9p01WfdvVW/6nROBxJVS1rSkpa0pCUtaUlLWtKSpl4VXos3GJ4sujQFuUKfWl+qT730arzB8Ex9YksKcgXjFOCVeIPhBYydB8mawQ+yiGC8n0EN6zAVcgXhpQjoq1DDdsyDAAB9Pwo1HMC9INk0FIM8Bt1Qh9WohQQCvD+BtEMdtmC8I7y5aIE67MV0SBwDvB3qsE/UHwMJIpC/QB1OYiLEEeCPoQ7nMRcSwwDrao3Zl8aTIEGEUYlL0IAMXuQOr66UvsegDm+ExDJAPNiafSg0AlyIbmjAWX1aQzEkiH6T0QkNaEdpnAN8NNRhPcSF9e9el2ebBhyAuNBvGtLQgIuQOAd4D6jDMRQbM3AmOqEBDfq0xjJIEP3GohkakEFVjAP0y401sAsLnAE+pb6EsC5AA9J4sHsG+kX0PQR1eFJ8AwTWQh0+DjFm4a1Qh2/AOoz/BHX4ZdwD/CDU4aioX2GUMW+AOnB2bqiBBDHe86EOTYw5GRKJwQ/ijUM91OGTxgysxSmowzeNw7j08m5DHX4l7Igg2TY0g9hbLBZ+f7oxC98CdWjDvYzD+MVQh07GfEQsZyDgVWA71OGvorfnQQCAcqaYUFZDHW6j/itAoB70GcergzqsEa0rhGTTEA7mP0koK4xdyeOMmvBBhJU2zsjPMw7lu9O3zShpXheHk4hhcZ4w26AOG4RSxDiUfwZ12KdPqy+FBDHeV6EOZxizIg6HsMGbiQ5jdjzBXRfeefGg3tgbv9BYC0fhZE7sjUMY9Pf9rdcI5XtQh39BjBA/C3VYnM0zcgiDek+GOhzh93mQoMs7kIxze/eMhnxIEOPNM9bcFtTEeAb6I419axu/m2CsgxU4Aw1A/UxIUM/bO/9+cVkDDd5x42x8N1iH8Taow0NhHcZLoQ5Pi/MMzDMW+DTu7g6vIY9AdkAdHmaUMyn6roA6PD22AeLB6DbWplHG7LubfY+kfiIkiH5T0AJ1uFtMA1xUzOc1UIclzvCeXF+o7DygDlvds29RgVVzYj+K4xhgEX4NdcjgecE++rSL+ZdLmIxRB77Ose7l4XPIQB3eF8M60C/n8++ghltE/QLIFfqUiyUE8kOoYSW7jmLIFXeN4X0NaajDDlG/NG6XswrxKdxu+G/weh27j3wCej9uN9zEOjc3sObl4S243XBLhDfWE0mAMQjwZfhxDng7pG/8Sj4/ER/Gd/BdfBhPRGW2A/wxNAfcBOnFCHwZZ6GGs/gqapMAb/QEnIT20Uk8IQkQeB7aof3UihcM9wDvhyboANHXv1+IdWBOB2hsIftto+iSPEif8aGPcjrA50GHyPMiOIT9B/N5apaMgQT8D2poxMdwt8s+hkao4X9ZDxBTIdHwy/h8AeqQxhMhAU9BB9ThPMqHTYCYjU6owy3uPstSfL4Z6uZPC+Mk8gOomz8DEg3vXshAHb4MMXwZarhXGDPwa739w2j48623BPAniOFPUMPsMAL8INTw9AgDrLZOCmjFPEjA3WD1aUJVGAG+CGr4ECRCy6GGg3iyaF0+n/PwFByEGpaJ+qkw1sB7QA3/hUTozdBetFymvXhTWGVMOc7bp36/FhKRamNW9dcxZmpZiI+32ad+vAQSoWejGzpAXXh22Fek3wY1rDD2kVnijR3ExYQMPgkJOUB/nFW0Is3vnw6JhlHX9a4N70Iq/ACBv0MNu7J9WxHw7jaA2deFOtw32zeVHtHLWvMN0dtSkOzwS3spYy7iH1hx2d/wYdyTvnkR3BdeQjjerVBDN14JyZIfQWH5RC7e1rw32npZV54LCc+SPD5/HgqYD3WW5+gTqt6X+rA4v0701hRkKF0+bL+HTM9Hgv/MHH60wyvHWigsafwA1ZAhMguLoL34kbDcQEI1uAH8mcbuxPHImf8i5EMGxqvER9EI7cUqVMTl0Y6HoxHaBzvxNkyC9EEe7oEv4Sy0D/YQ+IS4ver1JNT38z7sWnwbb8TT8Cg8Gs/Gu/Ar7EEXtI/2ud7Ni0GAYCbiJDQiazA57k9nTcdqaJb9UtSvitXbmjavCJ9AMzRkJ/B80boUJBLhDe7Nw1/QCR1i9fgKRg6HByzvjZ/hInQQMjiCT2PSMHxC1a/l8wvwGxyG9kEaW/EtPI4xiiE5JcLrd6PxcLwM78SH8EG8Fc/H/UUXVUByGh8SSYBJgEmASYCJJMAkwBi6A3xCqZhiBz8+AAAAAElFTkSuQmCC",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.solong?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get connected(){return!!this._wallet?.currentAccount}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.solong;let t;try{t=await e.selectAccount()}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){this._wallet&&(this._wallet=null,this._publicKey=null),this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const y0="Torus";class m0 extends aa{constructor({params:e={showTorusButton:!1}}={params:{showTorusButton:!1}}){super(),this.name=y0,this.url="https://tor.us",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMyAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYuNSIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzAzNjRGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjIxODYgOS40OTIxOUMxMC40NTM5IDkuNDkyMTkgOS44MzM5OCAxMC4xMTIxIDkuODMzOTggMTAuODc2OFYxMi40ODk4QzkuODMzOTggMTMuMjU0NSAxMC40NTM5IDEzLjg3NDQgMTEuMjE4NiAxMy44NzQ0SDEzLjY2ODRWMjIuODk3NkMxMy42Njg0IDIzLjY2MjMgMTQuMjg4MyAyNC4yODIyIDE1LjA1MyAyNC4yODIySDE2LjY2NkMxNy40MzA3IDI0LjI4MjIgMTguMDUwNiAyMy42NjIzIDE4LjA1MDYgMjIuODk3NlYxMi41MDE1QzE4LjA1MDYgMTIuNDk3NiAxOC4wNTA2IDEyLjQ5MzcgMTguMDUwNiAxMi40ODk4VjEwLjg3NjhDMTguMDUwNiAxMC4xMTIxIDE3LjQzMDcgOS40OTIxOSAxNi42NjYgOS40OTIxOUgxNS4wNTNIMTEuMjE4NloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMS4zMzc2IDEzLjg3NDRDMjIuNTQ3NyAxMy44NzQ0IDIzLjUyODcgMTIuODkzNCAyMy41Mjg3IDExLjY4MzNDMjMuNTI4NyAxMC40NzMyIDIyLjU0NzcgOS40OTIxOSAyMS4zMzc2IDkuNDkyMTlDMjAuMTI3NSA5LjQ5MjE5IDE5LjE0NjUgMTAuNDczMiAxOS4xNDY1IDExLjY4MzNDMTkuMTQ2NSAxMi44OTM0IDIwLjEyNzUgMTMuODc0NCAyMS4zMzc2IDEzLjg3NDRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.Loadable,this._connecting=!1,this._wallet=null,this._publicKey=null,this._params=e}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get connected(){return!!this._wallet?.isLoggedIn}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Loadable)throw new Wi;this._connecting=!0;let e;try{e=(await Promise.resolve().then(()=>require("./solanaEmbed.esm-C_RfOZKY.js"))).default}catch(n){throw new i0(n?.message,n)}let t;try{t=window.torus||new e}catch(n){throw new Nn(n?.message,n)}if(!t.isInitialized)try{await t.init(this._params)}catch(n){throw new Dc(n?.message,n)}let i;try{i=await t.login()}catch(n){throw new Cs(n?.message,n)}let r;try{r=new Ve.PublicKey(i[0])}catch(n){throw new Tr(n?.message,n)}this._wallet=t,this._publicKey=r,this.emit("connect",r)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{e.isLoggedIn&&await e.cleanUp()}catch(t){this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async sendTransaction(e,t,i={}){try{const r=this._wallet;if(!r)throw new Ke;try{const{signers:n,...o}=i;e=await this.prepareTransaction(e,t,o),n?.length&&e.partialSign(...n),o.preflightCommitment=o.preflightCommitment||t.commitment;const{signature:a}=await r.signAndSendTransaction(e,o);return a}catch(n){throw n instanceof Dt?n:new pr(n?.message,n)}}catch(r){throw this.emit("error",r),r}}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signMessage(e)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}function al(s){switch(s){case"processed":case"confirmed":case"finalized":case void 0:return s;case"recent":return"processed";case"single":case"singleGossip":return"confirmed";case"max":case"root":return"finalized";default:return}}const b0="https://api.mainnet-beta.solana.com";function v0(s){return s.includes(b0)?ne.SOLANA_MAINNET_CHAIN:/\bdevnet\b/i.test(s)?ne.SOLANA_DEVNET_CHAIN:/\btestnet\b/i.test(s)?ne.SOLANA_TESTNET_CHAIN:/\blocalhost\b/i.test(s)||/\b127\.0\.0\.1\b/.test(s)?ne.SOLANA_LOCALNET_CHAIN:ne.SOLANA_MAINNET_CHAIN}var pc;(function(s){s.Mainnet="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",s.Devnet="solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",s.Deprecated_Mainnet="solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ",s.Deprecated_Devnet="solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"})(pc||(pc={}));var _s;(function(s){s.signTransaction="solana_signTransaction",s.signMessage="solana_signMessage",s.signAndSendTransaction="solana_signAndSendTransaction",s.signAndSendAllTransactions="solana_signAndSendAllTransactions",s.signAllTransactions="solana_signAllTransactions"})(_s||(_s={}));const ft={Mainnet:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",Devnet:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",Deprecated_Mainnet:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ",Deprecated_Devnet:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"};var I0=Object.defineProperty,E0=(s,e,t)=>e in s?I0(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,yd=(s,e,t)=>E0(s,typeof e!="symbol"?e+"":e,t);let A0=class extends u.IEvents{constructor(e){super(),this.opts=e,yd(this,"protocol","wc"),yd(this,"version",2)}};var _0=Object.defineProperty,N0=(s,e,t)=>e in s?_0(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,C0=(s,e,t)=>N0(s,e+"",t);let S0=class extends u.IEvents{constructor(e,t){super(),this.core=e,this.logger=t,C0(this,"records",new Map)}},$0=class{constructor(e,t){this.logger=e,this.core=t}},T0=class extends u.IEvents{constructor(e,t){super(),this.relayer=e,this.logger=t}},P0=class extends u.IEvents{constructor(e){super()}},x0=class{constructor(e,t,i,r){this.core=e,this.logger=t,this.name=i}},O0=class extends u.IEvents{constructor(e,t){super(),this.relayer=e,this.logger=t}},M0=class extends u.IEvents{constructor(e,t){super(),this.core=e,this.logger=t}},D0=class{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}},k0=class{constructor(e,t){this.projectId=e,this.logger=t}},j0=class{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}};var R0=Object.defineProperty,U0=(s,e,t)=>e in s?R0(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,md=(s,e,t)=>U0(s,typeof e!="symbol"?e+"":e,t);let L0=class{constructor(e){this.opts=e,md(this,"protocol","wc"),md(this,"version",2)}},z0=class{constructor(e){this.client=e}};function Ho(s,{strict:e=!0}={}){return!s||typeof s!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(s):s.startsWith("0x")}function bd(s){return Ho(s,{strict:!1})?Math.ceil((s.length-2)/2):s.length}const yw="2.23.2";let cl={getDocsUrl:({docsBaseUrl:s,docsPath:e="",docsSlug:t})=>e?`${s??"https://viem.sh"}${e}${t?`#${t}`:""}`:void 0,version:`viem@${yw}`},kc=class rh extends Error{constructor(e,t={}){const i=t.cause instanceof rh?t.cause.details:t.cause?.message?t.cause.message:t.details,r=t.cause instanceof rh&&t.cause.docsPath||t.docsPath,n=cl.getDocsUrl?.({...t,docsPath:r}),o=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...i?[`Details: ${i}`]:[],...cl.version?[`Version: ${cl.version}`]:[]].join(`
|
|
2
|
-
`);super(o,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=r,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=yw}walk(e){return mw(this,e)}};function mw(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause!==void 0?mw(s.cause,e):e?null:s}let bw=class extends kc{constructor({size:e,targetSize:t,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}};function Bn(s,{dir:e,size:t=32}={}){return typeof s=="string"?F0(s,{dir:e,size:t}):q0(s,{dir:e,size:t})}function F0(s,{dir:e,size:t=32}={}){if(t===null)return s;const i=s.replace("0x","");if(i.length>t*2)throw new bw({size:Math.ceil(i.length/2),targetSize:t,type:"hex"});return`0x${i[e==="right"?"padEnd":"padStart"](t*2,"0")}`}function q0(s,{dir:e,size:t=32}={}){if(t===null)return s;if(s.length>t)throw new bw({size:s.length,targetSize:t,type:"bytes"});const i=new Uint8Array(t);for(let r=0;r<t;r++){const n=e==="right";i[n?r:t-r-1]=s[n?r:s.length-r-1]}return i}let B0=class extends kc{constructor({max:e,min:t,signed:i,size:r,value:n}){super(`Number "${n}" is not in safe ${r?`${r*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}},H0=class extends kc{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function Hn(s,{size:e}){if(bd(s)>e)throw new H0({givenSize:bd(s),maxSize:e})}function nh(s,e={}){const{signed:t}=e;e.size&&Hn(s,{size:e.size});const i=BigInt(s);if(!t)return i;const r=(s.length-2)/2,n=(1n<<BigInt(r)*8n-1n)-1n;return i<=n?i:i-BigInt(`0x${"f".padStart(r*2,"f")}`)-1n}function W0(s,e={}){return Number(nh(s,e))}const V0=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function oh(s,e={}){return typeof s=="number"||typeof s=="bigint"?Iw(s,e):typeof s=="string"?Y0(s,e):typeof s=="boolean"?K0(s,e):vw(s,e)}function K0(s,e={}){const t=`0x${Number(s)}`;return typeof e.size=="number"?(Hn(t,{size:e.size}),Bn(t,{size:e.size})):t}function vw(s,e={}){let t="";for(let r=0;r<s.length;r++)t+=V0[s[r]];const i=`0x${t}`;return typeof e.size=="number"?(Hn(i,{size:e.size}),Bn(i,{dir:"right",size:e.size})):i}function Iw(s,e={}){const{signed:t,size:i}=e,r=BigInt(s);let n;i?t?n=(1n<<BigInt(i)*8n-1n)-1n:n=2n**(BigInt(i)*8n)-1n:typeof s=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&t?-n-1n:0;if(n&&r>n||r<o){const c=typeof s=="bigint"?"n":"";throw new B0({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:t,size:i,value:`${s}${c}`})}const a=`0x${(t&&r<0?(1n<<BigInt(i*8))+BigInt(r):r).toString(16)}`;return i?Bn(a,{size:i}):a}const G0=new TextEncoder;function Y0(s,e={}){const t=G0.encode(s);return vw(t,e)}const Q0=new TextEncoder;function J0(s,e={}){return typeof s=="number"||typeof s=="bigint"?X0(s,e):typeof s=="boolean"?Z0(s,e):Ho(s)?Ew(s,e):Aw(s,e)}function Z0(s,e={}){const t=new Uint8Array(1);return t[0]=Number(s),typeof e.size=="number"?(Hn(t,{size:e.size}),Bn(t,{size:e.size})):t}const oi={zero:48,nine:57,A:65,F:70,a:97,f:102};function vd(s){if(s>=oi.zero&&s<=oi.nine)return s-oi.zero;if(s>=oi.A&&s<=oi.F)return s-(oi.A-10);if(s>=oi.a&&s<=oi.f)return s-(oi.a-10)}function Ew(s,e={}){let t=s;e.size&&(Hn(t,{size:e.size}),t=Bn(t,{dir:"right",size:e.size}));let i=t.slice(2);i.length%2&&(i=`0${i}`);const r=i.length/2,n=new Uint8Array(r);for(let o=0,a=0;o<r;o++){const c=vd(i.charCodeAt(a++)),l=vd(i.charCodeAt(a++));if(c===void 0||l===void 0)throw new kc(`Invalid byte sequence ("${i[a-2]}${i[a-1]}" in "${i}").`);n[o]=c*16+l}return n}function X0(s,e){const t=Iw(s,e);return Ew(t)}function Aw(s,e={}){const t=Q0.encode(s);return typeof e.size=="number"?(Hn(t,{size:e.size}),Bn(t,{dir:"right",size:e.size})):t}function gc(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function eI(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function ca(s,...e){if(!eI(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function tI(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");gc(s.outputLen),gc(s.blockLen)}function ah(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function _w(s,e){ca(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Ma=BigInt(2**32-1),Id=BigInt(32);function sI(s,e=!1){return e?{h:Number(s&Ma),l:Number(s>>Id&Ma)}:{h:Number(s>>Id&Ma)|0,l:Number(s&Ma)|0}}function iI(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=sI(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const rI=(s,e,t)=>s<<t|e>>>32-t,nI=(s,e,t)=>e<<t|s>>>32-t,oI=(s,e,t)=>e<<t-32|s>>>64-t,aI=(s,e,t)=>s<<t-32|e>>>64-t,Rr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function cI(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function lI(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function hI(s,e){return s<<32-e|s>>>e}const Ed=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function uI(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function Ad(s){for(let e=0;e<s.length;e++)s[e]=uI(s[e])}function dI(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function pu(s){return typeof s=="string"&&(s=dI(s)),ca(s),s}function pI(...s){let e=0;for(let i=0;i<s.length;i++){const r=s[i];ca(r),e+=r.length}const t=new Uint8Array(e);for(let i=0,r=0;i<s.length;i++){const n=s[i];t.set(n,r),r+=n.length}return t}let Nw=class{clone(){return this._cloneInto()}};function Cw(s){const e=i=>s().update(pu(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function gI(s=32){if(Rr&&typeof Rr.getRandomValues=="function")return Rr.getRandomValues(new Uint8Array(s));if(Rr&&typeof Rr.randomBytes=="function")return Rr.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const Sw=[],$w=[],Tw=[],fI=BigInt(0),to=BigInt(1),wI=BigInt(2),yI=BigInt(7),mI=BigInt(256),bI=BigInt(113);for(let s=0,e=to,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],Sw.push(2*(5*i+t)),$w.push((s+1)*(s+2)/2%64);let r=fI;for(let n=0;n<7;n++)e=(e<<to^(e>>yI)*bI)%mI,e&wI&&(r^=to<<(to<<BigInt(n))-to);Tw.push(r)}const[vI,II]=iI(Tw,!0),_d=(s,e,t)=>t>32?oI(s,e,t):rI(s,e,t),Nd=(s,e,t)=>t>32?aI(s,e,t):nI(s,e,t);function EI(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=_d(l,h,1)^t[a],p=Nd(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=$w[o],c=_d(r,n,a),l=Nd(r,n,a),h=Sw[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=vI[i],s[1]^=II[i]}t.fill(0)}let AI=class Pw extends Nw{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,gc(i),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(){Ed||Ad(this.state32),EI(this.state32,this.rounds),Ed||Ad(this.state32),this.posOut=0,this.pos=0}update(e){ah(this);const{blockLen:t,state:i}=this;e=pu(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){ah(this,!1),ca(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return gc(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(_w(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new Pw(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const _I=(s,e,t)=>Cw(()=>new AI(e,s,t)),NI=_I(1,136,256/8);function xw(s,e){const t=e||"hex",i=NI(Ho(s,{strict:!1})?J0(s):s);return t==="bytes"?i:oh(i)}let CI=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const i=this.keys().next().value;i&&this.delete(i)}return this}};const ll=new CI(8192);function SI(s,e){if(ll.has(`${s}.${e}`))return ll.get(`${s}.${e}`);const t=s.substring(2).toLowerCase(),i=xw(Aw(t),"bytes"),r=t.split("");for(let o=0;o<40;o+=2)i[o>>1]>>4>=8&&r[o]&&(r[o]=r[o].toUpperCase()),(i[o>>1]&15)>=8&&r[o+1]&&(r[o+1]=r[o+1].toUpperCase());const n=`0x${r.join("")}`;return ll.set(`${s}.${e}`,n),n}function $I(s){const e=xw(`0x${s.substring(4)}`).substring(26);return SI(`0x${e}`)}async function TI({hash:s,signature:e}){const t=Ho(s)?s:oh(s),{secp256k1:i}=await Promise.resolve().then(()=>require("./secp256k1-7kqxZEAo.js"));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:h,v:d,yParity:p}=e,f=Number(p??d),g=Cd(f);return new i.Signature(nh(l),nh(h)).addRecoveryBit(g)}const o=Ho(e)?e:oh(e),a=W0(`0x${o.slice(130)}`),c=Cd(a);return i.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(t.substring(2)).toHex(!1)}`}function Cd(s){if(s===0||s===1)return s;if(s===27)return 0;if(s===28)return 1;throw new Error("Invalid yParityOrV value")}async function PI({hash:s,signature:e}){return $I(await TI({hash:s,signature:e}))}var Ow=wi.requireElliptic();const Mw=":";function xn(s){const[e,t]=s.split(Mw);return{namespace:e,reference:t}}function xI(s){const[e,t,i]=s.split(Mw);return{namespace:e,reference:t,address:i}}function Dw(s,e){return s.includes(":")?[s]:e.chains||[]}const OI="ReactNative",hs={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},MI="js";function fc(){return typeof P.process$1<"u"&&typeof P.process$1.versions<"u"&&typeof P.process$1.versions.node<"u"}function Vi(){return!u.cjsExports$2.getDocument()&&!!u.cjsExports$2.getNavigator()&&navigator.product===OI}function DI(){return Vi()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="android"}function kI(){return Vi()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="ios"}function la(){return!fc()&&!!u.cjsExports$2.getNavigator()&&!!u.cjsExports$2.getDocument()}function ha(){return Vi()?hs.reactNative:fc()?hs.node:la()?hs.browser:hs.unknown}function Sd(){var s;try{return Vi()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Application)<"u"?(s=P.global.Application)==null?void 0:s.applicationId:void 0}catch{return}}function jI(s,e){const t=new URLSearchParams(s);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const r=e[i];r!==void 0&&t.set(i,r)}return t.toString()}function kw(){return u.cjsExports.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function RI(){if(ha()===hs.reactNative&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"){const{OS:t,Version:i}=P.global.Platform;return[t,i].join("-")}const s=u.detect();if(s===null)return"unknown";const e=s.os?s.os.replace(" ","").toLowerCase():"unknown";return s.type==="browser"?[e,s.name,s.version].join("-"):[e,s.version].join("-")}function UI(){var s;const e=ha();return e===hs.browser?[e,((s=u.cjsExports$2.getLocation())==null?void 0:s.host)||"unknown"].join(":"):e}function jw(s,e,t){const i=RI(),r=UI();return[[s,e].join("-"),[MI,t].join("-"),i,r].join("/")}function LI({protocol:s,version:e,relayUrl:t,sdkVersion:i,auth:r,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=t.split("?"),h=jw(s,e,i),d={auth:r,ua:h,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},p=jI(l[1]||"",d);return l[0]+"?"+p}function gr(s,e){return s.filter(t=>e.includes(t)).length===s.length}function Rw(s){return Object.fromEntries(s.entries())}function Uw(s){return new Map(Object.entries(s))}function rr(s=u.cjsExports$1.FIVE_MINUTES,e){const t=u.cjsExports$1.toMiliseconds(s||u.cjsExports$1.FIVE_MINUTES);let i,r,n,o;return{resolve:a=>{n&&i&&(clearTimeout(n),i(a),o=Promise.resolve(a))},reject:a=>{n&&r&&(clearTimeout(n),r(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},t),i=a,r=c})}}function ji(s,e,t){return new Promise(async(i,r)=>{const n=setTimeout(()=>r(new Error(t)),e);try{const o=await s;i(o)}catch(o){r(o)}clearTimeout(n)})}function Lw(s,e){if(typeof e=="string"&&e.startsWith(`${s}:`))return e;if(s.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(s.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: ${s}`)}function zI(s){return Lw("topic",s)}function FI(s){return Lw("id",s)}function zw(s){const[e,t]=s.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function pt(s,e){return u.cjsExports$1.fromMiliseconds(Date.now()+u.cjsExports$1.toMiliseconds(s))}function xi(s){return Date.now()>=u.cjsExports$1.toMiliseconds(s)}function Te(s,e){return`${s}${e?`:${e}`:""}`}function sc(s=[],e=[]){return[...new Set([...s,...e])]}async function qI({id:s,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const r=typeof t=="string"?JSON.parse(t):t,n=r?.href;if(typeof n!="string")return;const o=BI(n,s,e),a=ha();if(a===hs.browser){if(!((i=u.cjsExports$2.getDocument())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}HI(o)}else a===hs.reactNative&&typeof(P.global==null?void 0:P.global.Linking)<"u"&&await P.global.Linking.openURL(o)}catch(r){console.error(r)}}function BI(s,e,t){const i=`requestId=${e}&sessionTopic=${t}`;s.endsWith("/")&&(s=s.slice(0,-1));let r=`${s}`;if(s.startsWith("https://t.me")){const n=s.includes("?")?"&startapp=":"?startapp=";r=`${r}${n}${GI(i,!0)}`}else r=`${r}/wc?${i}`;return r}function HI(s){let e="_self";KI()?e="_top":(VI()||s.startsWith("https://")||s.startsWith("http://"))&&(e="_blank"),window.open(s,e,"noreferrer noopener")}async function WI(s,e){let t="";try{if(la()&&(t=localStorage.getItem(e),t))return t;t=await s.getItem(e)}catch(i){console.error(i)}return t}function $d(s,e){if(!s.includes(e))return null;const t=s.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function Td(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,s=>{const e=Math.random()*16|0;return(s==="x"?e:e&3|8).toString(16)})}function gu(){return typeof P.process$1<"u"&&P.process$1.env.IS_VITEST==="true"}function VI(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function KI(){try{return window.self!==window.top}catch{return!1}}function GI(s,e=!1){const t=P.Buffer.from(s).toString("base64");return e?t.replace(/[=]/g,""):t}function Fw(s){return P.Buffer.from(s,"base64").toString("utf-8")}function YI(s){return new Promise(e=>setTimeout(e,s))}function Wo(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function QI(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function jc(s,...e){if(!QI(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function fu(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Wo(s.outputLen),Wo(s.blockLen)}function kn(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function qw(s,e){jc(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Da=BigInt(2**32-1),Pd=BigInt(32);function JI(s,e=!1){return e?{h:Number(s&Da),l:Number(s>>Pd&Da)}:{h:Number(s>>Pd&Da)|0,l:Number(s&Da)|0}}function ZI(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=JI(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const XI=(s,e,t)=>s<<t|e>>>32-t,e1=(s,e,t)=>e<<t|s>>>32-t,t1=(s,e,t)=>e<<t-32|s>>>64-t,s1=(s,e,t)=>s<<t-32|e>>>64-t,Ur=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function i1(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function hl(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Bs(s,e){return s<<32-e|s>>>e}const xd=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function r1(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function Od(s){for(let e=0;e<s.length;e++)s[e]=r1(s[e])}function n1(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function jn(s){return typeof s=="string"&&(s=n1(s)),jc(s),s}let wu=class{clone(){return this._cloneInto()}};function Bw(s){const e=i=>s().update(jn(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function ua(s=32){if(Ur&&typeof Ur.getRandomValues=="function")return Ur.getRandomValues(new Uint8Array(s));if(Ur&&typeof Ur.randomBytes=="function")return Ur.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const Hw=[],Ww=[],Vw=[],o1=BigInt(0),so=BigInt(1),a1=BigInt(2),c1=BigInt(7),l1=BigInt(256),h1=BigInt(113);for(let s=0,e=so,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],Hw.push(2*(5*i+t)),Ww.push((s+1)*(s+2)/2%64);let r=o1;for(let n=0;n<7;n++)e=(e<<so^(e>>c1)*h1)%l1,e&a1&&(r^=so<<(so<<BigInt(n))-so);Vw.push(r)}const[u1,d1]=ZI(Vw,!0),Md=(s,e,t)=>t>32?t1(s,e,t):XI(s,e,t),Dd=(s,e,t)=>t>32?s1(s,e,t):e1(s,e,t);function p1(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=Md(l,h,1)^t[a],p=Dd(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=Ww[o],c=Md(r,n,a),l=Dd(r,n,a),h=Hw[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=u1[i],s[1]^=d1[i]}t.fill(0)}let g1=class Kw extends wu{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Wo(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=i1(this.state)}keccak(){xd||Od(this.state32),p1(this.state32,this.rounds),xd||Od(this.state32),this.posOut=0,this.pos=0}update(e){kn(this);const{blockLen:t,state:i}=this;e=jn(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){kn(this,!1),jc(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Wo(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(qw(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new Kw(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const f1=(s,e,t)=>Bw(()=>new g1(e,s,t)),w1=f1(1,136,256/8),y1="https://rpc.walletconnect.org/v1";function Gw(s){const e=`Ethereum Signed Message:
|
|
1
|
+
"use strict";const Ve=require("./unsignedTransaction-DPs4ICFO.js"),ni=require("./hypercore-CHTw8bic.js"),ne=require("./index-CltqjT6y.js"),Jv=require("./util-G2vxTeU2.js"),Zv=require("./wallets-DLkIKXkb.js"),wi=require("./index-BHwMXTV2.js"),P=require("./platform-DH1Olrgt.js"),u=require("./index.es-B1Hb17ux.js"),Pn=require("./http-D4VeaDBj.js"),lr=require("./big-Be7jQQTz.js");class Xv extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}}function e0(s,{signal:e}={}){return new Promise((t,i)=>{const r=()=>{i(new Xv)},n=()=>{clearTimeout(o),r()};if(e?.aborted)return r();const o=setTimeout(()=>{e?.removeEventListener("abort",n),t()},s);e?.addEventListener("abort",n,{once:!0})})}const fd=0,t0=Number.POSITIVE_INFINITY;async function s0(s,e){let t,i,r;typeof e=="number"?(t=fd,i=e,r=void 0):(t=e?.delay??fd,i=e?.retries??t0,r=e?.signal);let n;for(let o=0;o<i;o++){if(r?.aborted)throw n??new Error("The retry operation was aborted due to an abort signal.");try{return await s()}catch(a){n=a;const c=typeof t=="function"?t(o):t;await e0(c)}}throw n}class Dt extends Error{constructor(e,t){super(e),this.error=t}}class Wi extends Dt{constructor(){super(...arguments),this.name="WalletNotReadyError"}}class i0 extends Dt{constructor(){super(...arguments),this.name="WalletLoadError"}}class Nn extends Dt{constructor(){super(...arguments),this.name="WalletConfigError"}}class Dc extends Dt{constructor(){super(...arguments),this.name="WalletConnectionError"}}class gw extends Dt{constructor(){super(...arguments),this.name="WalletDisconnectedError"}}class ra extends Dt{constructor(){super(...arguments),this.name="WalletDisconnectionError"}}class Cs extends Dt{constructor(){super(...arguments),this.name="WalletAccountError"}}class Tr extends Dt{constructor(){super(...arguments),this.name="WalletPublicKeyError"}}class Ke extends Dt{constructor(){super(...arguments),this.name="WalletNotConnectedError"}}class pr extends Dt{constructor(){super(...arguments),this.name="WalletSendTransactionError"}}class nt extends Dt{constructor(){super(...arguments),this.name="WalletSignTransactionError"}}class na extends Dt{constructor(){super(...arguments),this.name="WalletSignMessageError"}}class wd extends Dt{constructor(){super(...arguments),this.name="WalletSignInError"}}class r0 extends Dt{constructor(){super(...arguments),this.name="WalletWindowClosedError"}}var pe;(function(s){s.Installed="Installed",s.NotDetected="NotDetected",s.Loadable="Loadable",s.Unsupported="Unsupported"})(pe||(pe={}));class fw extends Ve.EventEmitter{get connected(){return!!this.publicKey}async autoConnect(){await this.connect()}async prepareTransaction(e,t,i={}){const r=this.publicKey;if(!r)throw new Ke;return e.feePayer=e.feePayer||r,e.recentBlockhash=e.recentBlockhash||(await t.getLatestBlockhash({commitment:i.preflightCommitment,minContextSlot:i.minContextSlot})).blockhash,e}}function oa(s){if(typeof window>"u"||typeof document>"u")return;const e=[];function t(){if(s())for(const n of e)n()}const i=setInterval(t,1e3);e.push(()=>clearInterval(i)),document.readyState==="loading"&&(document.addEventListener("DOMContentLoaded",t,{once:!0}),e.push(()=>document.removeEventListener("DOMContentLoaded",t))),document.readyState!=="complete"&&(window.addEventListener("load",t,{once:!0}),e.push(()=>window.removeEventListener("load",t))),t()}function yi(s){return"version"in s}class du extends fw{async sendTransaction(e,t,i={}){let r=!0;try{if(yi(e)){if(!this.supportedTransactionVersions)throw new pr("Sending versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(e.version))throw new pr(`Sending transaction version ${e.version} isn't supported by this wallet`);try{e=await this.signTransaction(e);const n=e.serialize();return await t.sendRawTransaction(n,i)}catch(n){throw n instanceof nt?(r=!1,n):new pr(n?.message,n)}}else try{const{signers:n,...o}=i;e=await this.prepareTransaction(e,t,o),n?.length&&e.partialSign(...n),e=await this.signTransaction(e);const a=e.serialize();return await t.sendRawTransaction(a,o)}catch(n){throw n instanceof nt?(r=!1,n):new pr(n?.message,n)}}catch(n){throw r&&this.emit("error",n),n}}async signAllTransactions(e){for(const i of e)if(yi(i)){if(!this.supportedTransactionVersions)throw new nt("Signing versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(i.version))throw new nt(`Signing transaction version ${i.version} isn't supported by this wallet`)}const t=[];for(const i of e)t.push(await this.signTransaction(i));return t}}class aa extends du{}function n0(s){return ne.StandardConnect in s.features&&ne.StandardEvents in s.features&&(ne.SolanaSignAndSendTransaction in s.features||ne.SolanaSignTransaction in s.features)}var Bo;(function(s){s.Mainnet="mainnet-beta",s.Testnet="testnet",s.Devnet="devnet"})(Bo||(Bo={}));const o0="Bitget";class a0 extends aa{constructor(e={}){super(),this.name=o0,this.url="https://web3.bitget.com",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSIjMDAxRjI5Ii8+CjxwYXRoIGQ9Ik0yMTkuOTQ4IDk1LjcwMjJDMjAxLjYyMyA5NS42OTI5IDE4My4zMyA5NS42ODM1IDE2NC45NDEgOTUuNzExNkMxNTMuODIyIDk1LjcxMTYgMTQ5LjY1MSAxMDkuNjcxIDE1Ny45MjEgMTE3LjkzOUwyODMuMDk4IDI0My4xMTdDMjg3LjAwNCAyNDYuNjkgMjg5LjQ0MSAyNTAuNTc0IDI4OS41MyAyNTUuNjkzQzI4OS40NDEgMjYwLjgxMiAyODcuMDA0IDI2NC42OTYgMjgzLjA5OCAyNjguMjY5TDE1Ny45MjEgMzkzLjQ0NkMxNDkuNjUxIDQwMS43MTUgMTUzLjgyMiA0MTUuNjc0IDE2NC45NDEgNDE1LjY3NEMxODMuMzMgNDE1LjcwMiAyMDEuNjIzIDQxNS42OTMgMjE5Ljk0OCA0MTUuNjgzQzIyOS4xMjIgNDE1LjY3OSAyMzguMzA1IDQxNS42NzQgMjQ3LjUxMSA0MTUuNjc0QzI1OS41NTUgNDE1LjY3NCAyNjYuNzIgNDA5LjI0IDI3My4xNTQgNDAyLjgwNUwzODYuMDQ3IDI4OS45MTJDMzk1LjA1NyAyODAuOTAyIDQwMy4xMTkgMjY4LjkzOSA0MDMuMDA5IDI1NS42OTNDNDAzLjExOSAyNDIuNDQ3IDM5NS4wNTcgMjMwLjQ4NCAzODYuMDQ3IDIyMS40NzRMMjczLjE1NCAxMDguNThDMjY2LjcyIDEwMi4xNDYgMjU5LjU1NSA5NS43MTE2IDI0Ny41MTEgOTUuNzExNkMyMzguMzA1IDk1LjcxMTYgMjI5LjEyMiA5NS43MDY5IDIxOS45NDggOTUuNzAyMloiIGZpbGw9IiMwMEYwRkYiLz4KPC9zdmc+Cg==",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.bitkeep?.solana?.isBitKeep?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.bitkeep.solana;let t;try{t=await e.getAccount()}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch(t){this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{const{signature:i}=await t.signMessage(e);return i}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const c0="Clover";class l0 extends aa{constructor(e={}){super(),this.name=c0,this.url="https://clv.org",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2LjQ4IDBIMTEuNTJDNS4xNTc2OCAwIDAgNS4xNTc2OCAwIDExLjUyVjM2LjQ4QzAgNDIuODQyMyA1LjE1NzY4IDQ4IDExLjUyIDQ4SDM2LjQ4QzQyLjg0MjMgNDggNDggNDIuODQyMyA0OCAzNi40OFYxMS41MkM0OCA1LjE1NzY4IDQyLjg0MjMgMCAzNi40OCAwWiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzc5MTBfMTYzMzUxKSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI0LjAwMDYgMzkuMzYwNkMzMi40ODM3IDM5LjM2MDYgMzkuMzYwNiAzMi40ODM3IDM5LjM2MDYgMjQuMDAwNkMzOS4zNjA2IDE1LjUxNzUgMzIuNDgzNyA4LjY0MDYyIDI0LjAwMDYgOC42NDA2MkMxNS41MTc1IDguNjQwNjIgOC42NDA2MiAxNS41MTc1IDguNjQwNjIgMjQuMDAwNkM4LjY0MDYyIDMyLjQ4MzcgMTUuNTE3NSAzOS4zNjA2IDI0LjAwMDYgMzkuMzYwNlpNMjEuMjg5OSAxNS44Njg4SDI2LjcxMVYyMS4zNDdIMjEuMjkwNFYyNi42NTRIMjYuNzExVjMyLjEzMjJIMjEuMjg5OVYyNi44MjUySDE1Ljg2OTNWMjEuMzQ3SDIxLjI4OTlWMTUuODY4OFpNMjYuNzEyIDIxLjM0N0gzMi4xMzMxVjI2LjgyNTJIMjYuNzEyVjIxLjM0N1oiIGZpbGw9ImJsYWNrIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfNzkxMF8xNjMzNTEiIHgxPSI0OCIgeTE9Ii0xLjQzMDUxZS0wNiIgeDI9IjEuNDMwNTFlLTA2IiB5Mj0iNDgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0E5RkZFMCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NkQ1RkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4=",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.clover_solana?.isCloverWallet?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.clover_solana;let t;try{t=await e.getAccount()}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){this._wallet&&(this._wallet=null,this._publicKey=null),this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{const{signature:i}=await t.signMessage(e);return Uint8Array.from(i)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}function h0(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var u0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const ol=h0(u0),d0="Coin98";class p0 extends aa{constructor(e={}){super(),this.name=d0,this.url="https://coin98.com",this.icon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NiA3NSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIxMDEuNjgxJSIgeDI9Ii0xLjU1NyUiIHkxPSIxNS4yNjglIiB5Mj0iODQuOTE3JSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNGMUQ5NjEiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjQ0RBMTQ2Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHJlY3Qgd2lkdGg9Ijc1IiBoZWlnaHQ9Ijc1IiBmaWxsPSIjMDAwIiByeD0iMTYiLz4KICAgIDxwYXRoIGZpbGw9InVybCgjYSkiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYxLjQ0IDBhMTMuNzE0IDEzLjcxNCAwIDAgMSA5LjY4IDQuMDEgMTMuNjYxIDEzLjY2MSAwIDAgMSA0LjAwOCA5LjY2OHY0Ny42NDZhMTMuNjYgMTMuNjYgMCAwIDEtNC4wMDcgOS42NjZBMTMuNzEzIDEzLjcxMyAwIDAgMSA2MS40NCA3NUgxMy42ODZhMTMuNzEzIDEzLjcxMyAwIDAgMS05LjY4LTQuMDFBMTMuNjYgMTMuNjYgMCAwIDEgMCA2MS4zMjRWMTMuNjc4YzAtMy42MjUgMS40NC03LjEwMiA0LjAwNy05LjY2N0ExMy43MTQgMTMuNzE0IDAgMCAxIDEzLjY4NyAwWk0yMC4wNjMgNDYuMjMxaC00LjgyNWExMC4wMzIgMTAuMDMyIDAgMCAwIDIuOTQ2IDcuMDg2IDEwLjA3IDEwLjA3IDAgMCAwIDcuMSAyLjk0MiAxMC4wNjUgMTAuMDY1IDAgMCAwIDcuMTA4LTIuOTM1IDEwLjAzIDEwLjAzIDAgMCAwIDIuOTQ2LTcuMDkzaC00LjgyNGE1LjIwNyA1LjIwNyAwIDAgMS0xLjUzIDMuNjg4IDUuMjI1IDUuMjI1IDAgMCAxLTMuNjk2IDEuNTI4IDUuMjM0IDUuMjM0IDAgMCAxLTMuNjk1LTEuNTI4IDUuMjEzIDUuMjEzIDAgMCAxLTEuNTMtMy42ODhaTTU0LjMzIDMzLjcxNmExMS43NjMgMTEuNzYzIDAgMCAwLTEyLjc5OSAyLjUzOEExMS42OTcgMTEuNjk3IDAgMCAwIDM4Ljk5IDQ5LjAzYTExLjcyMyAxMS43MjMgMCAwIDAgNC4zMjggNS4yNTkgMTEuNzU3IDExLjc1NyAwIDAgMCA2LjUyNiAxLjk3IDExLjc2NiAxMS43NjYgMCAwIDAgOC4yOS0zLjQzNSAxMS43MiAxMS43MiAwIDAgMCAzLjQ0Mi04LjI3NCAxMS43MDIgMTEuNzAyIDAgMCAwLTEuOTc1LTYuNTE0IDExLjczNiAxMS43MzYgMCAwIDAtNS4yNjktNC4zMlptLTQuNDg4IDMuOTJhNi45MzcgNi45MzcgMCAwIDEgNC45IDIuMDI1IDYuOTEgNi45MSAwIDAgMSAyLjAyOCA0Ljg5MiA2Ljg5NyA2Ljg5NyAwIDAgMS0xLjE3IDMuODM0IDYuOTMyIDYuOTMyIDAgMCAxLTEwLjY0MyAxLjA0MiA2LjkwMiA2LjkwMiAwIDAgMS0xLjUtNy41MjIgNi45MDkgNi45MDkgMCAwIDEgMi41NDQtMy4xIDYuOTI4IDYuOTI4IDAgMCAxIDMuODQxLTEuMTY3Wm0uMTcgNC41NTJhMi40MzEgMi40MzEgMCAwIDAtMi4yNDEgMS4xNTQgMi40MTggMi40MTggMCAwIDAtLjM1NiAxLjI1NyAyLjM5NSAyLjM5NSAwIDAgMCAxLjYxOSAyLjI5djEuNzUzaDEuNjE4di0xLjc1NGEyLjQyNyAyLjQyNyAwIDAgMCAxLjU5NC0xLjk1IDIuNDE4IDIuNDE4IDAgMCAwLTEtMi4zMSAyLjQzMSAyLjQzMSAwIDAgMC0xLjIzNC0uNDRabS0yMC4yMi0yMi41NTJhMTEuNzYyIDExLjc2MiAwIDAgMC0xMi43OTYgMi41MzEgMTEuNjk3IDExLjY5NyAwIDAgMC0yLjU1NCAxMi43NjkgMTEuNzIzIDExLjcyMyAwIDAgMCA0LjMyIDUuMjYyIDExLjc1NyAxMS43NTcgMCAwIDAgMTQuODI1LTEuNDQ2IDExLjcxNyAxMS43MTcgMCAwIDAgMy40NDUtOC4yODQgMTEuNzAzIDExLjcwMyAwIDAgMC0xLjk3NC02LjUxMiAxMS43MzYgMTEuNzM2IDAgMCAwLTUuMjY2LTQuMzJabS00LjUxIDMuOTE3YTYuOTQ1IDYuOTQ1IDAgMCAxIDQuODk3IDIuMDI5IDYuOTE4IDYuOTE4IDAgMCAxIDIuMDMyIDQuODg2IDYuOTA2IDYuOTA2IDAgMCAxLTEuMTY4IDMuODQyIDYuOTQgNi45NCAwIDAgMS0xMC42NiAxLjA0OCA2LjkxMSA2LjkxMSAwIDAgMS0xLjUtNy41MzYgNi45MTggNi45MTggMCAwIDEgMi41NS0zLjEwMyA2LjkzNyA2LjkzNyAwIDAgMSAzLjg1LTEuMTY2Wm0yNC41Ni00LjgxYTEwLjA1OSAxMC4wNTkgMCAwIDAtNy4xMDMgMi45NCAxMC4wMiAxMC4wMiAwIDAgMC0yLjk0IDcuMDkgOS45IDkuOSAwIDAgMCAxLjIzIDQuNzk1IDEzLjU3NSAxMy41NzUgMCAwIDEgNC4yMTQtMi4zMjIgNS4wODIgNS4wODIgMCAwIDEtLjYyNS0yLjQ3NyA1LjIwNiA1LjIwNiAwIDAgMSAxLjUwMy0zLjczNiA1LjIyMyA1LjIyMyAwIDAgMSAzLjcyMi0xLjU1NCA1LjIzNCA1LjIzNCAwIDAgMSAzLjcyIDEuNTU0IDUuMjEzIDUuMjEzIDAgMCAxIDEuNTA1IDMuNzM2IDUuMjc5IDUuMjc5IDAgMCAxLS42MjMgMi40NzMgMTMuNTc0IDEzLjU3NCAwIDAgMSA0LjIxMyAyLjMyMiA5LjkwMyA5LjkwMyAwIDAgMCAxLjIzLTQuNzk1IDEwLjAzMiAxMC4wMzIgMCAwIDAtMi45NDYtNy4wODYgMTAuMDcgMTAuMDcgMCAwIDAtNy4xLTIuOTRabS0yMy43NSA3Ljk5aC0xLjYxN3YxLjc1YTIuNDE5IDIuNDE5IDAgMCAwLTEuNTgyIDIuNjg3IDIuNDE0IDIuNDE0IDAgMCAwIDIuMzkgMi4wMDYgMi40NSAyLjQ1IDAgMCAwIDEuNTU1LS41NzQgMi40MTQgMi40MTQgMCAwIDAtLjc0Ni00LjExOXYtMS43NVoiLz4KICA8L2c+Cjwvc3ZnPgo=",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.coin98?.sol?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get connected(){return!!this._wallet?.isConnected()}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.coin98.sol;let t;try{t=(await e.connect())[0]}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch(t){this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{const i=await t.request({method:"sol_sign",params:[e]}),r=new Ve.PublicKey(i.publicKey),n=ol.decode(i.signature);return e.addSignature(r,P.Buffer.from(n)),e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{const i=await t.request({method:"sol_signAllTransactions",params:[e]}),r=new Ve.PublicKey(i.publicKey),n=i.signatures;return e.map((o,a)=>{const c=ol.decode(n[a]);return o.addSignature(r,P.Buffer.from(c)),o})}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{const i=await t.request({method:"sol_signMessage",params:[e]});return ol.decode(i.signature)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const g0="Nightly";class ww extends aa{constructor(){super(),this.name=g0,this.url="https://nightly.app",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iOTYiIHZpZXdCb3g9IjAgMCA5NiA5NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQ4IDk2Qzc0LjUwOTcgOTYgOTYgNzQuNTA5NyA5NiA0OEM5NiAyMS40OTAzIDc0LjUwOTcgMCA0OCAwQzIxLjQ5MDMgMCAwIDIxLjQ5MDMgMCA0OEMwIDc0LjUwOTcgMjEuNDkwMyA5NiA0OCA5NloiIGZpbGw9IiM2RDczRjgiLz4KPHBhdGggZD0iTTQ4IDg1LjYzNTZDNDggODUuNjM1NiA1Mi40NTMzIDg1LjYzNTYgNTUuNDQgODIuNTg2N0M1OC45MTU1IDc5LjI4MDEgNTcuMzUxMSA3NS40MzEyIDYyLjI3NTUgNzEuNDMxMkM2Ni45ODY2IDY3LjY0NDUgNzIuOTI0NCA3MC4zMzc5IDcyLjkyNDQgNzAuMzM3OUM3Ny4wMjIyIDYyLjEyNDUgNzQuNzkxMSA1Mi41NjkgNzQuNzkxMSA1Mi41NjlDODEuNzY4OCAzNC4yNTc5IDc1Ljk2NDQgMjEuMTU1NyA3NC40NDQ0IDE3LjM2MDFDNjkuNDQ4OCAyNC4zMzc5IDYzLjE5MTEgMjkuMTczNCA1NS43OTU1IDMyLjQwOUM1My4yMjY2IDMxLjcwNjggNTAuNTk1NSAzMS4zMzM0IDQ4IDMxLjM2MDFDNDUuNDEzMyAzMS4zMzM0IDQyLjc3MzMgMzEuNzA2OCA0MC4yMDQ0IDMyLjQwOUMzMi44MTc3IDI5LjE2NDUgMjYuNTUxMSAyNC4zMzc5IDIxLjU1NTUgMTcuMzYwMUMyMC4wMzU1IDIxLjE1NTcgMTQuMjMxMSAzNC4yNTc5IDIxLjIwODkgNTIuNTY5QzIxLjIwODkgNTIuNTY5IDE4Ljk3NzggNjIuMTI0NSAyMy4wNzU1IDcwLjMzNzlDMjMuMDc1NSA3MC4zMzc5IDI5LjAxMzMgNjcuNjQ0NSAzMy43MjQ0IDcxLjQzMTJDMzguNjU3NyA3NS40MzEyIDM3LjA4NDQgNzkuMjgwMSA0MC41NiA4Mi41ODY3QzQzLjU0NjYgODUuNjM1NiA0OCA4NS42MzU2IDQ4IDg1LjYzNTZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNDIuNDc5OSA2NS4yOThDNDIuMjkzMyA1OS4yMTggMzYuMzAyMSA1Ny4yNjI0IDMyLjIxMzMgNTkuODIyNEMzMi4yMTMzIDU5LjgyMjQgMzIuODUzMyA2Mi40MzU4IDM1LjgzOTkgNjMuNzUxM0MzOC4yNzU1IDY0LjgyNjkgMzkuMzI0NCA2My4zODY5IDQyLjQ3OTkgNjUuMjk4WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNMjIuNDk3NyAyMy4wOTM1QzIwLjA4ODggMzEuNTQ2OCAyMS4xMjg4IDQyLjI0MDIgMjQuOTMzMyA1MC4wMjY5QzI4LjgyNjYgNDcuMjcxMyAzMi45MTU1IDQzLjAxMzUgMzUuMDkzMyAzOC41MDY5QzI5Ljk2NDQgMzQuNzExMyAyNS42NjIyIDMxLjEwMjQgMjIuNDk3NyAyMy4wOTM1WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNNTMuNTE5OSA2NS4yOThDNTMuNzA2NiA1OS4yMTggNTkuNjk3NyA1Ny4yNjI0IDYzLjc4NjYgNTkuODIyNEM2My43ODY2IDU5LjgyMjQgNjMuMTQ2NiA2Mi40MzU4IDYwLjE1OTkgNjMuNzUxM0M1Ny43MjQzIDY0LjgyNjkgNTYuNjc1NSA2My4zODY5IDUzLjUxOTkgNjUuMjk4WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNNzMuNTAyMiAyMy4wOTM1Qzc1LjkxMTEgMzEuNTQ2OCA3NC44NzExIDQyLjI0MDIgNzEuMDY2NiA1MC4wMjY5QzY3LjE3MzMgNDcuMjcxMyA2My4wODQ0IDQzLjAxMzUgNjAuOTA2NiAzOC41MDY5QzY2LjAzNTUgMzQuNzExMyA3MC4zMzc3IDMxLjEwMjQgNzMuNTAyMiAyMy4wOTM1WiIgZmlsbD0iIzdCODFGOSIvPgo8cGF0aCBkPSJNNDcuOTk5OSA4NS4zMDY5QzUwLjE0MDQgODUuMzA2OSA1MS44NzU1IDgzLjc3ODcgNTEuODc1NSA4MS44OTM2QzUxLjg3NTUgODAuMDA4NCA1MC4xNDA0IDc4LjQ4MDIgNDcuOTk5OSA3OC40ODAyQzQ1Ljg1OTUgNzguNDgwMiA0NC4xMjQ0IDgwLjAwODQgNDQuMTI0NCA4MS44OTM2QzQ0LjEyNDQgODMuNzc4NyA0NS44NTk1IDg1LjMwNjkgNDcuOTk5OSA4NS4zMDY5WiIgZmlsbD0iIzdCODFGOSIvPgo8L3N2Zz4K",this.supportedTransactionVersions=new Set(["legacy",0]),this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._publicKey=null,this._wallet=null,this._readyState!==pe.Unsupported&&oa(()=>window?.nightly?.solana?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get connecting(){return this._connecting}get readyState(){return this._readyState}get publicKey(){return this._publicKey}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.nightly.solana;try{await e.connect()}catch(i){throw new Dc(i?.message,i)}if(e.publicKey.toString()==="11111111111111111111111111111111")throw new Cs;let t;try{t=new Ve.PublicKey(e.publicKey.toBytes())}catch(i){throw new Tr(i?.message,i)}this._wallet=e,this._publicKey=t,this.emit("connect",t)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch{this.emit("error",new gw)}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{return t.signMessage(new TextDecoder().decode(e))}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const f0="Solong";class w0 extends du{constructor(e={}){super(),this.name=f0,this.url="https://solongwallet.io",this.icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAGlklEQVR4Ae3bA5DsyhfH8TNr49r2/du2bdu2bdu2zcdNrm3b9toz533rvctUn3Umk9p01WfdvVW/6nROBxJVS1rSkpa0pCUtaUlLWtKSpl4VXos3GJ4sujQFuUKfWl+qT730arzB8Ex9YksKcgXjFOCVeIPhBYydB8mawQ+yiGC8n0EN6zAVcgXhpQjoq1DDdsyDAAB9Pwo1HMC9INk0FIM8Bt1Qh9WohQQCvD+BtEMdtmC8I7y5aIE67MV0SBwDvB3qsE/UHwMJIpC/QB1OYiLEEeCPoQ7nMRcSwwDrao3Zl8aTIEGEUYlL0IAMXuQOr66UvsegDm+ExDJAPNiafSg0AlyIbmjAWX1aQzEkiH6T0QkNaEdpnAN8NNRhPcSF9e9el2ebBhyAuNBvGtLQgIuQOAd4D6jDMRQbM3AmOqEBDfq0xjJIEP3GohkakEFVjAP0y401sAsLnAE+pb6EsC5AA9J4sHsG+kX0PQR1eFJ8AwTWQh0+DjFm4a1Qh2/AOoz/BHX4ZdwD/CDU4aioX2GUMW+AOnB2bqiBBDHe86EOTYw5GRKJwQ/ijUM91OGTxgysxSmowzeNw7j08m5DHX4l7Igg2TY0g9hbLBZ+f7oxC98CdWjDvYzD+MVQh07GfEQsZyDgVWA71OGvorfnQQCAcqaYUFZDHW6j/itAoB70GcergzqsEa0rhGTTEA7mP0koK4xdyeOMmvBBhJU2zsjPMw7lu9O3zShpXheHk4hhcZ4w26AOG4RSxDiUfwZ12KdPqy+FBDHeV6EOZxizIg6HsMGbiQ5jdjzBXRfeefGg3tgbv9BYC0fhZE7sjUMY9Pf9rdcI5XtQh39BjBA/C3VYnM0zcgiDek+GOhzh93mQoMs7kIxze/eMhnxIEOPNM9bcFtTEeAb6I419axu/m2CsgxU4Aw1A/UxIUM/bO/9+cVkDDd5x42x8N1iH8Taow0NhHcZLoQ5Pi/MMzDMW+DTu7g6vIY9AdkAdHmaUMyn6roA6PD22AeLB6DbWplHG7LubfY+kfiIkiH5T0AJ1uFtMA1xUzOc1UIclzvCeXF+o7DygDlvds29RgVVzYj+K4xhgEX4NdcjgecE++rSL+ZdLmIxRB77Ose7l4XPIQB3eF8M60C/n8++ghltE/QLIFfqUiyUE8kOoYSW7jmLIFXeN4X0NaajDDlG/NG6XswrxKdxu+G/weh27j3wCej9uN9zEOjc3sObl4S243XBLhDfWE0mAMQjwZfhxDng7pG/8Sj4/ER/Gd/BdfBhPRGW2A/wxNAfcBOnFCHwZZ6GGs/gqapMAb/QEnIT20Uk8IQkQeB7aof3UihcM9wDvhyboANHXv1+IdWBOB2hsIftto+iSPEif8aGPcjrA50GHyPMiOIT9B/N5apaMgQT8D2poxMdwt8s+hkao4X9ZDxBTIdHwy/h8AeqQxhMhAU9BB9ThPMqHTYCYjU6owy3uPstSfL4Z6uZPC+Mk8gOomz8DEg3vXshAHb4MMXwZarhXGDPwa739w2j48623BPAniOFPUMPsMAL8INTw9AgDrLZOCmjFPEjA3WD1aUJVGAG+CGr4ECRCy6GGg3iyaF0+n/PwFByEGpaJ+qkw1sB7QA3/hUTozdBetFymvXhTWGVMOc7bp36/FhKRamNW9dcxZmpZiI+32ad+vAQSoWejGzpAXXh22Fek3wY1rDD2kVnijR3ExYQMPgkJOUB/nFW0Is3vnw6JhlHX9a4N70Iq/ACBv0MNu7J9WxHw7jaA2deFOtw32zeVHtHLWvMN0dtSkOzwS3spYy7iH1hx2d/wYdyTvnkR3BdeQjjerVBDN14JyZIfQWH5RC7e1rw32npZV54LCc+SPD5/HgqYD3WW5+gTqt6X+rA4v0701hRkKF0+bL+HTM9Hgv/MHH60wyvHWigsafwA1ZAhMguLoL34kbDcQEI1uAH8mcbuxPHImf8i5EMGxqvER9EI7cUqVMTl0Y6HoxHaBzvxNkyC9EEe7oEv4Sy0D/YQ+IS4ver1JNT38z7sWnwbb8TT8Cg8Gs/Gu/Ar7EEXtI/2ud7Ni0GAYCbiJDQiazA57k9nTcdqaJb9UtSvitXbmjavCJ9AMzRkJ/B80boUJBLhDe7Nw1/QCR1i9fgKRg6HByzvjZ/hInQQMjiCT2PSMHxC1a/l8wvwGxyG9kEaW/EtPI4xiiE5JcLrd6PxcLwM78SH8EG8Fc/H/UUXVUByGh8SSYBJgEmASYCJJMAkwBi6A3xCqZhiBz8+AAAAAElFTkSuQmCC",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.NotDetected,this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==pe.Unsupported&&oa(()=>window.solong?(this._readyState=pe.Installed,this.emit("readyStateChange",this._readyState),!0):!1)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get connected(){return!!this._wallet?.currentAccount}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Installed)throw new Wi;this._connecting=!0;const e=window.solong;let t;try{t=await e.selectAccount()}catch(r){throw new Cs(r?.message,r)}let i;try{i=new Ve.PublicKey(t)}catch(r){throw new Tr(r?.message,r)}this._wallet=e,this._publicKey=i,this.emit("connect",i)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){this._wallet&&(this._wallet=null,this._publicKey=null),this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const y0="Torus";class m0 extends aa{constructor({params:e={showTorusButton:!1}}={params:{showTorusButton:!1}}){super(),this.name=y0,this.url="https://tor.us",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMyAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYuNSIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzAzNjRGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjIxODYgOS40OTIxOUMxMC40NTM5IDkuNDkyMTkgOS44MzM5OCAxMC4xMTIxIDkuODMzOTggMTAuODc2OFYxMi40ODk4QzkuODMzOTggMTMuMjU0NSAxMC40NTM5IDEzLjg3NDQgMTEuMjE4NiAxMy44NzQ0SDEzLjY2ODRWMjIuODk3NkMxMy42Njg0IDIzLjY2MjMgMTQuMjg4MyAyNC4yODIyIDE1LjA1MyAyNC4yODIySDE2LjY2NkMxNy40MzA3IDI0LjI4MjIgMTguMDUwNiAyMy42NjIzIDE4LjA1MDYgMjIuODk3NlYxMi41MDE1QzE4LjA1MDYgMTIuNDk3NiAxOC4wNTA2IDEyLjQ5MzcgMTguMDUwNiAxMi40ODk4VjEwLjg3NjhDMTguMDUwNiAxMC4xMTIxIDE3LjQzMDcgOS40OTIxOSAxNi42NjYgOS40OTIxOUgxNS4wNTNIMTEuMjE4NloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMS4zMzc2IDEzLjg3NDRDMjIuNTQ3NyAxMy44NzQ0IDIzLjUyODcgMTIuODkzNCAyMy41Mjg3IDExLjY4MzNDMjMuNTI4NyAxMC40NzMyIDIyLjU0NzcgOS40OTIxOSAyMS4zMzc2IDkuNDkyMTlDMjAuMTI3NSA5LjQ5MjE5IDE5LjE0NjUgMTAuNDczMiAxOS4xNDY1IDExLjY4MzNDMTkuMTQ2NSAxMi44OTM0IDIwLjEyNzUgMTMuODc0NCAyMS4zMzc2IDEzLjg3NDRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K",this.supportedTransactionVersions=null,this._readyState=typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.Loadable,this._connecting=!1,this._wallet=null,this._publicKey=null,this._params=e}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get connected(){return!!this._wallet?.isLoggedIn}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Loadable)throw new Wi;this._connecting=!0;let e;try{e=(await Promise.resolve().then(()=>require("./solanaEmbed.esm-CQlwytxQ.js"))).default}catch(n){throw new i0(n?.message,n)}let t;try{t=window.torus||new e}catch(n){throw new Nn(n?.message,n)}if(!t.isInitialized)try{await t.init(this._params)}catch(n){throw new Dc(n?.message,n)}let i;try{i=await t.login()}catch(n){throw new Cs(n?.message,n)}let r;try{r=new Ve.PublicKey(i[0])}catch(n){throw new Tr(n?.message,n)}this._wallet=t,this._publicKey=r,this.emit("connect",r)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){this._wallet=null,this._publicKey=null;try{e.isLoggedIn&&await e.cleanUp()}catch(t){this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async sendTransaction(e,t,i={}){try{const r=this._wallet;if(!r)throw new Ke;try{const{signers:n,...o}=i;e=await this.prepareTransaction(e,t,o),n?.length&&e.partialSign(...n),o.preflightCommitment=o.preflightCommitment||t.commitment;const{signature:a}=await r.signAndSendTransaction(e,o);return a}catch(n){throw n instanceof Dt?n:new pr(n?.message,n)}}catch(r){throw this.emit("error",r),r}}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)||e}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signMessage(e)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}function al(s){switch(s){case"processed":case"confirmed":case"finalized":case void 0:return s;case"recent":return"processed";case"single":case"singleGossip":return"confirmed";case"max":case"root":return"finalized";default:return}}const b0="https://api.mainnet-beta.solana.com";function v0(s){return s.includes(b0)?ne.SOLANA_MAINNET_CHAIN:/\bdevnet\b/i.test(s)?ne.SOLANA_DEVNET_CHAIN:/\btestnet\b/i.test(s)?ne.SOLANA_TESTNET_CHAIN:/\blocalhost\b/i.test(s)||/\b127\.0\.0\.1\b/.test(s)?ne.SOLANA_LOCALNET_CHAIN:ne.SOLANA_MAINNET_CHAIN}var pc;(function(s){s.Mainnet="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",s.Devnet="solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",s.Deprecated_Mainnet="solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ",s.Deprecated_Devnet="solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"})(pc||(pc={}));var _s;(function(s){s.signTransaction="solana_signTransaction",s.signMessage="solana_signMessage",s.signAndSendTransaction="solana_signAndSendTransaction",s.signAndSendAllTransactions="solana_signAndSendAllTransactions",s.signAllTransactions="solana_signAllTransactions"})(_s||(_s={}));const ft={Mainnet:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",Devnet:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",Deprecated_Mainnet:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ",Deprecated_Devnet:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"};var I0=Object.defineProperty,E0=(s,e,t)=>e in s?I0(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,yd=(s,e,t)=>E0(s,typeof e!="symbol"?e+"":e,t);let A0=class extends u.IEvents{constructor(e){super(),this.opts=e,yd(this,"protocol","wc"),yd(this,"version",2)}};var _0=Object.defineProperty,N0=(s,e,t)=>e in s?_0(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,C0=(s,e,t)=>N0(s,e+"",t);let S0=class extends u.IEvents{constructor(e,t){super(),this.core=e,this.logger=t,C0(this,"records",new Map)}},$0=class{constructor(e,t){this.logger=e,this.core=t}},T0=class extends u.IEvents{constructor(e,t){super(),this.relayer=e,this.logger=t}},P0=class extends u.IEvents{constructor(e){super()}},x0=class{constructor(e,t,i,r){this.core=e,this.logger=t,this.name=i}},O0=class extends u.IEvents{constructor(e,t){super(),this.relayer=e,this.logger=t}},M0=class extends u.IEvents{constructor(e,t){super(),this.core=e,this.logger=t}},D0=class{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}},k0=class{constructor(e,t){this.projectId=e,this.logger=t}},j0=class{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}};var R0=Object.defineProperty,U0=(s,e,t)=>e in s?R0(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,md=(s,e,t)=>U0(s,typeof e!="symbol"?e+"":e,t);let L0=class{constructor(e){this.opts=e,md(this,"protocol","wc"),md(this,"version",2)}},z0=class{constructor(e){this.client=e}};function Ho(s,{strict:e=!0}={}){return!s||typeof s!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(s):s.startsWith("0x")}function bd(s){return Ho(s,{strict:!1})?Math.ceil((s.length-2)/2):s.length}const yw="2.23.2";let cl={getDocsUrl:({docsBaseUrl:s,docsPath:e="",docsSlug:t})=>e?`${s??"https://viem.sh"}${e}${t?`#${t}`:""}`:void 0,version:`viem@${yw}`},kc=class rh extends Error{constructor(e,t={}){const i=t.cause instanceof rh?t.cause.details:t.cause?.message?t.cause.message:t.details,r=t.cause instanceof rh&&t.cause.docsPath||t.docsPath,n=cl.getDocsUrl?.({...t,docsPath:r}),o=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...i?[`Details: ${i}`]:[],...cl.version?[`Version: ${cl.version}`]:[]].join(`
|
|
2
|
+
`);super(o,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=r,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=yw}walk(e){return mw(this,e)}};function mw(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause!==void 0?mw(s.cause,e):e?null:s}let bw=class extends kc{constructor({size:e,targetSize:t,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}};function Bn(s,{dir:e,size:t=32}={}){return typeof s=="string"?F0(s,{dir:e,size:t}):q0(s,{dir:e,size:t})}function F0(s,{dir:e,size:t=32}={}){if(t===null)return s;const i=s.replace("0x","");if(i.length>t*2)throw new bw({size:Math.ceil(i.length/2),targetSize:t,type:"hex"});return`0x${i[e==="right"?"padEnd":"padStart"](t*2,"0")}`}function q0(s,{dir:e,size:t=32}={}){if(t===null)return s;if(s.length>t)throw new bw({size:s.length,targetSize:t,type:"bytes"});const i=new Uint8Array(t);for(let r=0;r<t;r++){const n=e==="right";i[n?r:t-r-1]=s[n?r:s.length-r-1]}return i}let B0=class extends kc{constructor({max:e,min:t,signed:i,size:r,value:n}){super(`Number "${n}" is not in safe ${r?`${r*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}},H0=class extends kc{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function Hn(s,{size:e}){if(bd(s)>e)throw new H0({givenSize:bd(s),maxSize:e})}function nh(s,e={}){const{signed:t}=e;e.size&&Hn(s,{size:e.size});const i=BigInt(s);if(!t)return i;const r=(s.length-2)/2,n=(1n<<BigInt(r)*8n-1n)-1n;return i<=n?i:i-BigInt(`0x${"f".padStart(r*2,"f")}`)-1n}function W0(s,e={}){return Number(nh(s,e))}const V0=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function oh(s,e={}){return typeof s=="number"||typeof s=="bigint"?Iw(s,e):typeof s=="string"?Y0(s,e):typeof s=="boolean"?K0(s,e):vw(s,e)}function K0(s,e={}){const t=`0x${Number(s)}`;return typeof e.size=="number"?(Hn(t,{size:e.size}),Bn(t,{size:e.size})):t}function vw(s,e={}){let t="";for(let r=0;r<s.length;r++)t+=V0[s[r]];const i=`0x${t}`;return typeof e.size=="number"?(Hn(i,{size:e.size}),Bn(i,{dir:"right",size:e.size})):i}function Iw(s,e={}){const{signed:t,size:i}=e,r=BigInt(s);let n;i?t?n=(1n<<BigInt(i)*8n-1n)-1n:n=2n**(BigInt(i)*8n)-1n:typeof s=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&t?-n-1n:0;if(n&&r>n||r<o){const c=typeof s=="bigint"?"n":"";throw new B0({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:t,size:i,value:`${s}${c}`})}const a=`0x${(t&&r<0?(1n<<BigInt(i*8))+BigInt(r):r).toString(16)}`;return i?Bn(a,{size:i}):a}const G0=new TextEncoder;function Y0(s,e={}){const t=G0.encode(s);return vw(t,e)}const Q0=new TextEncoder;function J0(s,e={}){return typeof s=="number"||typeof s=="bigint"?X0(s,e):typeof s=="boolean"?Z0(s,e):Ho(s)?Ew(s,e):Aw(s,e)}function Z0(s,e={}){const t=new Uint8Array(1);return t[0]=Number(s),typeof e.size=="number"?(Hn(t,{size:e.size}),Bn(t,{size:e.size})):t}const oi={zero:48,nine:57,A:65,F:70,a:97,f:102};function vd(s){if(s>=oi.zero&&s<=oi.nine)return s-oi.zero;if(s>=oi.A&&s<=oi.F)return s-(oi.A-10);if(s>=oi.a&&s<=oi.f)return s-(oi.a-10)}function Ew(s,e={}){let t=s;e.size&&(Hn(t,{size:e.size}),t=Bn(t,{dir:"right",size:e.size}));let i=t.slice(2);i.length%2&&(i=`0${i}`);const r=i.length/2,n=new Uint8Array(r);for(let o=0,a=0;o<r;o++){const c=vd(i.charCodeAt(a++)),l=vd(i.charCodeAt(a++));if(c===void 0||l===void 0)throw new kc(`Invalid byte sequence ("${i[a-2]}${i[a-1]}" in "${i}").`);n[o]=c*16+l}return n}function X0(s,e){const t=Iw(s,e);return Ew(t)}function Aw(s,e={}){const t=Q0.encode(s);return typeof e.size=="number"?(Hn(t,{size:e.size}),Bn(t,{dir:"right",size:e.size})):t}function gc(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function eI(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function ca(s,...e){if(!eI(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function tI(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");gc(s.outputLen),gc(s.blockLen)}function ah(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function _w(s,e){ca(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Ma=BigInt(2**32-1),Id=BigInt(32);function sI(s,e=!1){return e?{h:Number(s&Ma),l:Number(s>>Id&Ma)}:{h:Number(s>>Id&Ma)|0,l:Number(s&Ma)|0}}function iI(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=sI(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const rI=(s,e,t)=>s<<t|e>>>32-t,nI=(s,e,t)=>e<<t|s>>>32-t,oI=(s,e,t)=>e<<t-32|s>>>64-t,aI=(s,e,t)=>s<<t-32|e>>>64-t,Rr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function cI(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function lI(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function hI(s,e){return s<<32-e|s>>>e}const Ed=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function uI(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function Ad(s){for(let e=0;e<s.length;e++)s[e]=uI(s[e])}function dI(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function pu(s){return typeof s=="string"&&(s=dI(s)),ca(s),s}function pI(...s){let e=0;for(let i=0;i<s.length;i++){const r=s[i];ca(r),e+=r.length}const t=new Uint8Array(e);for(let i=0,r=0;i<s.length;i++){const n=s[i];t.set(n,r),r+=n.length}return t}let Nw=class{clone(){return this._cloneInto()}};function Cw(s){const e=i=>s().update(pu(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function gI(s=32){if(Rr&&typeof Rr.getRandomValues=="function")return Rr.getRandomValues(new Uint8Array(s));if(Rr&&typeof Rr.randomBytes=="function")return Rr.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const Sw=[],$w=[],Tw=[],fI=BigInt(0),to=BigInt(1),wI=BigInt(2),yI=BigInt(7),mI=BigInt(256),bI=BigInt(113);for(let s=0,e=to,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],Sw.push(2*(5*i+t)),$w.push((s+1)*(s+2)/2%64);let r=fI;for(let n=0;n<7;n++)e=(e<<to^(e>>yI)*bI)%mI,e&wI&&(r^=to<<(to<<BigInt(n))-to);Tw.push(r)}const[vI,II]=iI(Tw,!0),_d=(s,e,t)=>t>32?oI(s,e,t):rI(s,e,t),Nd=(s,e,t)=>t>32?aI(s,e,t):nI(s,e,t);function EI(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=_d(l,h,1)^t[a],p=Nd(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=$w[o],c=_d(r,n,a),l=Nd(r,n,a),h=Sw[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=vI[i],s[1]^=II[i]}t.fill(0)}let AI=class Pw extends Nw{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,gc(i),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(){Ed||Ad(this.state32),EI(this.state32,this.rounds),Ed||Ad(this.state32),this.posOut=0,this.pos=0}update(e){ah(this);const{blockLen:t,state:i}=this;e=pu(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){ah(this,!1),ca(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return gc(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(_w(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new Pw(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const _I=(s,e,t)=>Cw(()=>new AI(e,s,t)),NI=_I(1,136,256/8);function xw(s,e){const t=e||"hex",i=NI(Ho(s,{strict:!1})?J0(s):s);return t==="bytes"?i:oh(i)}let CI=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const i=this.keys().next().value;i&&this.delete(i)}return this}};const ll=new CI(8192);function SI(s,e){if(ll.has(`${s}.${e}`))return ll.get(`${s}.${e}`);const t=s.substring(2).toLowerCase(),i=xw(Aw(t),"bytes"),r=t.split("");for(let o=0;o<40;o+=2)i[o>>1]>>4>=8&&r[o]&&(r[o]=r[o].toUpperCase()),(i[o>>1]&15)>=8&&r[o+1]&&(r[o+1]=r[o+1].toUpperCase());const n=`0x${r.join("")}`;return ll.set(`${s}.${e}`,n),n}function $I(s){const e=xw(`0x${s.substring(4)}`).substring(26);return SI(`0x${e}`)}async function TI({hash:s,signature:e}){const t=Ho(s)?s:oh(s),{secp256k1:i}=await Promise.resolve().then(()=>require("./secp256k1-Cux0xw_z.js"));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:h,v:d,yParity:p}=e,f=Number(p??d),g=Cd(f);return new i.Signature(nh(l),nh(h)).addRecoveryBit(g)}const o=Ho(e)?e:oh(e),a=W0(`0x${o.slice(130)}`),c=Cd(a);return i.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(t.substring(2)).toHex(!1)}`}function Cd(s){if(s===0||s===1)return s;if(s===27)return 0;if(s===28)return 1;throw new Error("Invalid yParityOrV value")}async function PI({hash:s,signature:e}){return $I(await TI({hash:s,signature:e}))}var Ow=wi.requireElliptic();const Mw=":";function xn(s){const[e,t]=s.split(Mw);return{namespace:e,reference:t}}function xI(s){const[e,t,i]=s.split(Mw);return{namespace:e,reference:t,address:i}}function Dw(s,e){return s.includes(":")?[s]:e.chains||[]}const OI="ReactNative",hs={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},MI="js";function fc(){return typeof P.process$1<"u"&&typeof P.process$1.versions<"u"&&typeof P.process$1.versions.node<"u"}function Vi(){return!u.cjsExports$2.getDocument()&&!!u.cjsExports$2.getNavigator()&&navigator.product===OI}function DI(){return Vi()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="android"}function kI(){return Vi()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="ios"}function la(){return!fc()&&!!u.cjsExports$2.getNavigator()&&!!u.cjsExports$2.getDocument()}function ha(){return Vi()?hs.reactNative:fc()?hs.node:la()?hs.browser:hs.unknown}function Sd(){var s;try{return Vi()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Application)<"u"?(s=P.global.Application)==null?void 0:s.applicationId:void 0}catch{return}}function jI(s,e){const t=new URLSearchParams(s);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const r=e[i];r!==void 0&&t.set(i,r)}return t.toString()}function kw(){return u.cjsExports.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function RI(){if(ha()===hs.reactNative&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"){const{OS:t,Version:i}=P.global.Platform;return[t,i].join("-")}const s=u.detect();if(s===null)return"unknown";const e=s.os?s.os.replace(" ","").toLowerCase():"unknown";return s.type==="browser"?[e,s.name,s.version].join("-"):[e,s.version].join("-")}function UI(){var s;const e=ha();return e===hs.browser?[e,((s=u.cjsExports$2.getLocation())==null?void 0:s.host)||"unknown"].join(":"):e}function jw(s,e,t){const i=RI(),r=UI();return[[s,e].join("-"),[MI,t].join("-"),i,r].join("/")}function LI({protocol:s,version:e,relayUrl:t,sdkVersion:i,auth:r,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=t.split("?"),h=jw(s,e,i),d={auth:r,ua:h,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},p=jI(l[1]||"",d);return l[0]+"?"+p}function gr(s,e){return s.filter(t=>e.includes(t)).length===s.length}function Rw(s){return Object.fromEntries(s.entries())}function Uw(s){return new Map(Object.entries(s))}function rr(s=u.cjsExports$1.FIVE_MINUTES,e){const t=u.cjsExports$1.toMiliseconds(s||u.cjsExports$1.FIVE_MINUTES);let i,r,n,o;return{resolve:a=>{n&&i&&(clearTimeout(n),i(a),o=Promise.resolve(a))},reject:a=>{n&&r&&(clearTimeout(n),r(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},t),i=a,r=c})}}function ji(s,e,t){return new Promise(async(i,r)=>{const n=setTimeout(()=>r(new Error(t)),e);try{const o=await s;i(o)}catch(o){r(o)}clearTimeout(n)})}function Lw(s,e){if(typeof e=="string"&&e.startsWith(`${s}:`))return e;if(s.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(s.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: ${s}`)}function zI(s){return Lw("topic",s)}function FI(s){return Lw("id",s)}function zw(s){const[e,t]=s.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function pt(s,e){return u.cjsExports$1.fromMiliseconds(Date.now()+u.cjsExports$1.toMiliseconds(s))}function xi(s){return Date.now()>=u.cjsExports$1.toMiliseconds(s)}function Te(s,e){return`${s}${e?`:${e}`:""}`}function sc(s=[],e=[]){return[...new Set([...s,...e])]}async function qI({id:s,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const r=typeof t=="string"?JSON.parse(t):t,n=r?.href;if(typeof n!="string")return;const o=BI(n,s,e),a=ha();if(a===hs.browser){if(!((i=u.cjsExports$2.getDocument())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}HI(o)}else a===hs.reactNative&&typeof(P.global==null?void 0:P.global.Linking)<"u"&&await P.global.Linking.openURL(o)}catch(r){console.error(r)}}function BI(s,e,t){const i=`requestId=${e}&sessionTopic=${t}`;s.endsWith("/")&&(s=s.slice(0,-1));let r=`${s}`;if(s.startsWith("https://t.me")){const n=s.includes("?")?"&startapp=":"?startapp=";r=`${r}${n}${GI(i,!0)}`}else r=`${r}/wc?${i}`;return r}function HI(s){let e="_self";KI()?e="_top":(VI()||s.startsWith("https://")||s.startsWith("http://"))&&(e="_blank"),window.open(s,e,"noreferrer noopener")}async function WI(s,e){let t="";try{if(la()&&(t=localStorage.getItem(e),t))return t;t=await s.getItem(e)}catch(i){console.error(i)}return t}function $d(s,e){if(!s.includes(e))return null;const t=s.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function Td(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,s=>{const e=Math.random()*16|0;return(s==="x"?e:e&3|8).toString(16)})}function gu(){return typeof P.process$1<"u"&&P.process$1.env.IS_VITEST==="true"}function VI(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function KI(){try{return window.self!==window.top}catch{return!1}}function GI(s,e=!1){const t=P.Buffer.from(s).toString("base64");return e?t.replace(/[=]/g,""):t}function Fw(s){return P.Buffer.from(s,"base64").toString("utf-8")}function YI(s){return new Promise(e=>setTimeout(e,s))}function Wo(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function QI(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function jc(s,...e){if(!QI(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function fu(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Wo(s.outputLen),Wo(s.blockLen)}function kn(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function qw(s,e){jc(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Da=BigInt(2**32-1),Pd=BigInt(32);function JI(s,e=!1){return e?{h:Number(s&Da),l:Number(s>>Pd&Da)}:{h:Number(s>>Pd&Da)|0,l:Number(s&Da)|0}}function ZI(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=JI(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const XI=(s,e,t)=>s<<t|e>>>32-t,e1=(s,e,t)=>e<<t|s>>>32-t,t1=(s,e,t)=>e<<t-32|s>>>64-t,s1=(s,e,t)=>s<<t-32|e>>>64-t,Ur=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function i1(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function hl(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Bs(s,e){return s<<32-e|s>>>e}const xd=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function r1(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function Od(s){for(let e=0;e<s.length;e++)s[e]=r1(s[e])}function n1(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function jn(s){return typeof s=="string"&&(s=n1(s)),jc(s),s}let wu=class{clone(){return this._cloneInto()}};function Bw(s){const e=i=>s().update(jn(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function ua(s=32){if(Ur&&typeof Ur.getRandomValues=="function")return Ur.getRandomValues(new Uint8Array(s));if(Ur&&typeof Ur.randomBytes=="function")return Ur.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const Hw=[],Ww=[],Vw=[],o1=BigInt(0),so=BigInt(1),a1=BigInt(2),c1=BigInt(7),l1=BigInt(256),h1=BigInt(113);for(let s=0,e=so,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],Hw.push(2*(5*i+t)),Ww.push((s+1)*(s+2)/2%64);let r=o1;for(let n=0;n<7;n++)e=(e<<so^(e>>c1)*h1)%l1,e&a1&&(r^=so<<(so<<BigInt(n))-so);Vw.push(r)}const[u1,d1]=ZI(Vw,!0),Md=(s,e,t)=>t>32?t1(s,e,t):XI(s,e,t),Dd=(s,e,t)=>t>32?s1(s,e,t):e1(s,e,t);function p1(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=Md(l,h,1)^t[a],p=Dd(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=Ww[o],c=Md(r,n,a),l=Dd(r,n,a),h=Hw[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=u1[i],s[1]^=d1[i]}t.fill(0)}let g1=class Kw extends wu{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Wo(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=i1(this.state)}keccak(){xd||Od(this.state32),p1(this.state32,this.rounds),xd||Od(this.state32),this.posOut=0,this.pos=0}update(e){kn(this);const{blockLen:t,state:i}=this;e=jn(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){kn(this,!1),jc(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Wo(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(qw(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new Kw(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const f1=(s,e,t)=>Bw(()=>new g1(e,s,t)),w1=f1(1,136,256/8),y1="https://rpc.walletconnect.org/v1";function Gw(s){const e=`Ethereum Signed Message:
|
|
3
3
|
${s.length}`,t=new TextEncoder().encode(e+s);return"0x"+P.Buffer.from(w1(t)).toString("hex")}async function m1(s,e,t,i,r,n){switch(t.t){case"eip191":return await b1(s,e,t.s);case"eip1271":return await v1(s,e,t.s,i,r,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}async function b1(s,e,t){return(await PI({hash:Gw(e),signature:t})).toLowerCase()===s.toLowerCase()}async function v1(s,e,t,i,r,n){const o=xn(i);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",h=t.substring(2),d=Gw(e).substring(2),p=a+d+c+l+h,f=await fetch(`${n||y1}/?chainId=${i}&projectId=${r}`,{method:"POST",body:JSON.stringify({id:I1(),jsonrpc:"2.0",method:"eth_call",params:[{to:s,data:p},"latest"]})}),{result:g}=await f.json();return g?g.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function I1(){return Date.now()+Math.floor(Math.random()*1e3)}var E1=Object.defineProperty,A1=Object.defineProperties,_1=Object.getOwnPropertyDescriptors,kd=Object.getOwnPropertySymbols,N1=Object.prototype.hasOwnProperty,C1=Object.prototype.propertyIsEnumerable,jd=(s,e,t)=>e in s?E1(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,S1=(s,e)=>{for(var t in e||(e={}))N1.call(e,t)&&jd(s,t,e[t]);if(kd)for(var t of kd(e))C1.call(e,t)&&jd(s,t,e[t]);return s},$1=(s,e)=>A1(s,_1(e));const T1="did:pkh:",yu=s=>s?.split(":"),P1=s=>{const e=s&&yu(s);if(e)return s.includes(T1)?e[3]:e[1]},ch=s=>{const e=s&&yu(s);if(e)return e[2]+":"+e[3]},wc=s=>{const e=s&&yu(s);if(e)return e.pop()};async function Rd(s){const{cacao:e,projectId:t}=s,{s:i,p:r}=e,n=Yw(r,r.iss),o=wc(r.iss);return await m1(o,n,i,ch(r.iss),t)}const Yw=(s,e)=>{const t=`${s.domain} wants you to sign in with your Ethereum account:`,i=wc(e);if(!s.aud&&!s.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let r=s.statement||void 0;const n=`URI: ${s.aud||s.uri}`,o=`Version: ${s.version}`,a=`Chain ID: ${P1(e)}`,c=`Nonce: ${s.nonce}`,l=`Issued At: ${s.iat}`,h=s.exp?`Expiration Time: ${s.exp}`:void 0,d=s.nbf?`Not Before: ${s.nbf}`:void 0,p=s.requestId?`Request ID: ${s.requestId}`:void 0,f=s.resources?`Resources:${s.resources.map(w=>`
|
|
4
4
|
- ${w}`).join("")}`:void 0,g=ic(s.resources);if(g){const w=Vo(g);r=L1(r,w)}return[t,i,"",r,"",n,o,a,c,l,h,d,p,f].filter(w=>w!=null).join(`
|
|
5
5
|
`)};function x1(s){return P.Buffer.from(JSON.stringify(s)).toString("base64")}function O1(s){return JSON.parse(P.Buffer.from(s,"base64").toString("utf-8"))}function vr(s){if(!s)throw new Error("No recap provided, value is undefined");if(!s.att)throw new Error("No `att` property found");const e=Object.keys(s.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const i=s.att[t];if(Array.isArray(i))throw new Error(`Resource must be an object: ${t}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(i).forEach(r=>{const n=i[r];if(!Array.isArray(n))throw new Error(`Ability limits ${r} must be an array of objects, found: ${n}`);if(!n.length)throw new Error(`Value of ${r} is empty array, must be an array with objects`);n.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${r}) must be an array of objects, found: ${o}`)})})})}function M1(s,e,t,i={}){return t?.sort((r,n)=>r.localeCompare(n)),{att:{[s]:D1(e,t,i)}}}function D1(s,e,t={}){e=e?.sort((r,n)=>r.localeCompare(n));const i=e.map(r=>({[`${s}/${r}`]:[t]}));return Object.assign({},...i)}function Qw(s){return vr(s),`urn:recap:${x1(s).replace(/=/g,"")}`}function Vo(s){const e=O1(s.replace("urn:recap:",""));return vr(e),e}function k1(s,e,t){const i=M1(s,e,t);return Qw(i)}function j1(s){return s&&s.includes("urn:recap:")}function R1(s,e){const t=Vo(s),i=Vo(e),r=U1(t,i);return Qw(r)}function U1(s,e){vr(s),vr(e);const t=Object.keys(s.att).concat(Object.keys(e.att)).sort((r,n)=>r.localeCompare(n)),i={att:{}};return t.forEach(r=>{var n,o;Object.keys(((n=s.att)==null?void 0:n[r])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[r])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,l;i.att[r]=$1(S1({},i.att[r]),{[a]:((c=s.att[r])==null?void 0:c[a])||((l=e.att[r])==null?void 0:l[a])})})}),i}function L1(s="",e){vr(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(s.includes(t))return s;const i=[];let r=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(d=>({ability:d.split("/")[0],action:d.split("/")[1]}));c.sort((d,p)=>d.action.localeCompare(p.action));const l={};c.forEach(d=>{l[d.ability]||(l[d.ability]=[]),l[d.ability].push(d.action)});const h=Object.keys(l).map(d=>(r++,`(${r}) '${d}': '${l[d].join("', '")}' for '${a}'.`));i.push(h.join(", ").replace(".,","."))});const n=i.join(" "),o=`${t}${n}`;return`${s?s+" ":""}${o}`}function Ud(s){var e;const t=Vo(s);vr(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(r=>r.split("/")[1]):[]}function Ld(s){const e=Vo(s);vr(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(r=>{var n;(n=r?.[0])!=null&&n.chains&&t.push(r[0].chains)})}),[...new Set(t.flat())]}function ic(s){if(!s)return;const e=s?.[s.length-1];return j1(e)?e:void 0}function ul(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function Jw(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function cs(s,...e){if(!Jw(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function zd(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function z1(s,e){cs(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Fd(s){if(typeof s!="boolean")throw new Error(`boolean expected, not ${s}`)}const Fi=s=>new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4)),F1=s=>new DataView(s.buffer,s.byteOffset,s.byteLength),q1=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!q1)throw new Error("Non little-endian hardware is not supported");function B1(s){if(typeof s!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(s))}function lh(s){if(typeof s=="string")s=B1(s);else if(Jw(s))s=hh(s);else throw new Error("Uint8Array expected, got "+typeof s);return s}function H1(s,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(s,e)}function W1(s,e){if(s.length!==e.length)return!1;let t=0;for(let i=0;i<s.length;i++)t|=s[i]^e[i];return t===0}const V1=(s,e)=>{function t(i,...r){if(cs(i),s.nonceLength!==void 0){const l=r[0];if(!l)throw new Error("nonce / iv required");s.varSizeNonce?cs(l):cs(l,s.nonceLength)}const n=s.tagLength;n&&r[1]!==void 0&&cs(r[1]);const o=e(i,...r),a=(l,h)=>{if(h!==void 0){if(l!==2)throw new Error("cipher output not supported");cs(h)}};let c=!1;return{encrypt(l,h){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,cs(l),a(o.encrypt.length,h),o.encrypt(l,h)},decrypt(l,h){if(cs(l),n&&l.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,h),o.decrypt(l,h)}}}return Object.assign(t,s),t};function qd(s,e,t=!0){if(e===void 0)return new Uint8Array(s);if(e.length!==s)throw new Error("invalid output length, expected "+s+", got: "+e.length);if(t&&!K1(e))throw new Error("invalid output, must be aligned");return e}function Bd(s,e,t,i){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,i);const r=BigInt(32),n=BigInt(4294967295),o=Number(t>>r&n),a=Number(t&n);s.setUint32(e+4,o,i),s.setUint32(e+0,a,i)}function K1(s){return s.byteOffset%4===0}function hh(s){return Uint8Array.from(s)}function Rn(...s){for(let e=0;e<s.length;e++)s[e].fill(0)}const Zw=s=>Uint8Array.from(s.split("").map(e=>e.charCodeAt(0))),G1=Zw("expand 16-byte k"),Y1=Zw("expand 32-byte k"),Q1=Fi(G1),J1=Fi(Y1);function Ie(s,e){return s<<e|s>>>32-e}function uh(s){return s.byteOffset%4===0}const ka=64,Z1=16,Xw=2**32-1,Hd=new Uint32Array;function X1(s,e,t,i,r,n,o,a){const c=r.length,l=new Uint8Array(ka),h=Fi(l),d=uh(r)&&uh(n),p=d?Fi(r):Hd,f=d?Fi(n):Hd;for(let g=0;g<c;o++){if(s(e,t,i,h,o,a),o>=Xw)throw new Error("arx: counter overflow");const w=Math.min(ka,c-g);if(d&&w===ka){const v=g/4;if(g%4!==0)throw new Error("arx: invalid block position");for(let b=0,m;b<Z1;b++)m=v+b,f[m]=p[m]^h[b];g+=ka;continue}for(let v=0,b;v<w;v++)b=g+v,n[b]=r[b]^l[v];g+=w}}function eE(s,e){const{allowShortKeys:t,extendNonceFn:i,counterLength:r,counterRight:n,rounds:o}=H1({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof s!="function")throw new Error("core must be a function");return ul(r),ul(o),Fd(n),Fd(t),(a,c,l,h,d=0)=>{cs(a),cs(c),cs(l);const p=l.length;if(h===void 0&&(h=new Uint8Array(p)),cs(h),ul(d),d<0||d>=Xw)throw new Error("arx: counter overflow");if(h.length<p)throw new Error(`arx: output (${h.length}) is shorter than data (${p})`);const f=[];let g=a.length,w,v;if(g===32)f.push(w=hh(a)),v=J1;else if(g===16&&t)w=new Uint8Array(32),w.set(a),w.set(a,16),v=Q1,f.push(w);else throw new Error(`arx: invalid 32-byte key, got length=${g}`);uh(c)||f.push(c=hh(c));const b=Fi(w);if(i){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");i(v,b,Fi(c.subarray(0,16)),b),c=c.subarray(16)}const m=16-r;if(m!==c.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(m!==12){const C=new Uint8Array(12);C.set(c,n?0:12-c.length),c=C,f.push(c)}const _=Fi(c);return X1(s,v,b,_,l,h,d,o),Rn(...f),h}}const Ct=(s,e)=>s[e++]&255|(s[e++]&255)<<8;let tE=class{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=lh(e),cs(e,32);const t=Ct(e,0),i=Ct(e,2),r=Ct(e,4),n=Ct(e,6),o=Ct(e,8),a=Ct(e,10),c=Ct(e,12),l=Ct(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|i<<3)&8191,this.r[2]=(i>>>10|r<<6)&7939,this.r[3]=(r>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let h=0;h<8;h++)this.pad[h]=Ct(e,16+2*h)}process(e,t,i=!1){const r=i?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],l=o[2],h=o[3],d=o[4],p=o[5],f=o[6],g=o[7],w=o[8],v=o[9],b=Ct(e,t+0),m=Ct(e,t+2),_=Ct(e,t+4),C=Ct(e,t+6),T=Ct(e,t+8),x=Ct(e,t+10),M=Ct(e,t+12),j=Ct(e,t+14);let A=n[0]+(b&8191),$=n[1]+((b>>>13|m<<3)&8191),N=n[2]+((m>>>10|_<<6)&8191),R=n[3]+((_>>>7|C<<9)&8191),L=n[4]+((C>>>4|T<<12)&8191),B=n[5]+(T>>>1&8191),H=n[6]+((T>>>14|x<<2)&8191),U=n[7]+((x>>>11|M<<5)&8191),K=n[8]+((M>>>8|j<<8)&8191),Y=n[9]+(j>>>5|r),S=0,W=S+A*a+$*(5*v)+N*(5*w)+R*(5*g)+L*(5*f);S=W>>>13,W&=8191,W+=B*(5*p)+H*(5*d)+U*(5*h)+K*(5*l)+Y*(5*c),S+=W>>>13,W&=8191;let X=S+A*c+$*a+N*(5*v)+R*(5*w)+L*(5*g);S=X>>>13,X&=8191,X+=B*(5*f)+H*(5*p)+U*(5*d)+K*(5*h)+Y*(5*l),S+=X>>>13,X&=8191;let Q=S+A*l+$*c+N*a+R*(5*v)+L*(5*w);S=Q>>>13,Q&=8191,Q+=B*(5*g)+H*(5*f)+U*(5*p)+K*(5*d)+Y*(5*h),S+=Q>>>13,Q&=8191;let be=S+A*h+$*l+N*c+R*a+L*(5*v);S=be>>>13,be&=8191,be+=B*(5*w)+H*(5*g)+U*(5*f)+K*(5*p)+Y*(5*d),S+=be>>>13,be&=8191;let de=S+A*d+$*h+N*l+R*c+L*a;S=de>>>13,de&=8191,de+=B*(5*v)+H*(5*w)+U*(5*g)+K*(5*f)+Y*(5*p),S+=de>>>13,de&=8191;let ee=S+A*p+$*d+N*h+R*l+L*c;S=ee>>>13,ee&=8191,ee+=B*a+H*(5*v)+U*(5*w)+K*(5*g)+Y*(5*f),S+=ee>>>13,ee&=8191;let it=S+A*f+$*p+N*d+R*h+L*l;S=it>>>13,it&=8191,it+=B*c+H*a+U*(5*v)+K*(5*w)+Y*(5*g),S+=it>>>13,it&=8191;let Ue=S+A*g+$*f+N*p+R*d+L*h;S=Ue>>>13,Ue&=8191,Ue+=B*l+H*c+U*a+K*(5*v)+Y*(5*w),S+=Ue>>>13,Ue&=8191;let ve=S+A*w+$*g+N*f+R*p+L*d;S=ve>>>13,ve&=8191,ve+=B*h+H*l+U*c+K*a+Y*(5*v),S+=ve>>>13,ve&=8191;let De=S+A*v+$*w+N*g+R*f+L*p;S=De>>>13,De&=8191,De+=B*d+H*h+U*l+K*c+Y*a,S+=De>>>13,De&=8191,S=(S<<2)+S|0,S=S+W|0,W=S&8191,S=S>>>13,X+=S,n[0]=W,n[1]=X,n[2]=Q,n[3]=be,n[4]=de,n[5]=ee,n[6]=it,n[7]=Ue,n[8]=ve,n[9]=De}finalize(){const{h:e,pad:t}=this,i=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=r,r=e[a]>>>13,e[a]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,i[0]=e[0]+5,r=i[0]>>>13,i[0]&=8191;for(let a=1;a<10;a++)i[a]=e[a]+r,r=i[a]>>>13,i[a]&=8191;i[9]-=8192;let n=(r^1)-1;for(let a=0;a<10;a++)i[a]&=n;n=~n;for(let a=0;a<10;a++)e[a]=e[a]&n|i[a];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 o=e[0]+t[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+t[a]|0)+(o>>>16)|0,e[a]=o&65535;Rn(i)}update(e){zd(this);const{buffer:t,blockLen:i}=this;e=lh(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(i-this.pos,r-n);if(o===i){for(;i<=r-n;n+=i)this.process(e,n);continue}t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){Rn(this.h,this.r,this.buffer,this.pad)}digestInto(e){zd(this),z1(e,this),this.finished=!0;const{buffer:t,h:i}=this;let{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=i[o]>>>0,e[n++]=i[o]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}};function sE(s){const e=(i,r)=>s(r).update(lh(i)).digest(),t=s(new Uint8Array(32));return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=i=>s(i),e}const iE=sE(s=>new tE(s));function rE(s,e,t,i,r,n=20){let o=s[0],a=s[1],c=s[2],l=s[3],h=e[0],d=e[1],p=e[2],f=e[3],g=e[4],w=e[5],v=e[6],b=e[7],m=r,_=t[0],C=t[1],T=t[2],x=o,M=a,j=c,A=l,$=h,N=d,R=p,L=f,B=g,H=w,U=v,K=b,Y=m,S=_,W=C,X=T;for(let be=0;be<n;be+=2)x=x+$|0,Y=Ie(Y^x,16),B=B+Y|0,$=Ie($^B,12),x=x+$|0,Y=Ie(Y^x,8),B=B+Y|0,$=Ie($^B,7),M=M+N|0,S=Ie(S^M,16),H=H+S|0,N=Ie(N^H,12),M=M+N|0,S=Ie(S^M,8),H=H+S|0,N=Ie(N^H,7),j=j+R|0,W=Ie(W^j,16),U=U+W|0,R=Ie(R^U,12),j=j+R|0,W=Ie(W^j,8),U=U+W|0,R=Ie(R^U,7),A=A+L|0,X=Ie(X^A,16),K=K+X|0,L=Ie(L^K,12),A=A+L|0,X=Ie(X^A,8),K=K+X|0,L=Ie(L^K,7),x=x+N|0,X=Ie(X^x,16),U=U+X|0,N=Ie(N^U,12),x=x+N|0,X=Ie(X^x,8),U=U+X|0,N=Ie(N^U,7),M=M+R|0,Y=Ie(Y^M,16),K=K+Y|0,R=Ie(R^K,12),M=M+R|0,Y=Ie(Y^M,8),K=K+Y|0,R=Ie(R^K,7),j=j+L|0,S=Ie(S^j,16),B=B+S|0,L=Ie(L^B,12),j=j+L|0,S=Ie(S^j,8),B=B+S|0,L=Ie(L^B,7),A=A+$|0,W=Ie(W^A,16),H=H+W|0,$=Ie($^H,12),A=A+$|0,W=Ie(W^A,8),H=H+W|0,$=Ie($^H,7);let Q=0;i[Q++]=o+x|0,i[Q++]=a+M|0,i[Q++]=c+j|0,i[Q++]=l+A|0,i[Q++]=h+$|0,i[Q++]=d+N|0,i[Q++]=p+R|0,i[Q++]=f+L|0,i[Q++]=g+B|0,i[Q++]=w+H|0,i[Q++]=v+U|0,i[Q++]=b+K|0,i[Q++]=m+Y|0,i[Q++]=_+S|0,i[Q++]=C+W|0,i[Q++]=T+X|0}const nE=eE(rE,{counterRight:!1,counterLength:4,allowShortKeys:!1}),oE=new Uint8Array(16),Wd=(s,e)=>{s.update(e);const t=e.length%16;t&&s.update(oE.subarray(t))},aE=new Uint8Array(32);function Vd(s,e,t,i,r){const n=s(e,t,aE),o=iE.create(n);r&&Wd(o,r),Wd(o,i);const a=new Uint8Array(16),c=F1(a);Bd(c,0,BigInt(r?r.length:0),!0),Bd(c,8,BigInt(i.length),!0),o.update(a);const l=o.digest();return Rn(n,a),l}const cE=s=>(e,t,i)=>({encrypt(r,n){const o=r.length;n=qd(o+16,n,!1),n.set(r);const a=n.subarray(0,-16);s(e,t,a,a,1);const c=Vd(s,e,t,a,i);return n.set(c,o),Rn(c),n},decrypt(r,n){n=qd(r.length-16,n,!1);const o=r.subarray(0,-16),a=r.subarray(-16),c=Vd(s,e,t,o,i);if(!W1(a,c))throw new Error("invalid tag");return n.set(r.subarray(0,-16)),s(e,t,n,n,1),Rn(c),n}}),ey=V1({blockSize:64,nonceLength:12,tagLength:16},cE(nE));let ty=class extends wu{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,fu(e);const i=jn(t);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 r=this.blockLen,n=new Uint8Array(r);n.set(i.length>r?e.create().update(i).digest():i);for(let o=0;o<n.length;o++)n[o]^=54;this.iHash.update(n),this.oHash=e.create();for(let o=0;o<n.length;o++)n[o]^=106;this.oHash.update(n),n.fill(0)}update(e){return kn(this),this.iHash.update(e),this}digestInto(e){kn(this),jc(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:t,iHash:i,finished:r,destroyed:n,blockLen:o,outputLen:a}=this;return e=e,e.finished=r,e.destroyed=n,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const mu=(s,e,t)=>new ty(s,e).update(t).digest();mu.create=(s,e)=>new ty(s,e);function lE(s,e,t){return fu(s),t===void 0&&(t=new Uint8Array(s.outputLen)),mu(s,jn(t),jn(e))}const dl=new Uint8Array([0]),Kd=new Uint8Array;function hE(s,e,t,i=32){if(fu(s),Wo(i),i>255*s.outputLen)throw new Error("Length should be <= 255*HashLen");const r=Math.ceil(i/s.outputLen);t===void 0&&(t=Kd);const n=new Uint8Array(r*s.outputLen),o=mu.create(s,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let l=0;l<r;l++)dl[0]=l+1,a.update(l===0?Kd:c).update(t).update(dl).digestInto(c),n.set(c,s.outputLen*l),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),dl.fill(0),n.slice(0,i)}const uE=(s,e,t,i,r)=>hE(s,lE(s,e,t),i,r);function dE(s,e,t,i){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,i);const r=BigInt(32),n=BigInt(4294967295),o=Number(t>>r&n),a=Number(t&n),c=i?4:0,l=i?0:4;s.setUint32(e+c,o,i),s.setUint32(e+l,a,i)}function pE(s,e,t){return s&e^~s&t}function gE(s,e,t){return s&e^s&t^e&t}let fE=class extends wu{constructor(e,t,i,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=hl(this.buffer)}update(e){kn(this);const{view:t,buffer:i,blockLen:r}=this;e=jn(e);const n=e.length;for(let o=0;o<n;){const a=Math.min(r-this.pos,n-o);if(a===r){const c=hl(e);for(;r<=n-o;o+=r)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){kn(this),qw(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:r,isLE:n}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(i,0),o=0);for(let d=o;d<r;d++)t[d]=0;dE(i,r-8,BigInt(this.length*8),n),this.process(i,0);const a=hl(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,h[d],n)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:r,finished:n,destroyed:o,pos:a}=this;return e.length=r,e.pos=a,e.finished=n,e.destroyed=o,r%t&&e.buffer.set(i),e}};const wE=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]),_i=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ni=new Uint32Array(64);let yE=class extends fE{constructor(){super(64,32,8,!1),this.A=_i[0]|0,this.B=_i[1]|0,this.C=_i[2]|0,this.D=_i[3]|0,this.E=_i[4]|0,this.F=_i[5]|0,this.G=_i[6]|0,this.H=_i[7]|0}get(){const{A:e,B:t,C:i,D:r,E:n,F:o,G:a,H:c}=this;return[e,t,i,r,n,o,a,c]}set(e,t,i,r,n,o,a,c){this.A=e|0,this.B=t|0,this.C=i|0,this.D=r|0,this.E=n|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)Ni[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){const p=Ni[d-15],f=Ni[d-2],g=Bs(p,7)^Bs(p,18)^p>>>3,w=Bs(f,17)^Bs(f,19)^f>>>10;Ni[d]=w+Ni[d-7]+g+Ni[d-16]|0}let{A:i,B:r,C:n,D:o,E:a,F:c,G:l,H:h}=this;for(let d=0;d<64;d++){const p=Bs(a,6)^Bs(a,11)^Bs(a,25),f=h+p+pE(a,c,l)+wE[d]+Ni[d]|0,g=(Bs(i,2)^Bs(i,13)^Bs(i,22))+gE(i,r,n)|0;h=l,l=c,c=a,a=o+f|0,o=n,n=r,r=i,i=f+g|0}i=i+this.A|0,r=r+this.B|0,n=n+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,h=h+this.H|0,this.set(i,r,n,o,a,c,l,h)}roundClean(){Ni.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Rc=Bw(()=>new yE);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const sy=BigInt(0);function bu(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function iy(s){if(!bu(s))throw new Error("Uint8Array expected")}const mE=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function bE(s){iy(s);let e="";for(let t=0;t<s.length;t++)e+=mE[s[t]];return e}function vE(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);return s===""?sy:BigInt("0x"+s)}const ai={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gd(s){if(s>=ai._0&&s<=ai._9)return s-ai._0;if(s>=ai.A&&s<=ai.F)return s-(ai.A-10);if(s>=ai.a&&s<=ai.f)return s-(ai.a-10)}function ry(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);const e=s.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let r=0,n=0;r<t;r++,n+=2){const o=Gd(s.charCodeAt(n)),a=Gd(s.charCodeAt(n+1));if(o===void 0||a===void 0){const c=s[n]+s[n+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+n)}i[r]=o*16+a}return i}function Yd(s){return iy(s),vE(bE(Uint8Array.from(s).reverse()))}function IE(s,e){return ry(s.toString(16).padStart(e*2,"0"))}function EE(s,e){return IE(s,e).reverse()}function Qd(s,e,t){let i;if(typeof e=="string")try{i=ry(e)}catch(n){throw new Error(s+" must be hex string or Uint8Array, cause: "+n)}else if(bu(e))i=Uint8Array.from(e);else throw new Error(s+" must be hex string or Uint8Array");const r=i.length;if(typeof t=="number"&&r!==t)throw new Error(s+" of length "+t+" expected, got "+r);return i}const pl=s=>typeof s=="bigint"&&sy<=s;function AE(s,e,t){return pl(s)&&pl(e)&&pl(t)&&e<=s&&s<t}function Jd(s,e,t,i){if(!AE(e,t,i))throw new Error("expected valid "+s+": "+t+" <= n < "+i+", got "+e)}const _E={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||bu(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function NE(s,e,t={}){const i=(r,n,o)=>{const a=_E[n];if(typeof a!="function")throw new Error("invalid validator function");const c=s[r];if(!(o&&c===void 0)&&!a(c,s))throw new Error("param "+String(r)+" is invalid. Expected "+n+", got "+c)};for(const[r,n]of Object.entries(e))i(r,n,!1);for(const[r,n]of Object.entries(t))i(r,n,!0);return s}const Cn=BigInt(0),ja=BigInt(1);function ny(s,e){const t=s%e;return t>=Cn?t:e+t}function CE(s,e,t){if(e<Cn)throw new Error("invalid exponent, negatives unsupported");if(t<=Cn)throw new Error("invalid modulus");if(t===ja)return Cn;let i=ja;for(;e>Cn;)e&ja&&(i=i*s%t),s=s*s%t,e>>=ja;return i}function Rs(s,e,t){let i=s;for(;e-- >Cn;)i*=i,i%=t;return i}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Lr=BigInt(0),gl=BigInt(1);function SE(s){return NE(s,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...s})}function $E(s){const e=SE(s),{P:t}=e,i=m=>ny(m,t),r=e.montgomeryBits,n=Math.ceil(r/8),o=e.nByteLength,a=e.adjustScalarBytes||(m=>m),c=e.powPminus2||(m=>CE(m,t-BigInt(2),t));function l(m,_,C){const T=i(m*(_-C));return _=i(_-T),C=i(C+T),[_,C]}const h=(e.a-BigInt(2))/BigInt(4);function d(m,_){Jd("u",m,Lr,t),Jd("scalar",_,Lr,t);const C=_,T=m;let x=gl,M=Lr,j=m,A=gl,$=Lr,N;for(let L=BigInt(r-1);L>=Lr;L--){const B=C>>L≷$^=B,N=l($,x,j),x=N[0],j=N[1],N=l($,M,A),M=N[0],A=N[1],$=B;const H=x+M,U=i(H*H),K=x-M,Y=i(K*K),S=U-Y,W=j+A,X=j-A,Q=i(X*H),be=i(W*K),de=Q+be,ee=Q-be;j=i(de*de),A=i(T*i(ee*ee)),x=i(U*Y),M=i(S*(U+i(h*S)))}N=l($,x,j),x=N[0],j=N[1],N=l($,M,A),M=N[0],A=N[1];const R=c(M);return i(x*R)}function p(m){return EE(i(m),n)}function f(m){const _=Qd("u coordinate",m,n);return o===32&&(_[31]&=127),Yd(_)}function g(m){const _=Qd("scalar",m),C=_.length;if(C!==n&&C!==o){let T=""+n+" or "+o;throw new Error("invalid scalar, expected "+T+" bytes, got "+C)}return Yd(a(_))}function w(m,_){const C=f(_),T=g(m),x=d(C,T);if(x===Lr)throw new Error("invalid private or public key received");return p(x)}const v=p(e.Gu);function b(m){return w(m,v)}return{scalarMult:w,scalarMultBase:b,getSharedSecret:(m,_)=>w(m,_),getPublicKey:m=>b(m),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:v}}const dh=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const TE=BigInt(1),Zd=BigInt(2),PE=BigInt(3),xE=BigInt(5);BigInt(8);function OE(s){const e=BigInt(10),t=BigInt(20),i=BigInt(40),r=BigInt(80),n=dh,o=s*s%n*s%n,a=Rs(o,Zd,n)*o%n,c=Rs(a,TE,n)*s%n,l=Rs(c,xE,n)*c%n,h=Rs(l,e,n)*l%n,d=Rs(h,t,n)*h%n,p=Rs(d,i,n)*d%n,f=Rs(p,r,n)*p%n,g=Rs(f,r,n)*p%n,w=Rs(g,e,n)*l%n;return{pow_p_5_8:Rs(w,Zd,n)*s%n,b2:o}}function ME(s){return s[0]&=248,s[31]&=127,s[31]|=64,s}const ph=$E({P:dh,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:s=>{const e=dh,{pow_p_5_8:t,b2:i}=OE(s);return ny(Rs(t,PE,e)*i,e)},adjustScalarBytes:ME,randomBytes:ua}),oy="base10",qt="base16",Ri="base64pad",io="base64url",da="utf8",ay=0,mi=1,pa=2,DE=0,Xd=1,Oo=12,vu=32;function kE(){const s=ph.utils.randomPrivateKey(),e=ph.getPublicKey(s);return{privateKey:u.toString(s,qt),publicKey:u.toString(e,qt)}}function gh(){const s=ua(vu);return u.toString(s,qt)}function jE(s,e){const t=ph.getSharedSecret(u.fromString(s,qt),u.fromString(e,qt)),i=uE(Rc,t,void 0,void 0,vu);return u.toString(i,qt)}function rc(s){const e=Rc(u.fromString(s,qt));return u.toString(e,qt)}function fi(s){const e=Rc(u.fromString(s,da));return u.toString(e,qt)}function cy(s){return u.fromString(`${s}`,oy)}function Ir(s){return Number(u.toString(s,oy))}function RE(s){const e=cy(typeof s.type<"u"?s.type:ay);if(Ir(e)===mi&&typeof s.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof s.senderPublicKey<"u"?u.fromString(s.senderPublicKey,qt):void 0,i=typeof s.iv<"u"?u.fromString(s.iv,qt):ua(Oo),r=u.fromString(s.symKey,qt),n=ey(r,i).encrypt(u.fromString(s.message,da));return ly({type:e,sealed:n,iv:i,senderPublicKey:t,encoding:s.encoding})}function UE(s){const e=u.fromString(s.symKey,qt),{sealed:t,iv:i}=Ko(s),r=ey(e,i).decrypt(t);if(r===null)throw new Error("Failed to decrypt");return u.toString(r,da)}function LE(s,e){const t=cy(pa),i=ua(Oo),r=u.fromString(s,da);return ly({type:t,sealed:r,iv:i,encoding:e})}function zE(s,e){const{sealed:t}=Ko({encoded:s,encoding:e});return u.toString(t,da)}function ly(s){const{encoding:e=Ri}=s;if(Ir(s.type)===pa)return u.toString(u.concat([s.type,s.sealed]),e);if(Ir(s.type)===mi){if(typeof s.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return u.toString(u.concat([s.type,s.senderPublicKey,s.iv,s.sealed]),e)}return u.toString(u.concat([s.type,s.iv,s.sealed]),e)}function Ko(s){const{encoded:e,encoding:t=Ri}=s,i=u.fromString(e,t),r=i.slice(DE,Xd),n=Xd;if(Ir(r)===mi){const l=n+vu,h=l+Oo,d=i.slice(n,l),p=i.slice(l,h),f=i.slice(h);return{type:r,sealed:f,iv:p,senderPublicKey:d}}if(Ir(r)===pa){const l=i.slice(n),h=ua(Oo);return{type:r,sealed:l,iv:h}}const o=n+Oo,a=i.slice(n,o),c=i.slice(o);return{type:r,sealed:c,iv:a}}function FE(s,e){const t=Ko({encoded:s,encoding:e?.encoding});return hy({type:Ir(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?u.toString(t.senderPublicKey,qt):void 0,receiverPublicKey:e?.receiverPublicKey})}function hy(s){const e=s?.type||ay;if(e===mi){if(typeof s?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof s?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:s?.senderPublicKey,receiverPublicKey:s?.receiverPublicKey}}function ep(s){return s.type===mi&&typeof s.senderPublicKey=="string"&&typeof s.receiverPublicKey=="string"}function tp(s){return s.type===pa}function qE(s){return new Ow.ec("p256").keyFromPublic({x:P.Buffer.from(s.x,"base64").toString("hex"),y:P.Buffer.from(s.y,"base64").toString("hex")},"hex")}function BE(s){let e=s.replace(/-/g,"+").replace(/_/g,"/");const t=e.length%4;return t>0&&(e+="=".repeat(4-t)),e}function HE(s){return P.Buffer.from(BE(s),"base64")}function WE(s,e){const[t,i,r]=s.split("."),n=HE(r);if(n.length!==64)throw new Error("Invalid signature length");const o=n.slice(0,32).toString("hex"),a=n.slice(32,64).toString("hex"),c=`${t}.${i}`,l=Rc(c),h=qE(e),d=u.toString(l,qt);if(!h.verify(d,{r:o,s:a}))throw new Error("Invalid signature");return u.sn(s).payload}const VE="irn";function yc(s){return s?.relay||{protocol:VE}}function Eo(s){const e=u.C[s];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${s}`);return e}function KE(s,e="-"){const t={},i="relay"+e;return Object.keys(s).forEach(r=>{if(r.startsWith(i)){const n=r.replace(i,""),o=s[r];t[n]=o}}),t}function sp(s){if(!s.includes("wc:")){const l=Fw(s);l!=null&&l.includes("wc:")&&(s=l)}s=s.includes("wc://")?s.replace("wc://",""):s,s=s.includes("wc:")?s.replace("wc:",""):s;const e=s.indexOf(":"),t=s.indexOf("?")!==-1?s.indexOf("?"):void 0,i=s.substring(0,e),r=s.substring(e+1,t).split("@"),n=typeof t<"u"?s.substring(t):"",o=new URLSearchParams(n),a={};o.forEach((l,h)=>{a[h]=l});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:i,topic:GE(r[0]),version:parseInt(r[1],10),symKey:a.symKey,relay:KE(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function GE(s){return s.startsWith("//")?s.substring(2):s}function YE(s,e="-"){const t="relay",i={};return Object.keys(s).forEach(r=>{const n=r,o=t+e+n;s[n]&&(i[o]=s[n])}),i}function ip(s){const e=new URLSearchParams,t=YE(s.relay);Object.keys(t).sort().forEach(r=>{e.set(r,t[r])}),e.set("symKey",s.symKey),s.expiryTimestamp&&e.set("expiryTimestamp",s.expiryTimestamp.toString()),s.methods&&e.set("methods",s.methods.join(","));const i=e.toString();return`${s.protocol}:${s.topic}@${s.version}?${i}`}function Ra(s,e,t){return`${s}?wc_ev=${t}&topic=${e}`}function Wn(s){const e=[];return s.forEach(t=>{const[i,r]=t.split(":");e.push(`${i}:${r}`)}),e}function QE(s){const e=[];return Object.values(s).forEach(t=>{e.push(...Wn(t.accounts))}),e}function JE(s,e){const t=[];return Object.values(s).forEach(i=>{Wn(i.accounts).includes(e)&&t.push(...i.methods)}),t}function ZE(s,e){const t=[];return Object.values(s).forEach(i=>{Wn(i.accounts).includes(e)&&t.push(...i.events)}),t}function Iu(s){return s.includes(":")}function Ao(s){return Iu(s)?s.split(":")[0]:s}function XE(s){const e={};return s?.forEach(t=>{var i;const[r,n]=t.split(":");e[r]||(e[r]={accounts:[],chains:[],events:[],methods:[]}),e[r].accounts.push(t),(i=e[r].chains)==null||i.push(`${r}:${n}`)}),e}function rp(s,e){e=e.map(i=>i.replace("did:pkh:",""));const t=XE(e);for(const[i,r]of Object.entries(t))r.methods?r.methods=sc(r.methods,s):r.methods=s,r.events=["chainChanged","accountsChanged"];return t}const eA={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}},tA={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 F(s,e){const{message:t,code:i}=tA[s];return{message:e?`${t} ${e}`:t,code:i}}function je(s,e){const{message:t,code:i}=eA[s];return{message:e?`${t} ${e}`:t,code:i}}function Er(s,e){return!!Array.isArray(s)}function Go(s){return Object.getPrototypeOf(s)===Object.prototype&&Object.keys(s).length}function Wt(s){return typeof s>"u"}function ot(s,e){return e&&Wt(s)?!0:typeof s=="string"&&!!s.trim().length}function Eu(s,e){return e&&Wt(s)?!0:typeof s=="number"&&!isNaN(s)}function sA(s,e){const{requiredNamespaces:t}=e,i=Object.keys(s.namespaces),r=Object.keys(t);let n=!0;return gr(r,i)?(i.forEach(o=>{const{accounts:a,methods:c,events:l}=s.namespaces[o],h=Wn(a),d=t[o];(!gr(Dw(o,d),h)||!gr(d.methods,c)||!gr(d.events,l))&&(n=!1)}),n):!1}function mc(s){return ot(s,!1)&&s.includes(":")?s.split(":").length===2:!1}function iA(s){if(ot(s,!1)&&s.includes(":")){const e=s.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&mc(t)}}return!1}function rA(s){function e(t){try{return typeof new URL(t)<"u"}catch{return!1}}try{if(ot(s,!1)){if(e(s))return!0;const t=Fw(s);return e(t)}}catch{}return!1}function nA(s){var e;return(e=s?.proposer)==null?void 0:e.publicKey}function oA(s){return s?.topic}function aA(s,e){let t=null;return ot(s?.publicKey,!1)||(t=F("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function np(s){let e=!0;return Er(s)?s.length&&(e=s.every(t=>ot(t,!1))):e=!1,e}function cA(s,e,t){let i=null;return Er(e)&&e.length?e.forEach(r=>{i||mc(r)||(i=je("UNSUPPORTED_CHAINS",`${t}, chain ${r} should be a string and conform to "namespace:chainId" format`))}):mc(s)||(i=je("UNSUPPORTED_CHAINS",`${t}, 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"] }`)),i}function lA(s,e,t){let i=null;return Object.entries(s).forEach(([r,n])=>{if(i)return;const o=cA(r,Dw(r,n),`${e} ${t}`);o&&(i=o)}),i}function hA(s,e){let t=null;return Er(s)?s.forEach(i=>{t||iA(i)||(t=je("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=je("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function uA(s,e){let t=null;return Object.values(s).forEach(i=>{if(t)return;const r=hA(i?.accounts,`${e} namespace`);r&&(t=r)}),t}function dA(s,e){let t=null;return np(s?.methods)?np(s?.events)||(t=je("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=je("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function uy(s,e){let t=null;return Object.values(s).forEach(i=>{if(t)return;const r=dA(i,`${e}, namespace`);r&&(t=r)}),t}function pA(s,e,t){let i=null;if(s&&Go(s)){const r=uy(s,e);r&&(i=r);const n=lA(s,e,t);n&&(i=n)}else i=F("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function fl(s,e){let t=null;if(s&&Go(s)){const i=uy(s,e);i&&(t=i);const r=uA(s,e);r&&(t=r)}else t=F("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function dy(s){return ot(s.protocol,!0)}function gA(s,e){let t=!1;return s?s&&Er(s)&&s.length&&s.forEach(i=>{t=dy(i)}):t=!0,t}function fA(s){return typeof s=="number"}function Zt(s){return typeof s<"u"&&typeof s!==null}function wA(s){return!(!s||typeof s!="object"||!s.code||!Eu(s.code,!1)||!s.message||!ot(s.message,!1))}function yA(s){return!(Wt(s)||!ot(s.method,!1))}function mA(s){return!(Wt(s)||Wt(s.result)&&Wt(s.error)||!Eu(s.id,!1)||!ot(s.jsonrpc,!1))}function bA(s){return!(Wt(s)||!ot(s.name,!1))}function op(s,e){return!(!mc(e)||!QE(s).includes(e))}function vA(s,e,t){return ot(t,!1)?JE(s,e).includes(t):!1}function IA(s,e,t){return ot(t,!1)?ZE(s,e).includes(t):!1}function ap(s,e,t){let i=null;const r=EA(s),n=AA(e),o=Object.keys(r),a=Object.keys(n),c=cp(Object.keys(s)),l=cp(Object.keys(e)),h=c.filter(d=>!l.includes(d));return h.length&&(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces.
|
|
@@ -9,7 +9,7 @@ ${s.length}`,t=new TextEncoder().encode(e+s);return"0x"+P.Buffer.from(w1(t)).toS
|
|
|
9
9
|
Approved: ${a.toString()}`)),Object.keys(e).forEach(d=>{if(!d.includes(":")||i)return;const p=Wn(e[d].accounts);p.includes(d)||(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${d}
|
|
10
10
|
Required: ${d}
|
|
11
11
|
Approved: ${p.toString()}`))}),o.forEach(d=>{i||(gr(r[d].methods,n[d].methods)?gr(r[d].events,n[d].events)||(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${d}`)):i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${d}`))}),i}function EA(s){const e={};return Object.keys(s).forEach(t=>{var i;t.includes(":")?e[t]=s[t]:(i=s[t].chains)==null||i.forEach(r=>{e[r]={methods:s[t].methods,events:s[t].events}})}),e}function cp(s){return[...new Set(s.map(e=>e.includes(":")?e.split(":")[0]:e))]}function AA(s){const e={};return Object.keys(s).forEach(t=>{t.includes(":")?e[t]=s[t]:Wn(s[t].accounts)?.forEach(r=>{e[r]={accounts:s[t].accounts.filter(n=>n.includes(`${r}:`)),methods:s[t].methods,events:s[t].events}})}),e}function _A(s,e){return Eu(s,!1)&&s<=e.max&&s>=e.min}function lp(){const s=ha();return new Promise(e=>{switch(s){case hs.browser:e(NA());break;case hs.reactNative:e(CA());break;case hs.node:e(SA());break;default:e(!0)}})}function NA(){return la()&&navigator?.onLine}async function CA(){return Vi()&&typeof P.global<"u"&&P.global!=null&&P.global.NetInfo?(await(P.global==null?void 0:P.global.NetInfo.fetch()))?.isConnected:!0}function SA(){return!0}function $A(s){switch(ha()){case hs.browser:TA(s);break;case hs.reactNative:PA(s);break}}function TA(s){!Vi()&&la()&&(window.addEventListener("online",()=>s(!0)),window.addEventListener("offline",()=>s(!1)))}function PA(s){Vi()&&typeof P.global<"u"&&P.global!=null&&P.global.NetInfo&&P.global?.NetInfo.addEventListener(e=>s(e?.isConnected))}const wl={};let ro=class{static get(e){return wl[e]}static set(e,t){wl[e]=t}static delete(e){delete wl[e]}};var _o={exports:{}};_o.exports;var hp;function xA(){return hp||(hp=1,(function(s,e){var t=200,i="__lodash_hash_undefined__",r=1,n=2,o=9007199254740991,a="[object Arguments]",c="[object Array]",l="[object AsyncFunction]",h="[object Boolean]",d="[object Date]",p="[object Error]",f="[object Function]",g="[object GeneratorFunction]",w="[object Map]",v="[object Number]",b="[object Null]",m="[object Object]",_="[object Promise]",C="[object Proxy]",T="[object RegExp]",x="[object Set]",M="[object String]",j="[object Symbol]",A="[object Undefined]",$="[object WeakMap]",N="[object ArrayBuffer]",R="[object DataView]",L="[object Float32Array]",B="[object Float64Array]",H="[object Int8Array]",U="[object Int16Array]",K="[object Int32Array]",Y="[object Uint8Array]",S="[object Uint8ClampedArray]",W="[object Uint16Array]",X="[object Uint32Array]",Q=/[\\^$.*+?()[\]{}|]/g,be=/^\[object .+?Constructor\]$/,de=/^(?:0|[1-9]\d*)$/,ee={};ee[L]=ee[B]=ee[H]=ee[U]=ee[K]=ee[Y]=ee[S]=ee[W]=ee[X]=!0,ee[a]=ee[c]=ee[N]=ee[h]=ee[R]=ee[d]=ee[p]=ee[f]=ee[w]=ee[v]=ee[m]=ee[T]=ee[x]=ee[M]=ee[$]=!1;var it=typeof Ve.commonjsGlobal=="object"&&Ve.commonjsGlobal&&Ve.commonjsGlobal.Object===Object&&Ve.commonjsGlobal,Ue=typeof self=="object"&&self&&self.Object===Object&&self,ve=it||Ue||Function("return this")(),De=e&&!e.nodeType&&e,Ls=De&&!0&&s&&!s.nodeType&&s,zs=Ls&&Ls.exports===De,si=zs&&it.process,kr=(function(){try{return si&&si.binding&&si.binding("util")}catch{}})(),Fs=kr&&kr.isTypedArray;function Qn(y,E){for(var O=-1,G=y==null?0:y.length,Ge=0,oe=[];++O<G;){var rt=y[O];E(rt,O,y)&&(oe[Ge++]=rt)}return oe}function qb(y,E){for(var O=-1,G=E.length,Ge=y.length;++O<G;)y[Ge+O]=E[O];return y}function Bb(y,E){for(var O=-1,G=y==null?0:y.length;++O<G;)if(E(y[O],O,y))return!0;return!1}function Hb(y,E){for(var O=-1,G=Array(y);++O<y;)G[O]=E(O);return G}function Wb(y){return function(E){return y(E)}}function Vb(y,E){return y.has(E)}function Kb(y,E){return y?.[E]}function Gb(y){var E=-1,O=Array(y.size);return y.forEach(function(G,Ge){O[++E]=[Ge,G]}),O}function Yb(y,E){return function(O){return y(E(O))}}function Qb(y){var E=-1,O=Array(y.size);return y.forEach(function(G){O[++E]=G}),O}var Jb=Array.prototype,Zb=Function.prototype,Na=Object.prototype,Xc=ve["__core-js_shared__"],Ju=Zb.toString,qs=Na.hasOwnProperty,Zu=(function(){var y=/[^.]+$/.exec(Xc&&Xc.keys&&Xc.keys.IE_PROTO||"");return y?"Symbol(src)_1."+y:""})(),Xu=Na.toString,Xb=RegExp("^"+Ju.call(qs).replace(Q,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ed=zs?ve.Buffer:void 0,Ca=ve.Symbol,td=ve.Uint8Array,sd=Na.propertyIsEnumerable,ev=Jb.splice,Gi=Ca?Ca.toStringTag:void 0,id=Object.getOwnPropertySymbols,tv=ed?ed.isBuffer:void 0,sv=Yb(Object.keys,Object),el=jr(ve,"DataView"),Jn=jr(ve,"Map"),tl=jr(ve,"Promise"),sl=jr(ve,"Set"),il=jr(ve,"WeakMap"),Zn=jr(Object,"create"),iv=Ji(el),rv=Ji(Jn),nv=Ji(tl),ov=Ji(sl),av=Ji(il),rd=Ca?Ca.prototype:void 0,rl=rd?rd.valueOf:void 0;function Yi(y){var E=-1,O=y==null?0:y.length;for(this.clear();++E<O;){var G=y[E];this.set(G[0],G[1])}}function cv(){this.__data__=Zn?Zn(null):{},this.size=0}function lv(y){var E=this.has(y)&&delete this.__data__[y];return this.size-=E?1:0,E}function hv(y){var E=this.__data__;if(Zn){var O=E[y];return O===i?void 0:O}return qs.call(E,y)?E[y]:void 0}function uv(y){var E=this.__data__;return Zn?E[y]!==void 0:qs.call(E,y)}function dv(y,E){var O=this.__data__;return this.size+=this.has(y)?0:1,O[y]=Zn&&E===void 0?i:E,this}Yi.prototype.clear=cv,Yi.prototype.delete=lv,Yi.prototype.get=hv,Yi.prototype.has=uv,Yi.prototype.set=dv;function ii(y){var E=-1,O=y==null?0:y.length;for(this.clear();++E<O;){var G=y[E];this.set(G[0],G[1])}}function pv(){this.__data__=[],this.size=0}function gv(y){var E=this.__data__,O=$a(E,y);if(O<0)return!1;var G=E.length-1;return O==G?E.pop():ev.call(E,O,1),--this.size,!0}function fv(y){var E=this.__data__,O=$a(E,y);return O<0?void 0:E[O][1]}function wv(y){return $a(this.__data__,y)>-1}function yv(y,E){var O=this.__data__,G=$a(O,y);return G<0?(++this.size,O.push([y,E])):O[G][1]=E,this}ii.prototype.clear=pv,ii.prototype.delete=gv,ii.prototype.get=fv,ii.prototype.has=wv,ii.prototype.set=yv;function Qi(y){var E=-1,O=y==null?0:y.length;for(this.clear();++E<O;){var G=y[E];this.set(G[0],G[1])}}function mv(){this.size=0,this.__data__={hash:new Yi,map:new(Jn||ii),string:new Yi}}function bv(y){var E=Ta(this,y).delete(y);return this.size-=E?1:0,E}function vv(y){return Ta(this,y).get(y)}function Iv(y){return Ta(this,y).has(y)}function Ev(y,E){var O=Ta(this,y),G=O.size;return O.set(y,E),this.size+=O.size==G?0:1,this}Qi.prototype.clear=mv,Qi.prototype.delete=bv,Qi.prototype.get=vv,Qi.prototype.has=Iv,Qi.prototype.set=Ev;function Sa(y){var E=-1,O=y==null?0:y.length;for(this.__data__=new Qi;++E<O;)this.add(y[E])}function Av(y){return this.__data__.set(y,i),this}function _v(y){return this.__data__.has(y)}Sa.prototype.add=Sa.prototype.push=Av,Sa.prototype.has=_v;function Ii(y){var E=this.__data__=new ii(y);this.size=E.size}function Nv(){this.__data__=new ii,this.size=0}function Cv(y){var E=this.__data__,O=E.delete(y);return this.size=E.size,O}function Sv(y){return this.__data__.get(y)}function $v(y){return this.__data__.has(y)}function Tv(y,E){var O=this.__data__;if(O instanceof ii){var G=O.__data__;if(!Jn||G.length<t-1)return G.push([y,E]),this.size=++O.size,this;O=this.__data__=new Qi(G)}return O.set(y,E),this.size=O.size,this}Ii.prototype.clear=Nv,Ii.prototype.delete=Cv,Ii.prototype.get=Sv,Ii.prototype.has=$v,Ii.prototype.set=Tv;function Pv(y,E){var O=Pa(y),G=!O&&Wv(y),Ge=!O&&!G&&nl(y),oe=!O&&!G&&!Ge&&pd(y),rt=O||G||Ge||oe,yt=rt?Hb(y.length,String):[],Nt=yt.length;for(var Xe in y)qs.call(y,Xe)&&!(rt&&(Xe=="length"||Ge&&(Xe=="offset"||Xe=="parent")||oe&&(Xe=="buffer"||Xe=="byteLength"||Xe=="byteOffset")||zv(Xe,Nt)))&&yt.push(Xe);return yt}function $a(y,E){for(var O=y.length;O--;)if(ld(y[O][0],E))return O;return-1}function xv(y,E,O){var G=E(y);return Pa(y)?G:qb(G,O(y))}function Xn(y){return y==null?y===void 0?A:b:Gi&&Gi in Object(y)?Uv(y):Hv(y)}function nd(y){return eo(y)&&Xn(y)==a}function od(y,E,O,G,Ge){return y===E?!0:y==null||E==null||!eo(y)&&!eo(E)?y!==y&&E!==E:Ov(y,E,O,G,od,Ge)}function Ov(y,E,O,G,Ge,oe){var rt=Pa(y),yt=Pa(E),Nt=rt?c:Ei(y),Xe=yt?c:Ei(E);Nt=Nt==a?m:Nt,Xe=Xe==a?m:Xe;var ss=Nt==m,Ts=Xe==m,Rt=Nt==Xe;if(Rt&&nl(y)){if(!nl(E))return!1;rt=!0,ss=!1}if(Rt&&!ss)return oe||(oe=new Ii),rt||pd(y)?ad(y,E,O,G,Ge,oe):jv(y,E,Nt,O,G,Ge,oe);if(!(O&r)){var fs=ss&&qs.call(y,"__wrapped__"),ws=Ts&&qs.call(E,"__wrapped__");if(fs||ws){var Ai=fs?y.value():y,ri=ws?E.value():E;return oe||(oe=new Ii),Ge(Ai,ri,O,G,oe)}}return Rt?(oe||(oe=new Ii),Rv(y,E,O,G,Ge,oe)):!1}function Mv(y){if(!dd(y)||qv(y))return!1;var E=hd(y)?Xb:be;return E.test(Ji(y))}function Dv(y){return eo(y)&&ud(y.length)&&!!ee[Xn(y)]}function kv(y){if(!Bv(y))return sv(y);var E=[];for(var O in Object(y))qs.call(y,O)&&O!="constructor"&&E.push(O);return E}function ad(y,E,O,G,Ge,oe){var rt=O&r,yt=y.length,Nt=E.length;if(yt!=Nt&&!(rt&&Nt>yt))return!1;var Xe=oe.get(y);if(Xe&&oe.get(E))return Xe==E;var ss=-1,Ts=!0,Rt=O&n?new Sa:void 0;for(oe.set(y,E),oe.set(E,y);++ss<yt;){var fs=y[ss],ws=E[ss];if(G)var Ai=rt?G(ws,fs,ss,E,y,oe):G(fs,ws,ss,y,E,oe);if(Ai!==void 0){if(Ai)continue;Ts=!1;break}if(Rt){if(!Bb(E,function(ri,Zi){if(!Vb(Rt,Zi)&&(fs===ri||Ge(fs,ri,O,G,oe)))return Rt.push(Zi)})){Ts=!1;break}}else if(!(fs===ws||Ge(fs,ws,O,G,oe))){Ts=!1;break}}return oe.delete(y),oe.delete(E),Ts}function jv(y,E,O,G,Ge,oe,rt){switch(O){case R:if(y.byteLength!=E.byteLength||y.byteOffset!=E.byteOffset)return!1;y=y.buffer,E=E.buffer;case N:return!(y.byteLength!=E.byteLength||!oe(new td(y),new td(E)));case h:case d:case v:return ld(+y,+E);case p:return y.name==E.name&&y.message==E.message;case T:case M:return y==E+"";case w:var yt=Gb;case x:var Nt=G&r;if(yt||(yt=Qb),y.size!=E.size&&!Nt)return!1;var Xe=rt.get(y);if(Xe)return Xe==E;G|=n,rt.set(y,E);var ss=ad(yt(y),yt(E),G,Ge,oe,rt);return rt.delete(y),ss;case j:if(rl)return rl.call(y)==rl.call(E)}return!1}function Rv(y,E,O,G,Ge,oe){var rt=O&r,yt=cd(y),Nt=yt.length,Xe=cd(E),ss=Xe.length;if(Nt!=ss&&!rt)return!1;for(var Ts=Nt;Ts--;){var Rt=yt[Ts];if(!(rt?Rt in E:qs.call(E,Rt)))return!1}var fs=oe.get(y);if(fs&&oe.get(E))return fs==E;var ws=!0;oe.set(y,E),oe.set(E,y);for(var Ai=rt;++Ts<Nt;){Rt=yt[Ts];var ri=y[Rt],Zi=E[Rt];if(G)var gd=rt?G(Zi,ri,Rt,E,y,oe):G(ri,Zi,Rt,y,E,oe);if(!(gd===void 0?ri===Zi||Ge(ri,Zi,O,G,oe):gd)){ws=!1;break}Ai||(Ai=Rt=="constructor")}if(ws&&!Ai){var xa=y.constructor,Oa=E.constructor;xa!=Oa&&"constructor"in y&&"constructor"in E&&!(typeof xa=="function"&&xa instanceof xa&&typeof Oa=="function"&&Oa instanceof Oa)&&(ws=!1)}return oe.delete(y),oe.delete(E),ws}function cd(y){return xv(y,Gv,Lv)}function Ta(y,E){var O=y.__data__;return Fv(E)?O[typeof E=="string"?"string":"hash"]:O.map}function jr(y,E){var O=Kb(y,E);return Mv(O)?O:void 0}function Uv(y){var E=qs.call(y,Gi),O=y[Gi];try{y[Gi]=void 0;var G=!0}catch{}var Ge=Xu.call(y);return G&&(E?y[Gi]=O:delete y[Gi]),Ge}var Lv=id?function(y){return y==null?[]:(y=Object(y),Qn(id(y),function(E){return sd.call(y,E)}))}:Yv,Ei=Xn;(el&&Ei(new el(new ArrayBuffer(1)))!=R||Jn&&Ei(new Jn)!=w||tl&&Ei(tl.resolve())!=_||sl&&Ei(new sl)!=x||il&&Ei(new il)!=$)&&(Ei=function(y){var E=Xn(y),O=E==m?y.constructor:void 0,G=O?Ji(O):"";if(G)switch(G){case iv:return R;case rv:return w;case nv:return _;case ov:return x;case av:return $}return E});function zv(y,E){return E=E??o,!!E&&(typeof y=="number"||de.test(y))&&y>-1&&y%1==0&&y<E}function Fv(y){var E=typeof y;return E=="string"||E=="number"||E=="symbol"||E=="boolean"?y!=="__proto__":y===null}function qv(y){return!!Zu&&Zu in y}function Bv(y){var E=y&&y.constructor,O=typeof E=="function"&&E.prototype||Na;return y===O}function Hv(y){return Xu.call(y)}function Ji(y){if(y!=null){try{return Ju.call(y)}catch{}try{return y+""}catch{}}return""}function ld(y,E){return y===E||y!==y&&E!==E}var Wv=nd((function(){return arguments})())?nd:function(y){return eo(y)&&qs.call(y,"callee")&&!sd.call(y,"callee")},Pa=Array.isArray;function Vv(y){return y!=null&&ud(y.length)&&!hd(y)}var nl=tv||Qv;function Kv(y,E){return od(y,E)}function hd(y){if(!dd(y))return!1;var E=Xn(y);return E==f||E==g||E==l||E==C}function ud(y){return typeof y=="number"&&y>-1&&y%1==0&&y<=o}function dd(y){var E=typeof y;return y!=null&&(E=="object"||E=="function")}function eo(y){return y!=null&&typeof y=="object"}var pd=Fs?Wb(Fs):Dv;function Gv(y){return Vv(y)?Pv(y):kv(y)}function Yv(){return[]}function Qv(){return!1}s.exports=Kv})(_o,_o.exports)),_o.exports}var OA=xA();const MA=Ve.getDefaultExportFromCjs(OA),py="wc",gy=2,fh="core",ei=`${py}@2:${fh}:`,DA={logger:"error"},kA={database:":memory:"},jA="crypto",up="client_ed25519_seed",RA=u.cjsExports$1.ONE_DAY,UA="keychain",LA="0.3",zA="messages",FA="0.3",dp=u.cjsExports$1.SIX_HOURS,qA="publisher",fy="irn",BA="error",wy="wss://relay.walletconnect.org",HA="relayer",At={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"},WA="_subscription",ys={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},VA=.1,wh="2.19.0",Qe={link_mode:"link_mode",relay:"relay"},KA="0.3",GA="WALLETCONNECT_CLIENT_ID",pp="WALLETCONNECT_LINK_MODE_APPS",os={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},YA="subscription",QA="0.3",JA=u.cjsExports$1.FIVE_SECONDS*1e3,ZA="pairing",XA="0.3",no={wc_pairingDelete:{req:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:u.cjsExports$1.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:u.cjsExports$1.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:0},res:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:0}}},hr={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},Ps={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},e_="history",t_="0.3",s_="expirer",Es={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},i_="0.3",r_="verify-api",n_="https://verify.walletconnect.com",yy="https://verify.walletconnect.org",Mo=yy,o_=`${Mo}/v3`,a_=[n_,yy],c_="echo",l_="https://echo.walletconnect.com",Js={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"},di={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"},xs={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"},Xi={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"},er={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"},oo={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},h_=.1,u_="event-client",d_=86400,p_="https://pulse.walletconnect.org/batch";function g_(s,e){if(s.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 r=0;r<s.length;r++){var n=s.charAt(r),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+" is ambiguous");t[o]=r}var a=s.length,c=s.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function d(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var w=0,v=0,b=0,m=g.length;b!==m&&g[b]===0;)b++,w++;for(var _=(m-b)*h+1>>>0,C=new Uint8Array(_);b!==m;){for(var T=g[b],x=0,M=_-1;(T!==0||x<v)&&M!==-1;M--,x++)T+=256*C[M]>>>0,C[M]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");v=x,b++}for(var j=_-v;j!==_&&C[j]===0;)j++;for(var A=c.repeat(w);j<_;++j)A+=s.charAt(C[j]);return A}function p(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var w=0;if(g[w]!==" "){for(var v=0,b=0;g[w]===c;)v++,w++;for(var m=(g.length-w)*l+1>>>0,_=new Uint8Array(m);g[w];){var C=t[g.charCodeAt(w)];if(C===255)return;for(var T=0,x=m-1;(C!==0||T<b)&&x!==-1;x--,T++)C+=a*_[x]>>>0,_[x]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");b=T,w++}if(g[w]!==" "){for(var M=m-b;M!==m&&_[M]===0;)M++;for(var j=new Uint8Array(v+(m-M)),A=v;M!==m;)j[A++]=_[M++];return j}}}function f(g){var w=p(g);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:p,decode:f}}var f_=g_,w_=f_;const my=s=>{if(s instanceof Uint8Array&&s.constructor.name==="Uint8Array")return s;if(s instanceof ArrayBuffer)return new Uint8Array(s);if(ArrayBuffer.isView(s))return new Uint8Array(s.buffer,s.byteOffset,s.byteLength);throw new Error("Unknown type, must be binary type")},y_=s=>new TextEncoder().encode(s),m_=s=>new TextDecoder().decode(s);let b_=class{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")}},v_=class{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 by(this,e)}},I_=class{constructor(e){this.decoders=e}or(e){return by(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 by=(s,e)=>new I_({...s.decoders||{[s.prefix]:s},...e.decoders||{[e.prefix]:e}});let E_=class{constructor(e,t,i,r){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=r,this.encoder=new b_(e,t,i),this.decoder=new v_(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const Uc=({name:s,prefix:e,encode:t,decode:i})=>new E_(s,e,t,i),ga=({prefix:s,name:e,alphabet:t})=>{const{encode:i,decode:r}=w_(t,e);return Uc({prefix:s,name:e,encode:i,decode:n=>my(r(n))})},A_=(s,e,t,i)=>{const r={};for(let h=0;h<e.length;++h)r[e[h]]=h;let n=s.length;for(;s[n-1]==="=";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,l=0;for(let h=0;h<n;++h){const d=r[s[h]];if(d===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|d,a+=t,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},__=(s,e,t)=>{const i=e[e.length-1]==="=",r=(1<<t)-1;let n="",o=0,a=0;for(let c=0;c<s.length;++c)for(a=a<<8|s[c],o+=8;o>t;)o-=t,n+=e[r&a>>o];if(o&&(n+=e[r&a<<t-o]),i)for(;n.length*t&7;)n+="=";return n},kt=({name:s,prefix:e,bitsPerChar:t,alphabet:i})=>Uc({prefix:e,name:s,encode(r){return __(r,i,t)},decode(r){return A_(r,i,t,s)}}),N_=Uc({prefix:"\0",name:"identity",encode:s=>m_(s),decode:s=>y_(s)});var C_=Object.freeze({__proto__:null,identity:N_});const S_=kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var $_=Object.freeze({__proto__:null,base2:S_});const T_=kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var P_=Object.freeze({__proto__:null,base8:T_});const x_=ga({prefix:"9",name:"base10",alphabet:"0123456789"});var O_=Object.freeze({__proto__:null,base10:x_});const M_=kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),D_=kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var k_=Object.freeze({__proto__:null,base16:M_,base16upper:D_});const j_=kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),R_=kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),U_=kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),L_=kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),z_=kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),F_=kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),q_=kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),B_=kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),H_=kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var W_=Object.freeze({__proto__:null,base32:j_,base32upper:R_,base32pad:U_,base32padupper:L_,base32hex:z_,base32hexupper:F_,base32hexpad:q_,base32hexpadupper:B_,base32z:H_});const V_=ga({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),K_=ga({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var G_=Object.freeze({__proto__:null,base36:V_,base36upper:K_});const Y_=ga({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Q_=ga({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var J_=Object.freeze({__proto__:null,base58btc:Y_,base58flickr:Q_});const Z_=kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),X_=kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),eN=kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tN=kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var sN=Object.freeze({__proto__:null,base64:Z_,base64pad:X_,base64url:eN,base64urlpad:tN});const vy=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),iN=vy.reduce((s,e,t)=>(s[t]=e,s),[]),rN=vy.reduce((s,e,t)=>(s[e.codePointAt(0)]=t,s),[]);function nN(s){return s.reduce((e,t)=>(e+=iN[t],e),"")}function oN(s){const e=[];for(const t of s){const i=rN[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const aN=Uc({prefix:"🚀",name:"base256emoji",encode:nN,decode:oN});var cN=Object.freeze({__proto__:null,base256emoji:aN}),lN=Iy,gp=128,hN=-128,uN=Math.pow(2,31);function Iy(s,e,t){e=e||[],t=t||0;for(var i=t;s>=uN;)e[t++]=s&255|gp,s/=128;for(;s&hN;)e[t++]=s&255|gp,s>>>=7;return e[t]=s|0,Iy.bytes=t-i+1,e}var dN=yh,pN=128,fp=127;function yh(s,i){var t=0,i=i||0,r=0,n=i,o,a=s.length;do{if(n>=a)throw yh.bytes=0,new RangeError("Could not decode varint");o=s[n++],t+=r<28?(o&fp)<<r:(o&fp)*Math.pow(2,r),r+=7}while(o>=pN);return yh.bytes=n-i,t}var gN=Math.pow(2,7),fN=Math.pow(2,14),wN=Math.pow(2,21),yN=Math.pow(2,28),mN=Math.pow(2,35),bN=Math.pow(2,42),vN=Math.pow(2,49),IN=Math.pow(2,56),EN=Math.pow(2,63),AN=function(s){return s<gN?1:s<fN?2:s<wN?3:s<yN?4:s<mN?5:s<bN?6:s<vN?7:s<IN?8:s<EN?9:10},_N={encode:lN,decode:dN,encodingLength:AN},Ey=_N;const wp=(s,e,t=0)=>(Ey.encode(s,e,t),e),yp=s=>Ey.encodingLength(s),mh=(s,e)=>{const t=e.byteLength,i=yp(s),r=i+yp(t),n=new Uint8Array(r+t);return wp(s,n,0),wp(t,n,i),n.set(e,r),new NN(s,t,e,n)};let NN=class{constructor(e,t,i,r){this.code=e,this.size=t,this.digest=i,this.bytes=r}};const Ay=({name:s,code:e,encode:t})=>new CN(s,e,t);let CN=class{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?mh(this.code,t):t.then(i=>mh(this.code,i))}else throw Error("Unknown type, must be binary type")}};const _y=s=>async e=>new Uint8Array(await crypto.subtle.digest(s,e)),SN=Ay({name:"sha2-256",code:18,encode:_y("SHA-256")}),$N=Ay({name:"sha2-512",code:19,encode:_y("SHA-512")});var TN=Object.freeze({__proto__:null,sha256:SN,sha512:$N});const Ny=0,PN="identity",Cy=my,xN=s=>mh(Ny,Cy(s)),ON={code:Ny,name:PN,encode:Cy,digest:xN};var MN=Object.freeze({__proto__:null,identity:ON});new TextEncoder,new TextDecoder;const mp={...C_,...$_,...P_,...O_,...k_,...W_,...G_,...J_,...sN,...cN};({...TN,...MN});function DN(s=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(s):new Uint8Array(s)}function Sy(s,e,t,i){return{name:s,prefix:e,encoder:{name:s,prefix:e,encode:t},decoder:{decode:i}}}const bp=Sy("utf8","u",s=>"u"+new TextDecoder("utf8").decode(s),s=>new TextEncoder().encode(s.substring(1))),yl=Sy("ascii","a",s=>{let e="a";for(let t=0;t<s.length;t++)e+=String.fromCharCode(s[t]);return e},s=>{s=s.substring(1);const e=DN(s.length);for(let t=0;t<s.length;t++)e[t]=s.charCodeAt(t);return e}),kN={utf8:bp,"utf-8":bp,hex:mp.base16,latin1:yl,ascii:yl,binary:yl,...mp};function jN(s,e="utf8"){const t=kN[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(s,"utf8"):t.decoder.decode(`${t.prefix}${s}`)}var RN=Object.defineProperty,UN=(s,e,t)=>e in s?RN(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Hs=(s,e,t)=>UN(s,typeof e!="symbol"?e+"":e,t);let LN=class{constructor(e,t){this.core=e,this.logger=t,Hs(this,"keychain",new Map),Hs(this,"name",UA),Hs(this,"version",LA),Hs(this,"initialized",!1),Hs(this,"storagePrefix",ei),Hs(this,"init",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}}),Hs(this,"has",i=>(this.isInitialized(),this.keychain.has(i))),Hs(this,"set",async(i,r)=>{this.isInitialized(),this.keychain.set(i,r),await this.persist()}),Hs(this,"get",i=>{this.isInitialized();const r=this.keychain.get(i);if(typeof r>"u"){const{message:n}=F("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(n)}return r}),Hs(this,"del",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=u.E(t,this.name)}get context(){return u.y(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Rw(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Uw(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}};var zN=Object.defineProperty,FN=(s,e,t)=>e in s?zN(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,St=(s,e,t)=>FN(s,typeof e!="symbol"?e+"":e,t);let qN=class{constructor(e,t,i){this.core=e,this.logger=t,St(this,"name",jA),St(this,"keychain"),St(this,"randomSessionIdentifier",gh()),St(this,"initialized",!1),St(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),St(this,"hasKeys",r=>(this.isInitialized(),this.keychain.has(r))),St(this,"getClientId",async()=>{this.isInitialized();const r=await this.getClientSeed(),n=u.Po(r);return u.Qe(n.publicKey)}),St(this,"generateKeyPair",()=>{this.isInitialized();const r=kE();return this.setPrivateKey(r.publicKey,r.privateKey)}),St(this,"signJWT",async r=>{this.isInitialized();const n=await this.getClientSeed(),o=u.Po(n),a=this.randomSessionIdentifier,c=RA;return await u.Qo(a,r,c,o)}),St(this,"generateSharedKey",(r,n,o)=>{this.isInitialized();const a=this.getPrivateKey(r),c=jE(a,n);return this.setSymKey(c,o)}),St(this,"setSymKey",async(r,n)=>{this.isInitialized();const o=n||rc(r);return await this.keychain.set(o,r),o}),St(this,"deleteKeyPair",async r=>{this.isInitialized(),await this.keychain.del(r)}),St(this,"deleteSymKey",async r=>{this.isInitialized(),await this.keychain.del(r)}),St(this,"encode",async(r,n,o)=>{this.isInitialized();const a=hy(o),c=u.safeJsonStringify(n);if(tp(a))return LE(c,o?.encoding);if(ep(a)){const p=a.senderPublicKey,f=a.receiverPublicKey;r=await this.generateSharedKey(p,f)}const l=this.getSymKey(r),{type:h,senderPublicKey:d}=a;return RE({type:h,symKey:l,message:c,senderPublicKey:d,encoding:o?.encoding})}),St(this,"decode",async(r,n,o)=>{this.isInitialized();const a=FE(n,o);if(tp(a)){const c=zE(n,o?.encoding);return u.safeJsonParse(c)}if(ep(a)){const c=a.receiverPublicKey,l=a.senderPublicKey;r=await this.generateSharedKey(c,l)}try{const c=this.getSymKey(r),l=UE({symKey:c,encoded:n,encoding:o?.encoding});return u.safeJsonParse(l)}catch(c){this.logger.error(`Failed to decode message from topic: '${r}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),St(this,"getPayloadType",(r,n=Ri)=>{const o=Ko({encoded:r,encoding:n});return Ir(o.type)}),St(this,"getPayloadSenderPublicKey",(r,n=Ri)=>{const o=Ko({encoded:r,encoding:n});return o.senderPublicKey?u.toString(o.senderPublicKey,qt):void 0}),this.core=e,this.logger=u.E(t,this.name),this.keychain=i||new LN(this.core,this.logger)}get context(){return u.y(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(up)}catch{e=gh(),await this.keychain.set(up,e)}return jN(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}};var BN=Object.defineProperty,HN=(s,e,t)=>e in s?BN(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ws=(s,e,t)=>HN(s,typeof e!="symbol"?e+"":e,t);let WN=class extends $0{constructor(e,t){super(e,t),this.logger=e,this.core=t,Ws(this,"messages",new Map),Ws(this,"name",zA),Ws(this,"version",FA),Ws(this,"initialized",!1),Ws(this,"storagePrefix",ei),Ws(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),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}}}),Ws(this,"set",async(i,r)=>{this.isInitialized();const n=fi(r);let o=this.messages.get(i);return typeof o>"u"&&(o={}),typeof o[n]<"u"||(o[n]=r,this.messages.set(i,o),await this.persist()),n}),Ws(this,"get",i=>{this.isInitialized();let r=this.messages.get(i);return typeof r>"u"&&(r={}),r}),Ws(this,"has",(i,r)=>{this.isInitialized();const n=this.get(i),o=fi(r);return typeof n[o]<"u"}),Ws(this,"del",async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()}),this.logger=u.E(e,this.name),this.core=t}get context(){return u.y(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Rw(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Uw(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}};var VN=Object.defineProperty,KN=Object.defineProperties,GN=Object.getOwnPropertyDescriptors,vp=Object.getOwnPropertySymbols,YN=Object.prototype.hasOwnProperty,QN=Object.prototype.propertyIsEnumerable,bh=(s,e,t)=>e in s?VN(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ua=(s,e)=>{for(var t in e||(e={}))YN.call(e,t)&&bh(s,t,e[t]);if(vp)for(var t of vp(e))QN.call(e,t)&&bh(s,t,e[t]);return s},ml=(s,e)=>KN(s,GN(e)),Os=(s,e,t)=>bh(s,typeof e!="symbol"?e+"":e,t);let JN=class extends T0{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,Os(this,"events",new u.eventsExports.EventEmitter),Os(this,"name",qA),Os(this,"queue",new Map),Os(this,"publishTimeout",u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_MINUTE)),Os(this,"initialPublishTimeout",u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_SECOND*15)),Os(this,"needsTransportRestart",!1),Os(this,"publish",async(i,r,n)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:r,opts:n}});const a=n?.ttl||dp,c=yc(n),l=n?.prompt||!1,h=n?.tag||0,d=n?.id||u.getBigIntRpcId().toString(),p={topic:i,message:r,opts:{ttl:a,relay:c,prompt:l,tag:h,id:d,attestation:n?.attestation,tvf:n?.tvf}},f=`Failed to publish payload, please try again. id:${d} tag:${h}`;try{const g=new Promise(async w=>{const v=({id:m})=>{p.opts.id===m&&(this.removeRequestFromQueue(m),this.relayer.events.removeListener(At.publish,v),w(p))};this.relayer.events.on(At.publish,v);const b=ji(new Promise((m,_)=>{this.rpcPublish({topic:i,message:r,ttl:a,prompt:l,tag:h,id:d,attestation:n?.attestation,tvf:n?.tvf}).then(m).catch(C=>{this.logger.warn(C,C?.message),_(C)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${h}`);try{await b,this.events.removeListener(At.publish,v)}catch(m){this.queue.set(d,ml(Ua({},p),{attempt:1})),this.logger.warn(m,m?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:d,topic:i,message:r,opts:n}}),await ji(g,this.publishTimeout,f)}catch(g){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(g),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw g}finally{this.queue.delete(d)}}),Os(this,"on",(i,r)=>{this.events.on(i,r)}),Os(this,"once",(i,r)=>{this.events.once(i,r)}),Os(this,"off",(i,r)=>{this.events.off(i,r)}),Os(this,"removeListener",(i,r)=>{this.events.removeListener(i,r)}),this.relayer=e,this.logger=u.E(t,this.name),this.registerEventListeners()}get context(){return u.y(this.logger)}async rpcPublish(e){var t,i,r,n;const{topic:o,message:a,ttl:c=dp,prompt:l,tag:h,id:d,attestation:p,tvf:f}=e,g={method:Eo(yc().protocol).publish,params:Ua({topic:o,message:a,ttl:c,prompt:l,tag:h,attestation:p},f),id:d};Wt((t=g.params)==null?void 0:t.prompt)&&((i=g.params)==null||delete i.prompt),Wt((r=g.params)==null?void 0:r.tag)&&((n=g.params)==null||delete n.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:g});const w=await this.relayer.request(g);return this.relayer.events.emit(At.publish,e),this.logger.debug("Successfully Published Payload"),w}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,ml(Ua({},e),{attempt:i}));const{topic:r,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(ml(Ua({},e),{topic:r,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(u.r.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(At.connection_stalled);return}this.checkQueue()}),this.relayer.on(At.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}};var ZN=Object.defineProperty,XN=(s,e,t)=>e in s?ZN(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,zr=(s,e,t)=>XN(s,typeof e!="symbol"?e+"":e,t);let eC=class{constructor(){zr(this,"map",new Map),zr(this,"set",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),zr(this,"get",e=>this.map.get(e)||[]),zr(this,"exists",(e,t)=>this.get(e).includes(t)),zr(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 r=i.filter(n=>n!==t);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),zr(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}};var tC=Object.defineProperty,sC=Object.defineProperties,iC=Object.getOwnPropertyDescriptors,Ip=Object.getOwnPropertySymbols,rC=Object.prototype.hasOwnProperty,nC=Object.prototype.propertyIsEnumerable,vh=(s,e,t)=>e in s?tC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ao=(s,e)=>{for(var t in e||(e={}))rC.call(e,t)&&vh(s,t,e[t]);if(Ip)for(var t of Ip(e))nC.call(e,t)&&vh(s,t,e[t]);return s},bl=(s,e)=>sC(s,iC(e)),ke=(s,e,t)=>vh(s,typeof e!="symbol"?e+"":e,t);let oC=class extends O0{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,ke(this,"subscriptions",new Map),ke(this,"topicMap",new eC),ke(this,"events",new u.eventsExports.EventEmitter),ke(this,"name",YA),ke(this,"version",QA),ke(this,"pending",new Map),ke(this,"cached",[]),ke(this,"initialized",!1),ke(this,"pendingSubscriptionWatchLabel","pending_sub_watch_label"),ke(this,"pollingInterval",20),ke(this,"storagePrefix",ei),ke(this,"subscribeTimeout",u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_MINUTE)),ke(this,"initialSubscribeTimeout",u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_SECOND*15)),ke(this,"clientId"),ke(this,"batchSubscribeTopicsLimit",500),ke(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),ke(this,"subscribe",async(i,r)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:r}});try{const n=yc(r),o={topic:i,relay:n,transportType:r?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,n,r);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:r}})),a}catch(n){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(n),n}}),ke(this,"unsubscribe",async(i,r)=>{this.isInitialized(),typeof r?.id<"u"?await this.unsubscribeById(i,r.id,r):await this.unsubscribeByTopic(i,r)}),ke(this,"isSubscribed",async i=>{if(this.topics.includes(i))return!0;const r=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((n,o)=>{const a=new u.cjsExports$1.Watch;a.start(r);const c=setInterval(()=>{(!this.pending.has(i)&&this.topics.includes(i)||this.cached.some(l=>l.topic===i))&&(clearInterval(c),a.stop(r),n(!0)),a.elapsed(r)>=JA&&(clearInterval(c),a.stop(r),o(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)}),ke(this,"on",(i,r)=>{this.events.on(i,r)}),ke(this,"once",(i,r)=>{this.events.once(i,r)}),ke(this,"off",(i,r)=>{this.events.off(i,r)}),ke(this,"removeListener",(i,r)=>{this.events.removeListener(i,r)}),ke(this,"start",async()=>{await this.onConnect()}),ke(this,"stop",async()=>{await this.onDisconnect()}),ke(this,"restart",async()=>{await this.restore(),await this.onRestart()}),ke(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(r=>{i.push(r)}),await this.batchSubscribe(i)}),ke(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(u.r.pulse,async()=>{await this.checkPending()}),this.events.on(os.created,async i=>{const r=os.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:i}),await this.persist()}),this.events.on(os.deleted,async i=>{const r=os.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:i}),await this.persist()})}),this.relayer=e,this.logger=u.E(t,this.name),this.clientId=""}get context(){return u.y(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.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 r=>await this.unsubscribeById(e,r,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 r=yc(i);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);const n=je("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(r){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(r),r}}async rpcSubscribe(e,t,i){var r;(!i||i?.transportType===Qe.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:Eo(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});const o=(r=i?.internal)==null?void 0:r.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===Qe.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(h=>this.logger.warn(h))},u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_SECOND)),a;const c=new Promise(async h=>{const d=p=>{p.topic===e&&(this.events.removeListener(os.created,d),h(p.id))};this.events.on(os.created,d);try{const p=await ji(new Promise((f,g)=>{this.relayer.request(n).catch(w=>{this.logger.warn(w,w?.message),g(w)}).then(f)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(os.created,d),h(p)}catch{}}),l=await ji(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!l&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return l?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(At.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:Eo(t.protocol).batchSubscribe,params:{topics:e.map(r=>r.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await ji(new Promise(r=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(r)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(At.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:Eo(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 r;try{r=await await ji(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(At.connection_stalled)}return r}rpcUnsubscribe(e,t,i){const r={method:Eo(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r}),this.relayer.request(r)}onSubscribe(e,t){this.setSubscription(e,bl(ao({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ao({},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,ao({},t)),this.topicMap.set(t.topic,e),this.events.emit(os.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}=F("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(os.deleted,bl(ao({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(os.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 r=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(r)}}this.events.emit(os.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=F("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=>bl(ao({},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 YI(u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=F("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 fi(e+await this.getClientId())}};var aC=Object.defineProperty,Ep=Object.getOwnPropertySymbols,cC=Object.prototype.hasOwnProperty,lC=Object.prototype.propertyIsEnumerable,Ih=(s,e,t)=>e in s?aC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ap=(s,e)=>{for(var t in e||(e={}))cC.call(e,t)&&Ih(s,t,e[t]);if(Ep)for(var t of Ep(e))lC.call(e,t)&&Ih(s,t,e[t]);return s},Ee=(s,e,t)=>Ih(s,typeof e!="symbol"?e+"":e,t);let hC=class extends P0{constructor(e){super(e),Ee(this,"protocol","wc"),Ee(this,"version",2),Ee(this,"core"),Ee(this,"logger"),Ee(this,"events",new u.eventsExports.EventEmitter),Ee(this,"provider"),Ee(this,"messages"),Ee(this,"subscriber"),Ee(this,"publisher"),Ee(this,"name",HA),Ee(this,"transportExplicitlyClosed",!1),Ee(this,"initialized",!1),Ee(this,"connectionAttemptInProgress",!1),Ee(this,"relayUrl"),Ee(this,"projectId"),Ee(this,"packageName"),Ee(this,"bundleId"),Ee(this,"hasExperiencedNetworkDisruption",!1),Ee(this,"pingTimeout"),Ee(this,"heartBeatTimeout",u.cjsExports$1.toMiliseconds(u.cjsExports$1.THIRTY_SECONDS+u.cjsExports$1.FIVE_SECONDS)),Ee(this,"reconnectTimeout"),Ee(this,"connectPromise"),Ee(this,"reconnectInProgress",!1),Ee(this,"requestsInFlight",[]),Ee(this,"connectTimeout",u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_SECOND*15)),Ee(this,"request",async t=>{var i,r;this.logger.debug("Publishing Request Payload");const n=t.id||u.getBigIntRpcId().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}:${((r=t.params)==null?void 0:r.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}}),Ee(this,"resetPingTimeout",()=>{if(fc())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,r;this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(r=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null||r.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t,t?.message)}}),Ee(this,"onPayloadHandler",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),Ee(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected 🛜"),this.startPingTimeout(),this.events.emit(At.connect)}),Ee(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected 🛑"),this.requestsInFlight=[],this.onProviderDisconnect()}),Ee(this,"onProviderErrorHandler",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(At.error,t),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),Ee(this,"registerProviderListeners",()=>{this.provider.on(ys.payload,this.onPayloadHandler),this.provider.on(ys.connect,this.onConnectHandler),this.provider.on(ys.disconnect,this.onDisconnectHandler),this.provider.on(ys.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?u.E(e.logger,this.name):u.Ot(u.k({level:e.logger||BA})),this.messages=new WN(this.logger,e.core),this.subscriber=new oC(this,this.logger),this.publisher=new JN(this,this.logger),this.relayUrl=e?.relayUrl||wy,this.projectId=e.projectId,DI()?this.packageName=Sd():kI()&&(this.bundleId=Sd()),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.y(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:Qe.relay})}async subscribe(e,t){var i,r,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:(r=t?.internal)==null?void 0:r.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",c;const l=h=>{h.topic===e&&(this.subscriber.off(os.created,l),c())};return await Promise.all([new Promise(h=>{c=h,this.subscriber.on(os.created,l)}),new Promise(async(h,d)=>{a=await this.subscriber.subscribe(e,Ap({internal:{throwOnFailedPublish:o}},t)).catch(p=>{o&&d(p)})||a,h()})]),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 ji(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 lp())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,r)=>i.publishedAt-r.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(r){this.logger.warn(r,"Error while processing batch message event: "+r?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const r=pt(u.cjsExports$1.FIVE_MINUTES),n={topic:i,expiry:r,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(At.message,e),await this.recordMessageEvent(e)}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,r)=>{const n=()=>{r(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(ys.disconnect,n),await ji(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{r(o)}).finally(()=>{this.provider.off(ys.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(ys.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(ys.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const r=i;this.logger.warn({},r.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,u.cjsExports$1.toMiliseconds(t*1))),t++}}startPingTimeout(){var e,t,i,r,n;if(fc())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(r=(i=this.provider)==null?void 0:i.connection)==null?void 0:r.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 u.o(new u.f(LI({sdkVersion:wh,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){const{topic:t,message:i}=e;await this.messages.set(t,i)}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.isSubscribed(t))return this.logger.warn(`Ignoring message for non-subscribed topic ${t}`),!0;const r=this.messages.has(t,i);return r&&this.logger.warn(`Ignoring duplicate message: ${i}`),r}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),u.isJsonRpcRequest(e)){if(!e.method.endsWith(WA))return;const t=e.params,{topic:i,message:r,publishedAt:n,attestation:o}=t.data,a={topic:i,message:r,publishedAt:n,transportType:Qe.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(Ap({type:"event",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else u.isJsonRpcResponse(e)&&this.events.emit(At.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(At.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=u.formatJsonRpcResult(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(ys.payload,this.onPayloadHandler),this.provider.off(ys.connect,this.onConnectHandler),this.provider.off(ys.disconnect,this.onDisconnectHandler),this.provider.off(ys.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await lp();$A(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))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(At.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},u.cjsExports$1.toMiliseconds(VA)))))}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}};var uC=Object.defineProperty,_p=Object.getOwnPropertySymbols,dC=Object.prototype.hasOwnProperty,pC=Object.prototype.propertyIsEnumerable,Eh=(s,e,t)=>e in s?uC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Np=(s,e)=>{for(var t in e||(e={}))dC.call(e,t)&&Eh(s,t,e[t]);if(_p)for(var t of _p(e))pC.call(e,t)&&Eh(s,t,e[t]);return s},Kt=(s,e,t)=>Eh(s,typeof e!="symbol"?e+"":e,t);let Pr=class extends x0{constructor(e,t,i,r=ei,n=void 0){super(e,t,i,r),this.core=e,this.logger=t,this.name=i,Kt(this,"map",new Map),Kt(this,"version",KA),Kt(this,"cached",[]),Kt(this,"initialized",!1),Kt(this,"getKey"),Kt(this,"storagePrefix",ei),Kt(this,"recentlyDeleted",[]),Kt(this,"recentlyDeletedLimit",200),Kt(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!Wt(o)?this.map.set(this.getKey(o),o):nA(o)?this.map.set(o.id,o):oA(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),Kt(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())}),Kt(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),Kt(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>MA(a[c],o[c]))):this.values)),Kt(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=Np(Np({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),Kt(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=u.E(t,this.name),this.storagePrefix=r,this.getKey=n}get context(){return u.y(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:r}=F("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(r),new Error(r)}const{message:i}=F("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}=F("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}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}};var gC=Object.defineProperty,fC=(s,e,t)=>e in s?gC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ge=(s,e,t)=>fC(s,typeof e!="symbol"?e+"":e,t);let wC=class{constructor(e,t){this.core=e,this.logger=t,ge(this,"name",ZA),ge(this,"version",XA),ge(this,"events",new u.Nt),ge(this,"pairings"),ge(this,"initialized",!1),ge(this,"storagePrefix",ei),ge(this,"ignoredPayloadTypes",[mi]),ge(this,"registeredMethods",[]),ge(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),ge(this,"register",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),ge(this,"create",async i=>{this.isInitialized();const r=gh(),n=await this.core.crypto.setSymKey(r),o=pt(u.cjsExports$1.FIVE_MINUTES),a={protocol:fy},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},l=ip({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:r,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(hr.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:l}}),ge(this,"pair",async i=>{this.isInitialized();const r=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[Js.pairing_started]}});this.isValidPair(i,r);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:l}=sp(i.uri);r.props.properties.topic=n,r.addTrace(Js.pairing_uri_validation_success),r.addTrace(Js.pairing_uri_not_expired);let h;if(this.pairings.keys.includes(n)){if(h=this.pairings.get(n),r.addTrace(Js.existing_pairing),h.active)throw r.setError(di.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);r.addTrace(Js.pairing_not_expired)}const d=c||pt(u.cjsExports$1.FIVE_MINUTES),p={topic:n,relay:a,expiry:d,active:!1,methods:l};this.core.expirer.set(n,d),await this.pairings.set(n,p),r.addTrace(Js.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(hr.create,p),r.addTrace(Js.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),r.addTrace(Js.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(di.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(f){throw r.setError(di.subscribe_pairing_topic_failure),f}return r.addTrace(Js.subscribe_pairing_topic_success),p}),ge(this,"activate",async({topic:i})=>{this.isInitialized();const r=pt(u.cjsExports$1.FIVE_MINUTES);this.core.expirer.set(i,r),await this.pairings.update(i,{active:!0,expiry:r})}),ge(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:r}=i;if(this.pairings.keys.includes(r)){const n=await this.sendRequest(r,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=rr();this.events.once(Te("pairing_ping",n),({error:l})=>{l?c(l):a()}),await o()}}),ge(this,"updateExpiry",async({topic:i,expiry:r})=>{this.isInitialized(),await this.pairings.update(i,{expiry:r})}),ge(this,"updateMetadata",async({topic:i,metadata:r})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:r})}),ge(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),ge(this,"disconnect",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:r}=i;this.pairings.keys.includes(r)&&(await this.sendRequest(r,"wc_pairingDelete",je("USER_DISCONNECTED")),await this.deletePairing(r))}),ge(this,"formatUriFromPairing",i=>{this.isInitialized();const{topic:r,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(r);return ip({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),ge(this,"sendRequest",async(i,r,n)=>{const o=u.formatJsonRpcRequest(r,n),a=await this.core.crypto.encode(i,o),c=no[r].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),ge(this,"sendResult",async(i,r,n)=>{const o=u.formatJsonRpcResult(i,n),a=await this.core.crypto.encode(r,o),c=(await this.core.history.get(r,i)).request.method,l=no[c].res;await this.core.relayer.publish(r,a,l),await this.core.history.resolve(o)}),ge(this,"sendError",async(i,r,n)=>{const o=u.formatJsonRpcError(i,n),a=await this.core.crypto.encode(r,o),c=(await this.core.history.get(r,i)).request.method,l=no[c]?no[c].res:no.unregistered_method.res;await this.core.relayer.publish(r,a,l),await this.core.history.resolve(o)}),ge(this,"deletePairing",async(i,r)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,je("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),r?Promise.resolve():this.core.expirer.del(i)])}),ge(this,"cleanup",async()=>{const i=this.pairings.getAll().filter(r=>xi(r.expiry));await Promise.all(i.map(r=>this.deletePairing(r.topic)))}),ge(this,"onRelayEventRequest",i=>{const{topic:r,payload:n}=i;switch(n.method){case"wc_pairingPing":return this.onPairingPingRequest(r,n);case"wc_pairingDelete":return this.onPairingDeleteRequest(r,n);default:return this.onUnknownRpcMethodRequest(r,n)}}),ge(this,"onRelayEventResponse",async i=>{const{topic:r,payload:n}=i,o=(await this.core.history.get(r,n.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(r,n);default:return this.onUnknownRpcMethodResponse(o)}}),ge(this,"onPairingPingRequest",async(i,r)=>{const{id:n}=r;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(hr.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),ge(this,"onPairingPingResponse",(i,r)=>{const{id:n}=r;setTimeout(()=>{u.isJsonRpcResult(r)?this.events.emit(Te("pairing_ping",n),{}):u.isJsonRpcError(r)&&this.events.emit(Te("pairing_ping",n),{error:r.error})},500)}),ge(this,"onPairingDeleteRequest",async(i,r)=>{const{id:n}=r;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(hr.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),ge(this,"onUnknownRpcMethodRequest",async(i,r)=>{const{id:n,method:o}=r;try{if(this.registeredMethods.includes(o))return;const a=je("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)}}),ge(this,"onUnknownRpcMethodResponse",i=>{this.registeredMethods.includes(i)||this.logger.error(je("WC_METHOD_UNSUPPORTED",i))}),ge(this,"isValidPair",(i,r)=>{var n;if(!Zt(i)){const{message:a}=F("MISSING_OR_INVALID",`pair() params: ${i}`);throw r.setError(di.malformed_pairing_uri),new Error(a)}if(!rA(i.uri)){const{message:a}=F("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw r.setError(di.malformed_pairing_uri),new Error(a)}const o=sp(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=F("MISSING_OR_INVALID","pair() uri#relay-protocol");throw r.setError(di.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=F("MISSING_OR_INVALID","pair() uri#symKey");throw r.setError(di.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&u.cjsExports$1.toMiliseconds(o?.expiryTimestamp)<Date.now()){r.setError(di.pairing_expired);const{message:a}=F("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),ge(this,"isValidPing",async i=>{if(!Zt(i)){const{message:n}=F("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(n)}const{topic:r}=i;await this.isValidPairingTopic(r)}),ge(this,"isValidDisconnect",async i=>{if(!Zt(i)){const{message:n}=F("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(n)}const{topic:r}=i;await this.isValidPairingTopic(r)}),ge(this,"isValidPairingTopic",async i=>{if(!ot(i,!1)){const{message:r}=F("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(r)}if(!this.pairings.keys.includes(i)){const{message:r}=F("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(r)}if(xi(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:r}=F("EXPIRED",`pairing topic: ${i}`);throw new Error(r)}}),this.core=e,this.logger=u.E(t,this.name),this.pairings=new Pr(this.core,this.logger,this.name,this.storagePrefix)}get context(){return u.y(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(At.message,async e=>{const{topic:t,message:i,transportType:r}=e;if(!this.pairings.keys.includes(t)||r===Qe.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const n=await this.core.crypto.decode(t,i);try{u.isJsonRpcRequest(n)?(this.core.history.set(t,n),this.onRelayEventRequest({topic:t,payload:n})):u.isJsonRpcResponse(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id))}catch(o){this.logger.error(o)}})}registerExpirerEvents(){this.core.expirer.on(Es.expired,async e=>{const{topic:t}=zw(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(hr.expire,{topic:t}))})}};var yC=Object.defineProperty,mC=(s,e,t)=>e in s?yC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,$t=(s,e,t)=>mC(s,typeof e!="symbol"?e+"":e,t);let bC=class extends S0{constructor(e,t){super(e,t),this.core=e,this.logger=t,$t(this,"records",new Map),$t(this,"events",new u.eventsExports.EventEmitter),$t(this,"name",e_),$t(this,"version",t_),$t(this,"cached",[]),$t(this,"initialized",!1),$t(this,"storagePrefix",ei),$t(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)}),$t(this,"set",(i,r,n)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:r,chainId:n}),this.records.has(r.id))return;const o={id:r.id,topic:i,request:{method:r.method,params:r.params||null},chainId:n,expiry:pt(u.cjsExports$1.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(Ps.created,o)}),$t(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 r=await this.getRecord(i.id);typeof r.response>"u"&&(r.response=u.isJsonRpcError(i)?{error:i.error}:{result:i.result},this.records.set(r.id,r),this.persist(),this.events.emit(Ps.updated,r))}),$t(this,"get",async(i,r)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:r}),await this.getRecord(r))),$t(this,"delete",(i,r)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:r}),this.values.forEach(n=>{if(n.topic===i){if(typeof r<"u"&&n.id!==r)return;this.records.delete(n.id),this.events.emit(Ps.deleted,n)}}),this.persist()}),$t(this,"exists",async(i,r)=>(this.isInitialized(),this.records.has(r)?(await this.getRecord(r)).topic===i:!1)),$t(this,"on",(i,r)=>{this.events.on(i,r)}),$t(this,"once",(i,r)=>{this.events.once(i,r)}),$t(this,"off",(i,r)=>{this.events.off(i,r)}),$t(this,"removeListener",(i,r)=>{this.events.removeListener(i,r)}),this.logger=u.E(t,this.name)}get context(){return u.y(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:u.formatJsonRpcRequest(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=F("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Ps.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=F("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(Ps.created,e=>{const t=Ps.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(Ps.updated,e=>{const t=Ps.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(Ps.deleted,e=>{const t=Ps.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(u.r.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{u.cjsExports$1.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(Ps.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}};var vC=Object.defineProperty,IC=(s,e,t)=>e in s?vC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ut=(s,e,t)=>IC(s,typeof e!="symbol"?e+"":e,t);let EC=class extends M0{constructor(e,t){super(e,t),this.core=e,this.logger=t,Ut(this,"expirations",new Map),Ut(this,"events",new u.eventsExports.EventEmitter),Ut(this,"name",s_),Ut(this,"version",i_),Ut(this,"cached",[]),Ut(this,"initialized",!1),Ut(this,"storagePrefix",ei),Ut(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)}),Ut(this,"has",i=>{try{const r=this.formatTarget(i);return typeof this.getExpiration(r)<"u"}catch{return!1}}),Ut(this,"set",(i,r)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:r};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(Es.created,{target:n,expiration:o})}),Ut(this,"get",i=>{this.isInitialized();const r=this.formatTarget(i);return this.getExpiration(r)}),Ut(this,"del",i=>{if(this.isInitialized(),this.has(i)){const r=this.formatTarget(i),n=this.getExpiration(r);this.expirations.delete(r),this.events.emit(Es.deleted,{target:r,expiration:n})}}),Ut(this,"on",(i,r)=>{this.events.on(i,r)}),Ut(this,"once",(i,r)=>{this.events.once(i,r)}),Ut(this,"off",(i,r)=>{this.events.off(i,r)}),Ut(this,"removeListener",(i,r)=>{this.events.removeListener(i,r)}),this.logger=u.E(t,this.name)}get context(){return u.y(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 zI(e);if(typeof e=="number")return FI(e);const{message:t}=F("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(Es.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=F("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}=F("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;u.cjsExports$1.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Es.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(u.r.pulse,()=>this.checkExpirations()),this.events.on(Es.created,e=>{const t=Es.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Es.expired,e=>{const t=Es.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Es.deleted,e=>{const t=Es.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}};var AC=Object.defineProperty,_C=(s,e,t)=>e in s?AC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ct=(s,e,t)=>_C(s,typeof e!="symbol"?e+"":e,t);let NC=class extends D0{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,ct(this,"name",r_),ct(this,"abortController"),ct(this,"isDevEnv"),ct(this,"verifyUrlV3",o_),ct(this,"storagePrefix",ei),ct(this,"version",gy),ct(this,"publicKey"),ct(this,"fetchPromise"),ct(this,"init",async()=>{var r;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&u.cjsExports$1.toMiliseconds((r=this.publicKey)==null?void 0:r.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),ct(this,"register",async r=>{if(!la()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=r,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const l=u.cjsExports$2.getDocument(),h=this.startAbortTimer(u.cjsExports$1.ONE_SECOND*5),d=await new Promise((p,f)=>{const g=()=>{window.removeEventListener("message",v),l.body.removeChild(w),f("attestation aborted")};this.abortController.signal.addEventListener("abort",g);const w=l.createElement("iframe");w.src=c,w.style.display="none",w.addEventListener("error",g,{signal:this.abortController.signal});const v=b=>{if(b.data&&typeof b.data=="string")try{const m=JSON.parse(b.data);if(m.type==="verify_attestation"){if(u.sn(m.attestation).payload.id!==o)return;clearInterval(h),l.body.removeChild(w),this.abortController.signal.removeEventListener("abort",g),window.removeEventListener("message",v),p(m.attestation===null?"":m.attestation)}}catch(m){this.logger.warn(m)}};l.body.appendChild(w),window.addEventListener("message",v,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",d),d}catch(l){this.logger.warn(l)}return""}),ct(this,"resolve",async r=>{if(this.isDevEnv)return"";const{attestationId:n,hash:o,encryptedId:a}=r;if(n===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(n){if(u.sn(n).payload.id!==a)return;const l=await this.isValidJwtAttestation(n);if(l){if(!l.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return l}}if(!o)return;const c=this.getVerifyUrl(r?.verifyUrl);return this.fetchAttestation(o,c)}),ct(this,"fetchAttestation",async(r,n)=>{this.logger.debug(`resolving attestation: ${r} from url: ${n}`);const o=this.startAbortTimer(u.cjsExports$1.ONE_SECOND*5),a=await fetch(`${n}/attestation/${r}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),ct(this,"getVerifyUrl",r=>{let n=r||Mo;return a_.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${Mo}`),n=Mo),n}),ct(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const r=this.startAbortTimer(u.cjsExports$1.FIVE_SECONDS),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(r),await n.json()}catch(r){this.logger.warn(r)}}),ct(this,"persistPublicKey",async r=>{this.logger.debug("persisting public key to local storage",r),await this.store.setItem(this.storeKey,r),this.publicKey=r}),ct(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),ct(this,"isValidJwtAttestation",async r=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(r,n)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(r,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),ct(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),ct(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 r=await this.fetchPromise;return this.fetchPromise=void 0,r}),ct(this,"validateAttestation",(r,n)=>{const o=WE(r,n.publicKey),a={hasExpired:u.cjsExports$1.toMiliseconds(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=u.E(t,this.name),this.abortController=new AbortController,this.isDevEnv=gu(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return u.y(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),u.cjsExports$1.toMiliseconds(e))}};var CC=Object.defineProperty,SC=(s,e,t)=>e in s?CC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Cp=(s,e,t)=>SC(s,typeof e!="symbol"?e+"":e,t);let $C=class extends k0{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Cp(this,"context",c_),Cp(this,"registerDeviceToken",async i=>{const{clientId:r,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${l_}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:r,type:o,token:n,always_raw:a})})}),this.logger=u.E(t,this.context)}};var TC=Object.defineProperty,Sp=Object.getOwnPropertySymbols,PC=Object.prototype.hasOwnProperty,xC=Object.prototype.propertyIsEnumerable,Ah=(s,e,t)=>e in s?TC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,co=(s,e)=>{for(var t in e||(e={}))PC.call(e,t)&&Ah(s,t,e[t]);if(Sp)for(var t of Sp(e))xC.call(e,t)&&Ah(s,t,e[t]);return s},mt=(s,e,t)=>Ah(s,typeof e!="symbol"?e+"":e,t);let OC=class extends j0{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,mt(this,"context",u_),mt(this,"storagePrefix",ei),mt(this,"storageVersion",h_),mt(this,"events",new Map),mt(this,"shouldPersist",!1),mt(this,"init",async()=>{if(!gu())try{const r={eventId:Td(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:jw(this.core.relayer.protocol,this.core.relayer.version,wh)}}};await this.sendEvent([r])}catch(r){this.logger.warn(r)}}),mt(this,"createEvent",r=>{const{event:n="ERROR",type:o="",properties:{topic:a,trace:c}}=r,l=Td(),h=this.core.projectId||"",d=Date.now(),p=co({eventId:l,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:h,domain:this.getAppDomain()},this.setMethods(l));return this.telemetryEnabled&&(this.events.set(l,p),this.shouldPersist=!0),p}),mt(this,"getEvent",r=>{const{eventId:n,topic:o}=r;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return co(co({},a),this.setMethods(a.eventId))}),mt(this,"deleteEvent",r=>{const{eventId:n}=r;this.events.delete(n),this.shouldPersist=!0}),mt(this,"setEventListeners",()=>{this.core.heartbeat.on(u.r.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(r=>{u.cjsExports$1.fromMiliseconds(Date.now())-u.cjsExports$1.fromMiliseconds(r.timestamp)>d_&&(this.events.delete(r.eventId),this.shouldPersist=!0)})})}),mt(this,"setMethods",r=>({addTrace:n=>this.addTrace(r,n),setError:n=>this.setError(r,n)})),mt(this,"addTrace",(r,n)=>{const o=this.events.get(r);o&&(o.props.properties.trace.push(n),this.events.set(r,o),this.shouldPersist=!0)}),mt(this,"setError",(r,n)=>{const o=this.events.get(r);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(r,o),this.shouldPersist=!0)}),mt(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),mt(this,"restore",async()=>{try{const r=await this.core.storage.getItem(this.storageKey)||[];if(!r.length)return;r.forEach(n=>{this.events.set(n.eventId,co(co({},n),this.setMethods(n.eventId)))})}catch(r){this.logger.warn(r)}}),mt(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const r=[];for(const[n,o]of this.events)o.props.type&&r.push(o);if(r.length!==0)try{if((await this.sendEvent(r)).ok)for(const n of r)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),mt(this,"sendEvent",async r=>{const n=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${p_}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${wh}${n}`,{method:"POST",body:JSON.stringify(r)})}),mt(this,"getAppDomain",()=>kw().url),this.logger=u.E(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 MC=Object.defineProperty,$p=Object.getOwnPropertySymbols,DC=Object.prototype.hasOwnProperty,kC=Object.prototype.propertyIsEnumerable,_h=(s,e,t)=>e in s?MC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Tp=(s,e)=>{for(var t in e||(e={}))DC.call(e,t)&&_h(s,t,e[t]);if($p)for(var t of $p(e))kC.call(e,t)&&_h(s,t,e[t]);return s},Be=(s,e,t)=>_h(s,typeof e!="symbol"?e+"":e,t);let jC=class $y extends A0{constructor(e){var t;super(e),Be(this,"protocol",py),Be(this,"version",gy),Be(this,"name",fh),Be(this,"relayUrl"),Be(this,"projectId"),Be(this,"customStoragePrefix"),Be(this,"events",new u.eventsExports.EventEmitter),Be(this,"logger"),Be(this,"heartbeat"),Be(this,"relayer"),Be(this,"crypto"),Be(this,"storage"),Be(this,"history"),Be(this,"expirer"),Be(this,"pairing"),Be(this,"verify"),Be(this,"echoClient"),Be(this,"linkModeSupportedApps"),Be(this,"eventClient"),Be(this,"initialized",!1),Be(this,"logChunkController"),Be(this,"on",(o,a)=>this.events.on(o,a)),Be(this,"once",(o,a)=>this.events.once(o,a)),Be(this,"off",(o,a)=>this.events.off(o,a)),Be(this,"removeListener",(o,a)=>this.events.removeListener(o,a)),Be(this,"dispatchEnvelope",({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const l={topic:o,message:a,publishedAt:Date.now(),transportType:Qe.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:c})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||wy,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=u.k({level:typeof e?.logger=="string"&&e.logger?e.logger:DA.logger,name:fh}),{logger:r,chunkLoggerController:n}=u.A({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=n,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=u.E(r,this.name),this.heartbeat=new u.i,this.crypto=new qN(this,this.logger,e?.keychain),this.history=new bC(this,this.logger),this.expirer=new EC(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new u.h(Tp(Tp({},kA),e?.storageOptions)),this.relayer=new hC({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new wC(this,this.logger),this.verify=new NC(this,this.logger,this.storage),this.echoClient=new $C(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new OC(this,this.logger,e?.telemetryEnabled)}static async init(e){const t=new $y(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(GA,i),t}get context(){return u.y(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(pp,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(pp)||[],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}}};const RC=jC,Ty="wc",Py=2,xy="client",Au=`${Ty}@${Py}:${xy}:`,vl={name:xy,logger:"error"},Pp="WALLETCONNECT_DEEPLINK_CHOICE",UC="proposal",xp="Proposal expired",LC="session",Fr=u.cjsExports$1.SEVEN_DAYS,zC="engine",bt={wc_sessionPropose:{req:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1104},res:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1106},res:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1112},res:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1114},res:{ttl:u.cjsExports$1.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:u.cjsExports$1.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:u.cjsExports$1.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:u.cjsExports$1.FIVE_MINUTES,prompt:!1,tag:1119}}},Il={min:u.cjsExports$1.FIVE_MINUTES,max:u.cjsExports$1.SEVEN_DAYS},Vs={idle:"IDLE",active:"ACTIVE"},Op={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},FC="request",qC=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],BC="wc",HC="auth",WC="authKeys",VC="pairingTopics",KC="requests",Lc=`${BC}@${1.5}:${HC}:`,nc=`${Lc}:PUB_KEY`;var GC=Object.defineProperty,YC=Object.defineProperties,QC=Object.getOwnPropertyDescriptors,Mp=Object.getOwnPropertySymbols,JC=Object.prototype.hasOwnProperty,ZC=Object.prototype.propertyIsEnumerable,Nh=(s,e,t)=>e in s?GC(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,et=(s,e)=>{for(var t in e||(e={}))JC.call(e,t)&&Nh(s,t,e[t]);if(Mp)for(var t of Mp(e))ZC.call(e,t)&&Nh(s,t,e[t]);return s},Gt=(s,e)=>YC(s,QC(e)),k=(s,e,t)=>Nh(s,typeof e!="symbol"?e+"":e,t);let XC=class extends z0{constructor(e){super(e),k(this,"name",zC),k(this,"events",new u.Nt),k(this,"initialized",!1),k(this,"requestQueue",{state:Vs.idle,queue:[]}),k(this,"sessionRequestQueue",{state:Vs.idle,queue:[]}),k(this,"requestQueueDelay",u.cjsExports$1.ONE_SECOND),k(this,"expectedPairingMethodMap",new Map),k(this,"recentlyDeletedMap",new Map),k(this,"recentlyDeletedLimit",200),k(this,"relayMessageCache",[]),k(this,"pendingSessions",new Map),k(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(bt)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},u.cjsExports$1.toMiliseconds(this.requestQueueDelay)))}),k(this,"connect",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=Gt(et({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:r,requiredNamespaces:n,optionalNamespaces:o,sessionProperties:a,relays:c}=i;let l=r,h,d=!1;try{if(l){const T=this.client.core.pairing.pairings.get(l);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),d=T.active}}catch(T){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),T}if(!l||!d){const{topic:T,uri:x}=await this.client.core.pairing.create();l=T,h=x}if(!l){const{message:T}=F("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw new Error(T)}const p=await this.client.core.crypto.generateKeyPair(),f=bt.wc_sessionPropose.req.ttl||u.cjsExports$1.FIVE_MINUTES,g=pt(f),w=Gt(et({requiredNamespaces:n,optionalNamespaces:o,relays:c??[{protocol:fy}],proposer:{publicKey:p,metadata:this.client.metadata},expiryTimestamp:g,pairingTopic:l},a&&{sessionProperties:a}),{id:u.payloadId()}),v=Te("session_connect",w.id),{reject:b,resolve:m,done:_}=rr(f,xp),C=({id:T})=>{T===w.id&&(this.client.events.off("proposal_expire",C),this.pendingSessions.delete(w.id),this.events.emit(v,{error:{message:xp,code:0}}))};return this.client.events.on("proposal_expire",C),this.events.once(v,({error:T,session:x})=>{this.client.events.off("proposal_expire",C),T?b(T):x&&m(x)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:w,throwOnFailedPublish:!0,clientRpcId:w.id}),await this.setProposal(w.id,w),{uri:h,approval:_}}),k(this,"pair",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(t)}catch(i){throw this.client.logger.error("pair() failed"),i}}),k(this,"approve",async t=>{var i,r,n;const o=this.client.core.eventClient.createEvent({properties:{topic:(i=t?.id)==null?void 0:i.toString(),trace:[xs.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(j){throw o.setError(Xi.no_internet_connection),j}try{await this.isValidProposalId(t?.id)}catch(j){throw this.client.logger.error(`approve() -> proposal.get(${t?.id}) failed`),o.setError(Xi.proposal_not_found),j}try{await this.isValidApprove(t)}catch(j){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(Xi.session_approve_namespace_validation_failure),j}const{id:a,relayProtocol:c,namespaces:l,sessionProperties:h,sessionConfig:d}=t,p=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:f,proposer:g,requiredNamespaces:w,optionalNamespaces:v}=p;let b=(r=this.client.core.eventClient)==null?void 0:r.getEvent({topic:f});b||(b=(n=this.client.core.eventClient)==null?void 0:n.createEvent({type:xs.session_approve_started,properties:{topic:f,trace:[xs.session_approve_started,xs.session_namespaces_validation_success]}}));const m=await this.client.core.crypto.generateKeyPair(),_=g.publicKey,C=await this.client.core.crypto.generateSharedKey(m,_),T=et(et({relay:{protocol:c??"irn"},namespaces:l,controller:{publicKey:m,metadata:this.client.metadata},expiry:pt(Fr)},h&&{sessionProperties:h}),d&&{sessionConfig:d}),x=Qe.relay;b.addTrace(xs.subscribing_session_topic);try{await this.client.core.relayer.subscribe(C,{transportType:x})}catch(j){throw b.setError(Xi.subscribe_session_topic_failure),j}b.addTrace(xs.subscribe_session_topic_success);const M=Gt(et({},T),{topic:C,requiredNamespaces:w,optionalNamespaces:v,pairingTopic:f,acknowledged:!1,self:T.controller,peer:{publicKey:g.publicKey,metadata:g.metadata},controller:m,transportType:Qe.relay});await this.client.session.set(C,M),b.addTrace(xs.store_session);try{b.addTrace(xs.publishing_session_settle),await this.sendRequest({topic:C,method:"wc_sessionSettle",params:T,throwOnFailedPublish:!0}).catch(j=>{throw b?.setError(Xi.session_settle_publish_failure),j}),b.addTrace(xs.session_settle_publish_success),b.addTrace(xs.publishing_session_approve),await this.sendResult({id:a,topic:f,result:{relay:{protocol:c??"irn"},responderPublicKey:m},throwOnFailedPublish:!0}).catch(j=>{throw b?.setError(Xi.session_approve_publish_failure),j}),b.addTrace(xs.session_approve_publish_success)}catch(j){throw this.client.logger.error(j),this.client.session.delete(C,je("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(C),j}return this.client.core.eventClient.deleteEvent({eventId:b.eventId}),await this.client.core.pairing.updateMetadata({topic:f,metadata:g.metadata}),await this.client.proposal.delete(a,je("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:f}),await this.setExpiry(C,pt(Fr)),{topic:C,acknowledged:()=>Promise.resolve(this.client.session.get(C))}}),k(this,"reject",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(t)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:i,reason:r}=t;let n;try{n=this.client.proposal.get(i).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),o}n&&(await this.sendError({id:i,topic:n,error:r,rpcOpts:bt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,je("USER_DISCONNECTED")))}),k(this,"update",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(t)}catch(d){throw this.client.logger.error("update() -> isValidUpdate() failed"),d}const{topic:i,namespaces:r}=t,{done:n,resolve:o,reject:a}=rr(),c=u.payloadId(),l=u.getBigIntRpcId().toString(),h=this.client.session.get(i).namespaces;return this.events.once(Te("session_update",c),({error:d})=>{d?a(d):o()}),await this.client.session.update(i,{namespaces:r}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:l}).catch(d=>{this.client.logger.error(d),this.client.session.update(i,{namespaces:h}),a(d)}),{acknowledged:n}}),k(this,"extend",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(t)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:i}=t,r=u.payloadId(),{done:n,resolve:o,reject:a}=rr();return this.events.once(Te("session_extend",r),({error:c})=>{c?a(c):o()}),await this.setExpiry(i,pt(Fr)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:n}}),k(this,"request",async t=>{this.isInitialized();try{await this.isValidRequest(t)}catch(b){throw this.client.logger.error("request() -> isValidRequest() failed"),b}const{chainId:i,request:r,topic:n,expiry:o=bt.wc_sessionRequest.req.ttl}=t,a=this.client.session.get(n);a?.transportType===Qe.relay&&await this.confirmOnlineStateOrThrow();const c=u.payloadId(),l=u.getBigIntRpcId().toString(),{done:h,resolve:d,reject:p}=rr(o,"Request expired. Please try again.");this.events.once(Te("session_request",c),({error:b,result:m})=>{b?p(b):d(m)});const f="wc_sessionRequest",g=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(g)return await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:n,method:f,params:{request:Gt(et({},r),{expiryTimestamp:pt(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0,appLink:g}).catch(b=>p(b)),this.client.events.emit("session_request_sent",{topic:n,request:r,chainId:i,id:c}),await h();const w={request:Gt(et({},r),{expiryTimestamp:pt(o)}),chainId:i},v=this.shouldSetTVF(f,w);return await Promise.all([new Promise(async b=>{await this.sendRequest(et({clientRpcId:c,relayRpcId:l,topic:n,method:f,params:w,expiry:o,throwOnFailedPublish:!0},v&&{tvf:this.getTVFParams(c,w)})).catch(m=>p(m)),this.client.events.emit("session_request_sent",{topic:n,request:r,chainId:i,id:c}),b()}),new Promise(async b=>{var m;if(!((m=a.sessionConfig)!=null&&m.disableDeepLink)){const _=await WI(this.client.core.storage,Pp);await qI({id:c,topic:n,wcDeepLink:_})}b()}),h()]).then(b=>b[2])}),k(this,"respond",async t=>{this.isInitialized(),await this.isValidRespond(t);const{topic:i,response:r}=t,{id:n}=r,o=this.client.session.get(i);o.transportType===Qe.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);u.isJsonRpcResult(r)?await this.sendResult({id:n,topic:i,result:r.result,throwOnFailedPublish:!0,appLink:a}):u.isJsonRpcError(r)&&await this.sendError({id:n,topic:i,error:r.error,appLink:a}),this.cleanupAfterResponse(t)}),k(this,"ping",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(t)}catch(r){throw this.client.logger.error("ping() -> isValidPing() failed"),r}const{topic:i}=t;if(this.client.session.keys.includes(i)){const r=u.payloadId(),n=u.getBigIntRpcId().toString(),{done:o,resolve:a,reject:c}=rr();this.events.once(Te("session_ping",r),({error:l})=>{l?c(l):a()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:r,relayRpcId:n}),o()])}else this.client.core.pairing.pairings.keys.includes(i)&&(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:i}))}),k(this,"emit",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(t);const{topic:i,event:r,chainId:n}=t,o=u.getBigIntRpcId().toString(),a=u.payloadId();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:r,chainId:n},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})}),k(this,"disconnect",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(t);const{topic:i}=t;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:je("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:i,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(i))await this.client.core.pairing.disconnect({topic:i});else{const{message:r}=F("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(r)}}),k(this,"find",t=>(this.isInitialized(),this.client.session.getAll().filter(i=>sA(i,t)))),k(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),k(this,"authenticate",async(t,i)=>{var r;this.isInitialized(),this.isValidAuthenticate(t);const n=i&&this.client.core.linkModeSupportedApps.includes(i)&&((r=this.client.metadata.redirect)==null?void 0:r.linkMode),o=n?Qe.link_mode:Qe.relay;o===Qe.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:l,domain:h,nonce:d,type:p,exp:f,nbf:g,methods:w=[],expiry:v}=t,b=[...t.resources||[]],{topic:m,uri:_}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:m,uri:_}});const C=await this.client.core.crypto.generateKeyPair(),T=rc(C);if(await Promise.all([this.client.auth.authKeys.set(nc,{responseTopic:T,publicKey:C}),this.client.auth.pairingTopics.set(T,{topic:T,pairingTopic:m})]),await this.client.core.relayer.subscribe(T,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${m}`),w.length>0){const{namespace:S}=xn(a[0]);let W=k1(S,"request",w);ic(b)&&(W=R1(W,b.pop())),b.push(W)}const x=v&&v>bt.wc_sessionAuthenticate.req.ttl?v:bt.wc_sessionAuthenticate.req.ttl,M={authPayload:{type:p??"caip122",chains:a,statement:c,aud:l,domain:h,version:"1",nonce:d,iat:new Date().toISOString(),exp:f,nbf:g,resources:b},requester:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:pt(x)},j={eip155:{chains:a,methods:[...new Set(["personal_sign",...w])],events:["chainChanged","accountsChanged"]}},A={requiredNamespaces:{},optionalNamespaces:j,relays:[{protocol:"irn"}],pairingTopic:m,proposer:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:pt(bt.wc_sessionPropose.req.ttl),id:u.payloadId()},{done:$,resolve:N,reject:R}=rr(x,"Request expired"),L=u.payloadId(),B=Te("session_connect",A.id),H=Te("session_request",L),U=async({error:S,session:W})=>{this.events.off(H,K),S?R(S):W&&N({session:W})},K=async S=>{var W,X,Q;if(await this.deletePendingAuthRequest(L,{message:"fulfilled",code:0}),S.error){const De=je("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return S.error.code===De.code?void 0:(this.events.off(B,U),R(S.error.message))}await this.deleteProposal(A.id),this.events.off(B,U);const{cacaos:be,responder:de}=S.result,ee=[],it=[];for(const De of be){await Rd({cacao:De,projectId:this.client.core.projectId})||(this.client.logger.error(De,"Signature verification failed"),R(je("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:Ls}=De,zs=ic(Ls.resources),si=[ch(Ls.iss)],kr=wc(Ls.iss);if(zs){const Fs=Ud(zs),Qn=Ld(zs);ee.push(...Fs),si.push(...Qn)}for(const Fs of si)it.push(`${Fs}:${kr}`)}const Ue=await this.client.core.crypto.generateSharedKey(C,de.publicKey);let ve;ee.length>0&&(ve={topic:Ue,acknowledged:!0,self:{publicKey:C,metadata:this.client.metadata},peer:de,controller:de.publicKey,expiry:pt(Fr),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:m,namespaces:rp([...new Set(ee)],[...new Set(it)]),transportType:o},await this.client.core.relayer.subscribe(Ue,{transportType:o}),await this.client.session.set(Ue,ve),m&&await this.client.core.pairing.updateMetadata({topic:m,metadata:de.metadata}),ve=this.client.session.get(Ue)),(W=this.client.metadata.redirect)!=null&&W.linkMode&&(X=de.metadata.redirect)!=null&&X.linkMode&&(Q=de.metadata.redirect)!=null&&Q.universal&&i&&(this.client.core.addLinkModeSupportedApp(de.metadata.redirect.universal),this.client.session.update(Ue,{transportType:Qe.link_mode})),N({auths:be,session:ve})};this.events.once(B,U),this.events.once(H,K);let Y;try{if(n){const S=u.formatJsonRpcRequest("wc_sessionAuthenticate",M,L);this.client.core.history.set(m,S);const W=await this.client.core.crypto.encode("",S,{type:pa,encoding:io});Y=Ra(i,m,W)}else await Promise.all([this.sendRequest({topic:m,method:"wc_sessionAuthenticate",params:M,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:L}),this.sendRequest({topic:m,method:"wc_sessionPropose",params:A,expiry:bt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:A.id})])}catch(S){throw this.events.off(B,U),this.events.off(H,K),S}return await this.setProposal(A.id,A),await this.setAuthRequest(L,{request:Gt(et({},M),{verifyContext:{}}),pairingTopic:m,transportType:o}),{uri:Y??_,response:$}}),k(this,"approveSessionAuthenticate",async t=>{const{id:i,auths:r}=t,n=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[er.authenticated_session_approve_started]}});try{this.isInitialized()}catch(v){throw n.setError(oo.no_internet_connection),v}const o=this.getPendingAuthRequest(i);if(!o)throw n.setError(oo.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const a=o.transportType||Qe.relay;a===Qe.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),h=rc(c),d={type:mi,receiverPublicKey:c,senderPublicKey:l},p=[],f=[];for(const v of r){if(!await Rd({cacao:v,projectId:this.client.core.projectId})){n.setError(oo.invalid_cacao);const T=je("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:h,error:T,encodeOpts:d}),new Error(T.message)}n.addTrace(er.cacaos_verified);const{p:b}=v,m=ic(b.resources),_=[ch(b.iss)],C=wc(b.iss);if(m){const T=Ud(m),x=Ld(m);p.push(...T),_.push(...x)}for(const T of _)f.push(`${T}:${C}`)}const g=await this.client.core.crypto.generateSharedKey(l,c);n.addTrace(er.create_authenticated_session_topic);let w;if(p?.length>0){w={topic:g,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:pt(Fr),authentication:r,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:rp([...new Set(p)],[...new Set(f)]),transportType:a},n.addTrace(er.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(g,{transportType:a})}catch(v){throw n.setError(oo.subscribe_authenticated_session_topic_failure),v}n.addTrace(er.subscribe_authenticated_session_topic_success),await this.client.session.set(g,w),n.addTrace(er.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}n.addTrace(er.publishing_authenticated_session_approve);try{await this.sendResult({topic:h,id:i,result:{cacaos:r,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:d,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(v){throw n.setError(oo.authenticated_session_approve_publish_failure),v}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:n.eventId}),{session:w}}),k(this,"rejectSessionAuthenticate",async t=>{this.isInitialized();const{id:i,reason:r}=t,n=this.getPendingAuthRequest(i);if(!n)throw new Error(`Could not find pending auth request with id ${i}`);n.transportType===Qe.relay&&await this.confirmOnlineStateOrThrow();const o=n.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=rc(o),l={type:mi,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:i,topic:c,error:r,encodeOpts:l,rpcOpts:bt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(n.requester.metadata,n.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,je("USER_DISCONNECTED"))}),k(this,"formatAuthMessage",t=>{this.isInitialized();const{request:i,iss:r}=t;return Yw(i,r)}),k(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const t=this.relayMessageCache.shift();t&&await this.onRelayMessage(t)}catch(t){this.client.logger.error(t)}},50)}),k(this,"cleanupDuplicatePairings",async t=>{if(t.pairingTopic)try{const i=this.client.core.pairing.pairings.get(t.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(n=>{var o,a;return((o=n.peerMetadata)==null?void 0:o.url)&&((a=n.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&n.topic&&n.topic!==i.topic});if(r.length===0)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map(n=>this.client.core.pairing.disconnect({topic:n.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(i){this.client.logger.error(i)}}),k(this,"deleteSession",async t=>{var i;const{topic:r,expirerHasDeleted:n=!1,emitEvent:o=!0,id:a=0}=t,{self:c}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,je("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),n||this.client.core.expirer.del(r),this.client.core.storage.removeItem(Pp).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===r&&this.deletePendingSessionRequest(l.id,je("USER_DISCONNECTED"))}),r===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=Vs.idle),o&&this.client.events.emit("session_delete",{id:a,topic:r})}),k(this,"deleteProposal",async(t,i)=>{if(i)try{const r=this.client.proposal.get(t);this.client.core.eventClient.getEvent({topic:r.pairingTopic})?.setError(Xi.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(t,je("USER_DISCONNECTED")),i?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"proposal")}),k(this,"deletePendingSessionRequest",async(t,i,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,i),r?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(n=>n.id!==t),r&&(this.sessionRequestQueue.state=Vs.idle,this.client.events.emit("session_request_expire",{id:t}))}),k(this,"deletePendingAuthRequest",async(t,i,r=!1)=>{await Promise.all([this.client.auth.requests.delete(t,i),r?Promise.resolve():this.client.core.expirer.del(t)])}),k(this,"setExpiry",async(t,i)=>{this.client.session.keys.includes(t)&&(this.client.core.expirer.set(t,i),await this.client.session.update(t,{expiry:i}))}),k(this,"setProposal",async(t,i)=>{this.client.core.expirer.set(t,pt(bt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(t,i)}),k(this,"setAuthRequest",async(t,i)=>{const{request:r,pairingTopic:n,transportType:o=Qe.relay}=i;this.client.core.expirer.set(t,r.expiryTimestamp),await this.client.auth.requests.set(t,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:t,pairingTopic:n,verifyContext:r.verifyContext,transportType:o})}),k(this,"setPendingSessionRequest",async t=>{const{id:i,topic:r,params:n,verifyContext:o}=t,a=n.request.expiryTimestamp||pt(bt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,a),await this.client.pendingRequest.set(i,{id:i,topic:r,params:n,verifyContext:o})}),k(this,"sendRequest",async t=>{const{topic:i,method:r,params:n,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:l,appLink:h,tvf:d}=t,p=u.formatJsonRpcRequest(r,n,c);let f;const g=!!h;try{const b=g?io:Ri;f=await this.client.core.crypto.encode(i,p,{encoding:b})}catch(b){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),b}let w;if(qC.includes(r)){const b=fi(JSON.stringify(p)),m=fi(f);w=await this.client.core.verify.register({id:m,decryptedId:b})}const v=bt[r].req;if(v.attestation=w,o&&(v.ttl=o),a&&(v.id=a),this.client.core.history.set(i,p),g){const b=Ra(h,i,f);await P.global.Linking.openURL(b,this.client.name)}else{const b=bt[r].req;o&&(b.ttl=o),a&&(b.id=a),b.tvf=Gt(et({},d),{correlationId:p.id}),l?(b.internal=Gt(et({},b.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,f,b)):this.client.core.relayer.publish(i,f,b).catch(m=>this.client.logger.error(m))}return p.id}),k(this,"sendResult",async t=>{const{id:i,topic:r,result:n,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=t,l=u.formatJsonRpcResult(i,n);let h;const d=c&&typeof(P.global==null?void 0:P.global.Linking)<"u";try{const g=d?io:Ri;h=await this.client.core.crypto.encode(r,l,Gt(et({},a||{}),{encoding:g}))}catch(g){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${r} failed`),g}let p,f;try{p=await this.client.core.history.get(r,i);const g=p.request;try{this.shouldSetTVF(g.method,g.params)&&(f=this.getTVFParams(i,g.params,n))}catch(w){this.client.logger.warn("sendResult() -> getTVFParams() failed",w)}}catch(g){throw this.client.logger.error(`sendResult() -> history.get(${r}, ${i}) failed`),g}if(d){const g=Ra(c,r,h);await P.global.Linking.openURL(g,this.client.name)}else{const g=p.request.method,w=bt[g].res;w.tvf=Gt(et({},f),{correlationId:i}),o?(w.internal=Gt(et({},w.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,h,w)):this.client.core.relayer.publish(r,h,w).catch(v=>this.client.logger.error(v))}await this.client.core.history.resolve(l)}),k(this,"sendError",async t=>{const{id:i,topic:r,error:n,encodeOpts:o,rpcOpts:a,appLink:c}=t,l=u.formatJsonRpcError(i,n);let h;const d=c&&typeof(P.global==null?void 0:P.global.Linking)<"u";try{const f=d?io:Ri;h=await this.client.core.crypto.encode(r,l,Gt(et({},o||{}),{encoding:f}))}catch(f){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${r} failed`),f}let p;try{p=await this.client.core.history.get(r,i)}catch(f){throw this.client.logger.error(`sendError() -> history.get(${r}, ${i}) failed`),f}if(d){const f=Ra(c,r,h);await P.global.Linking.openURL(f,this.client.name)}else{const f=p.request.method,g=a||bt[f].res;this.client.core.relayer.publish(r,h,g)}await this.client.core.history.resolve(l)}),k(this,"cleanup",async()=>{const t=[],i=[];this.client.session.getAll().forEach(r=>{let n=!1;xi(r.expiry)&&(n=!0),this.client.core.crypto.keychain.has(r.topic)||(n=!0),n&&t.push(r.topic)}),this.client.proposal.getAll().forEach(r=>{xi(r.expiryTimestamp)&&i.push(r.id)}),await Promise.all([...t.map(r=>this.deleteSession({topic:r})),...i.map(r=>this.deleteProposal(r))])}),k(this,"onRelayEventRequest",async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()}),k(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===Vs.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=Vs.active;const t=this.requestQueue.queue.shift();if(t)try{await this.processRequest(t)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=Vs.idle}),k(this,"processRequest",async t=>{const{topic:i,payload:r,attestation:n,transportType:o,encryptedId:a}=t,c=r.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:r,attestation:n,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(i,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(i,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(i,r);case"wc_sessionPing":return await this.onSessionPingRequest(i,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(i,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:i,payload:r,attestation:n,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(i,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:r,attestation:n,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}}),k(this,"onRelayEventResponse",async t=>{const{topic:i,payload:r,transportType:n}=t,o=(await this.client.core.history.get(i,r.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(i,r,n);case"wc_sessionSettle":return this.onSessionSettleResponse(i,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(i,r);case"wc_sessionExtend":return this.onSessionExtendResponse(i,r);case"wc_sessionPing":return this.onSessionPingResponse(i,r);case"wc_sessionRequest":return this.onSessionRequestResponse(i,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(i,r);default:return this.client.logger.info(`Unsupported response method ${o}`)}}),k(this,"onRelayEventUnknownPayload",t=>{const{topic:i}=t,{message:r}=F("MISSING_OR_INVALID",`Decoded payload on topic ${i} is not identifiable as a JSON-RPC request or a response.`);throw new Error(r)}),k(this,"shouldIgnorePairingRequest",t=>{const{topic:i,requestMethod:r}=t,n=this.expectedPairingMethodMap.get(i);return!n||n.includes(r)?!1:!!(n.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),k(this,"onSessionProposeRequest",async t=>{const{topic:i,payload:r,attestation:n,encryptedId:o}=t,{params:a,id:c}=r;try{const l=this.client.core.eventClient.getEvent({topic:i});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),l?.setError(di.proposal_listener_not_found)),this.isValidConnect(et({},r.params));const h=a.expiryTimestamp||pt(bt.wc_sessionPropose.req.ttl),d=et({id:c,pairingTopic:i,expiryTimestamp:h},a);await this.setProposal(c,d);const p=await this.getVerifyContext({attestationId:n,hash:fi(JSON.stringify(r)),encryptedId:o,metadata:d.proposer.metadata});l?.addTrace(Js.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:d,verifyContext:p})}catch(l){await this.sendError({id:c,topic:i,error:l,rpcOpts:bt.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),k(this,"onSessionProposeResponse",async(t,i,r)=>{const{id:n}=i;if(u.isJsonRpcResult(i)){const{result:o}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const l=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const h=await this.client.core.crypto.generateSharedKey(c,l);this.pendingSessions.set(n,{sessionTopic:h,pairingTopic:t,proposalId:n,publicKey:c});const d=await this.client.core.relayer.subscribe(h,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:d}),await this.client.core.pairing.activate({topic:t})}else if(u.isJsonRpcError(i)){await this.client.proposal.delete(n,je("USER_DISCONNECTED"));const o=Te("session_connect",n);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(o,{error:i.error})}}),k(this,"onSessionSettleRequest",async(t,i)=>{const{id:r,params:n}=i;try{this.isValidSessionSettleRequest(n);const{relay:o,controller:a,expiry:c,namespaces:l,sessionProperties:h,sessionConfig:d}=i.params,p=[...this.pendingSessions.values()].find(w=>w.sessionTopic===t);if(!p)return this.client.logger.error(`Pending session not found for topic ${t}`);const f=this.client.proposal.get(p.proposalId),g=Gt(et(et({topic:t,relay:o,expiry:c,namespaces:l,acknowledged:!0,pairingTopic:p.pairingTopic,requiredNamespaces:f.requiredNamespaces,optionalNamespaces:f.optionalNamespaces,controller:a.publicKey,self:{publicKey:p.publicKey,metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},h&&{sessionProperties:h}),d&&{sessionConfig:d}),{transportType:Qe.relay});await this.client.session.set(g.topic,g),await this.setExpiry(g.topic,g.expiry),await this.client.core.pairing.updateMetadata({topic:p.pairingTopic,metadata:g.peer.metadata}),this.client.events.emit("session_connect",{session:g}),this.events.emit(Te("session_connect",p.proposalId),{session:g}),this.pendingSessions.delete(p.proposalId),this.deleteProposal(p.proposalId,!1),this.cleanupDuplicatePairings(g),await this.sendResult({id:i.id,topic:t,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:r,topic:t,error:o}),this.client.logger.error(o)}}),k(this,"onSessionSettleResponse",async(t,i)=>{const{id:r}=i;u.isJsonRpcResult(i)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(Te("session_approve",r),{})):u.isJsonRpcError(i)&&(await this.client.session.delete(t,je("USER_DISCONNECTED")),this.events.emit(Te("session_approve",r),{error:i.error}))}),k(this,"onSessionUpdateRequest",async(t,i)=>{const{params:r,id:n}=i;try{const o=`${t}_session_update`,a=ro.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.warn(`Discarding out of sync request - ${n}`),this.sendError({id:n,topic:t,error:je("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(et({topic:t},r));try{ro.set(o,n),await this.client.session.update(t,{namespaces:r.namespaces}),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0})}catch(c){throw ro.delete(o),c}this.client.events.emit("session_update",{id:n,topic:t,params:r})}catch(o){await this.sendError({id:n,topic:t,error:o}),this.client.logger.error(o)}}),k(this,"isRequestOutOfSync",(t,i)=>i.toString().slice(0,-3)<t.toString().slice(0,-3)),k(this,"onSessionUpdateResponse",(t,i)=>{const{id:r}=i,n=Te("session_update",r);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);u.isJsonRpcResult(i)?this.events.emit(Te("session_update",r),{}):u.isJsonRpcError(i)&&this.events.emit(Te("session_update",r),{error:i.error})}),k(this,"onSessionExtendRequest",async(t,i)=>{const{id:r}=i;try{this.isValidExtend({topic:t}),await this.setExpiry(t,pt(Fr)),await this.sendResult({id:r,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:r,topic:t})}catch(n){await this.sendError({id:r,topic:t,error:n}),this.client.logger.error(n)}}),k(this,"onSessionExtendResponse",(t,i)=>{const{id:r}=i,n=Te("session_extend",r);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);u.isJsonRpcResult(i)?this.events.emit(Te("session_extend",r),{}):u.isJsonRpcError(i)&&this.events.emit(Te("session_extend",r),{error:i.error})}),k(this,"onSessionPingRequest",async(t,i)=>{const{id:r}=i;try{this.isValidPing({topic:t}),await this.sendResult({id:r,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:t})}catch(n){await this.sendError({id:r,topic:t,error:n}),this.client.logger.error(n)}}),k(this,"onSessionPingResponse",(t,i)=>{const{id:r}=i,n=Te("session_ping",r);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);setTimeout(()=>{u.isJsonRpcResult(i)?this.events.emit(Te("session_ping",r),{}):u.isJsonRpcError(i)&&this.events.emit(Te("session_ping",r),{error:i.error})},500)}),k(this,"onSessionDeleteRequest",async(t,i)=>{const{id:r}=i;try{this.isValidDisconnect({topic:t,reason:i.params}),Promise.all([new Promise(n=>{this.client.core.relayer.once(At.publish,async()=>{n(await this.deleteSession({topic:t,id:r}))})}),this.sendResult({id:r,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:je("USER_DISCONNECTED")})]).catch(n=>this.client.logger.error(n))}catch(n){this.client.logger.error(n)}}),k(this,"onSessionRequest",async t=>{var i,r,n;const{topic:o,payload:a,attestation:c,encryptedId:l,transportType:h}=t,{id:d,params:p}=a;try{await this.isValidRequest(et({topic:o},p));const f=this.client.session.get(o),g=await this.getVerifyContext({attestationId:c,hash:fi(JSON.stringify(u.formatJsonRpcRequest("wc_sessionRequest",p,d))),encryptedId:l,metadata:f.peer.metadata,transportType:h}),w={id:d,topic:o,params:p,verifyContext:g};await this.setPendingSessionRequest(w),h===Qe.link_mode&&(i=f.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((r=f.peer.metadata.redirect)==null?void 0:r.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(w):(this.addSessionRequestToSessionRequestQueue(w),this.processSessionRequestQueue())}catch(f){await this.sendError({id:d,topic:o,error:f}),this.client.logger.error(f)}}),k(this,"onSessionRequestResponse",(t,i)=>{const{id:r}=i,n=Te("session_request",r);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);u.isJsonRpcResult(i)?this.events.emit(Te("session_request",r),{result:i.result}):u.isJsonRpcError(i)&&this.events.emit(Te("session_request",r),{error:i.error})}),k(this,"onSessionEventRequest",async(t,i)=>{const{id:r,params:n}=i;try{const o=`${t}_session_event_${n.event.name}`,a=ro.get(o);if(a&&this.isRequestOutOfSync(a,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(et({topic:t},n)),this.client.events.emit("session_event",{id:r,topic:t,params:n}),ro.set(o,r)}catch(o){await this.sendError({id:r,topic:t,error:o}),this.client.logger.error(o)}}),k(this,"onSessionAuthenticateResponse",(t,i)=>{const{id:r}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:i}),u.isJsonRpcResult(i)?this.events.emit(Te("session_request",r),{result:i.result}):u.isJsonRpcError(i)&&this.events.emit(Te("session_request",r),{error:i.error})}),k(this,"onSessionAuthenticateRequest",async t=>{var i;const{topic:r,payload:n,attestation:o,encryptedId:a,transportType:c}=t;try{const{requester:l,authPayload:h,expiryTimestamp:d}=n.params,p=await this.getVerifyContext({attestationId:o,hash:fi(JSON.stringify(n)),encryptedId:a,metadata:l.metadata,transportType:c}),f={requester:l,pairingTopic:r,id:n.id,authPayload:h,verifyContext:p,expiryTimestamp:d};await this.setAuthRequest(n.id,{request:f,pairingTopic:r,transportType:c}),c===Qe.link_mode&&(i=l.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:n.params,id:n.id,verifyContext:p})}catch(l){this.client.logger.error(l);const h=n.params.requester.publicKey,d=await this.client.core.crypto.generateKeyPair(),p=this.getAppLinkIfEnabled(n.params.requester.metadata,c),f={type:mi,receiverPublicKey:h,senderPublicKey:d};await this.sendError({id:n.id,topic:r,error:l,encodeOpts:f,rpcOpts:bt.wc_sessionAuthenticate.autoReject,appLink:p})}}),k(this,"addSessionRequestToSessionRequestQueue",t=>{this.sessionRequestQueue.queue.push(t)}),k(this,"cleanupAfterResponse",t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Vs.idle,this.processSessionRequestQueue()},u.cjsExports$1.toMiliseconds(this.requestQueueDelay))}),k(this,"cleanupPendingSentRequestsForTopic",({topic:t,error:i})=>{const r=this.client.core.history.pending;r.length>0&&r.filter(n=>n.topic===t&&n.request.method==="wc_sessionRequest").forEach(n=>{const o=n.request.id,a=Te("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(Te("session_request",n.request.id),{error:i})})}),k(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===Vs.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=Vs.active,this.emitSessionRequest(t)}catch(i){this.client.logger.error(i)}}),k(this,"emitSessionRequest",t=>{this.client.events.emit("session_request",t)}),k(this,"onPairingCreated",t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const i=this.client.proposal.getAll().find(r=>r.pairingTopic===t.topic);i&&this.onSessionProposeRequest({topic:t.topic,payload:u.formatJsonRpcRequest("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})}),k(this,"isValidConnect",async t=>{if(!Zt(t)){const{message:c}=F("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(c)}const{pairingTopic:i,requiredNamespaces:r,optionalNamespaces:n,sessionProperties:o,relays:a}=t;if(Wt(i)||await this.isValidPairingTopic(i),!gA(a)){const{message:c}=F("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(c)}!Wt(r)&&Go(r)!==0&&this.validateNamespaces(r,"requiredNamespaces"),!Wt(n)&&Go(n)!==0&&this.validateNamespaces(n,"optionalNamespaces"),Wt(o)||this.validateSessionProps(o,"sessionProperties")}),k(this,"validateNamespaces",(t,i)=>{const r=pA(t,"connect()",i);if(r)throw new Error(r.message)}),k(this,"isValidApprove",async t=>{if(!Zt(t))throw new Error(F("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:i,namespaces:r,relayProtocol:n,sessionProperties:o}=t;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const a=this.client.proposal.get(i),c=fl(r,"approve()");if(c)throw new Error(c.message);const l=ap(a.requiredNamespaces,r,"approve()");if(l)throw new Error(l.message);if(!ot(n,!0)){const{message:h}=F("MISSING_OR_INVALID",`approve() relayProtocol: ${n}`);throw new Error(h)}Wt(o)||this.validateSessionProps(o,"sessionProperties")}),k(this,"isValidReject",async t=>{if(!Zt(t)){const{message:n}=F("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(n)}const{id:i,reason:r}=t;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!wA(r)){const{message:n}=F("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw new Error(n)}}),k(this,"isValidSessionSettleRequest",t=>{if(!Zt(t)){const{message:l}=F("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(l)}const{relay:i,controller:r,namespaces:n,expiry:o}=t;if(!dy(i)){const{message:l}=F("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const a=aA(r,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=fl(n,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(xi(o)){const{message:l}=F("EXPIRED","onSessionSettleRequest()");throw new Error(l)}}),k(this,"isValidUpdate",async t=>{if(!Zt(t)){const{message:c}=F("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(c)}const{topic:i,namespaces:r}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const n=this.client.session.get(i),o=fl(r,"update()");if(o)throw new Error(o.message);const a=ap(n.requiredNamespaces,r,"update()");if(a)throw new Error(a.message)}),k(this,"isValidExtend",async t=>{if(!Zt(t)){const{message:r}=F("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(r)}const{topic:i}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i)}),k(this,"isValidRequest",async t=>{if(!Zt(t)){const{message:c}=F("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(c)}const{topic:i,request:r,chainId:n,expiry:o}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:a}=this.client.session.get(i);if(!op(a,n)){const{message:c}=F("MISSING_OR_INVALID",`request() chainId: ${n}`);throw new Error(c)}if(!yA(r)){const{message:c}=F("MISSING_OR_INVALID",`request() ${JSON.stringify(r)}`);throw new Error(c)}if(!vA(a,n,r.method)){const{message:c}=F("MISSING_OR_INVALID",`request() method: ${r.method}`);throw new Error(c)}if(o&&!_A(o,Il)){const{message:c}=F("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${Il.min} and ${Il.max}`);throw new Error(c)}}),k(this,"isValidRespond",async t=>{var i;if(!Zt(t)){const{message:o}=F("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:r,response:n}=t;try{await this.isValidSessionTopic(r)}catch(o){throw(i=t?.response)!=null&&i.id&&this.cleanupAfterResponse(t),o}if(!mA(n)){const{message:o}=F("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(n)}`);throw new Error(o)}}),k(this,"isValidPing",async t=>{if(!Zt(t)){const{message:r}=F("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(r)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)}),k(this,"isValidEmit",async t=>{if(!Zt(t)){const{message:a}=F("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:i,event:r,chainId:n}=t;await this.isValidSessionTopic(i);const{namespaces:o}=this.client.session.get(i);if(!op(o,n)){const{message:a}=F("MISSING_OR_INVALID",`emit() chainId: ${n}`);throw new Error(a)}if(!bA(r)){const{message:a}=F("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(a)}if(!IA(o,n,r.name)){const{message:a}=F("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(a)}}),k(this,"isValidDisconnect",async t=>{if(!Zt(t)){const{message:r}=F("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(r)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)}),k(this,"isValidAuthenticate",t=>{const{chains:i,uri:r,domain:n,nonce:o}=t;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!ot(r,!1))throw new Error("uri is required parameter");if(!ot(n,!1))throw new Error("domain is required parameter");if(!ot(o,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(c=>xn(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=xn(i[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),k(this,"getVerifyContext",async t=>{const{attestationId:i,hash:r,encryptedId:n,metadata:o,transportType:a}=t,c={verified:{verifyUrl:o.verifyUrl||Mo,validation:"UNKNOWN",origin:o.url||""}};try{if(a===Qe.link_mode){const h=this.getAppLinkIfEnabled(o,a);return c.verified.validation=h&&new URL(h).origin===new URL(o.url).origin?"VALID":"INVALID",c}const l=await this.client.core.verify.resolve({attestationId:i,hash:r,encryptedId:n,verifyUrl:o.verifyUrl});l&&(c.verified.origin=l.origin,c.verified.isScam=l.isScam,c.verified.validation=l.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c}),k(this,"validateSessionProps",(t,i)=>{Object.values(t).forEach(r=>{if(!ot(r,!1)){const{message:n}=F("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(r)}`);throw new Error(n)}})}),k(this,"getPendingAuthRequest",t=>{const i=this.client.auth.requests.get(t);return typeof i=="object"?i:void 0}),k(this,"addToRecentlyDeleted",(t,i)=>{if(this.recentlyDeletedMap.set(t,i),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let r=0;const n=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(r++>=n)break;this.recentlyDeletedMap.delete(o)}}}),k(this,"checkRecentlyDeleted",t=>{const i=this.recentlyDeletedMap.get(t);if(i){const{message:r}=F("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${t}`);throw new Error(r)}}),k(this,"isLinkModeEnabled",(t,i)=>{var r,n,o,a,c,l,h,d,p;return!t||i!==Qe.link_mode?!1:((n=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:n.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((l=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:l.universal)!==""&&((h=t?.redirect)==null?void 0:h.universal)!==void 0&&((d=t?.redirect)==null?void 0:d.universal)!==""&&((p=t?.redirect)==null?void 0:p.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(t.redirect.universal)&&typeof(P.global==null?void 0:P.global.Linking)<"u"}),k(this,"getAppLinkIfEnabled",(t,i)=>{var r;return this.isLinkModeEnabled(t,i)?(r=t?.redirect)==null?void 0:r.universal:void 0}),k(this,"handleLinkModeMessage",({url:t})=>{if(!t||!t.includes("wc_ev")||!t.includes("topic"))return;const i=$d(t,"topic")||"",r=decodeURIComponent($d(t,"wc_ev")||""),n=this.client.session.keys.includes(i);n&&this.client.session.update(i,{transportType:Qe.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:r,sessionExists:n})}),k(this,"registerLinkModeListeners",async()=>{var t;if(gu()||Vi()&&(t=this.client.metadata.redirect)!=null&&t.linkMode){const i=P.global==null?void 0:P.global.Linking;if(typeof i<"u"){i.addEventListener("url",this.handleLinkModeMessage,this.client.name);const r=await i.getInitialURL();r&&setTimeout(()=>{this.handleLinkModeMessage({url:r})},50)}}}),k(this,"shouldSetTVF",(t,i)=>{if(!i||t!=="wc_sessionRequest")return!1;const{request:r}=i;return Object.keys(Op).includes(r.method)}),k(this,"getTVFParams",(t,i,r)=>{var n,o;try{const a=i.request.method,c=this.extractTxHashesFromResult(a,r);return Gt(et({correlationId:t,rpcMethods:[a],chainId:i.chainId},this.isValidContractData(i.request.params)&&{contractAddresses:[(o=(n=i.request.params)==null?void 0:n[0])==null?void 0:o.to]}),{txHashes:c})}catch(a){this.client.logger.warn("Error getting TVF params",a)}return{}}),k(this,"isValidContractData",t=>{var i;if(!t)return!1;try{const r=t?.data||((i=t?.[0])==null?void 0:i.data);if(!r.startsWith("0x"))return!1;const n=r.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2===0:!1}catch{}return!1}),k(this,"extractTxHashesFromResult",(t,i)=>{try{const r=Op[t];if(typeof i=="string")return[i];const n=i[r.key];if(Er(n))return n;if(typeof n=="string")return[n]}catch(r){this.client.logger.warn("Error extracting tx hashes from result",r)}return[]})}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(At.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){const{topic:t,message:i,attestation:r,transportType:n}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(nc)?this.client.auth.authKeys.get(nc):{publicKey:void 0},a=await this.client.core.crypto.decode(t,i,{receiverPublicKey:o,encoding:n===Qe.link_mode?io:Ri});try{u.isJsonRpcRequest(a)?(this.client.core.history.set(t,a),this.onRelayEventRequest({topic:t,payload:a,attestation:r,transportType:n,encryptedId:fi(i)})):u.isJsonRpcResponse(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:t,payload:a,transportType:n}),this.client.core.history.delete(t,a.id)):this.onRelayEventUnknownPayload({topic:t,payload:a,transportType:n})}catch(c){this.client.logger.error(c)}}registerExpirerEvents(){this.client.core.expirer.on(Es.expired,async e=>{const{topic:t,id:i}=zw(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,F("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,F("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i}))})}registerPairingEvents(){this.client.core.pairing.events.on(hr.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(hr.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!ot(e,!1)){const{message:t}=F("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=F("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(xi(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=F("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!ot(e,!1)){const{message:t}=F("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:t}=F("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(xi(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=F("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=F("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(ot(e,!1)){const{message:t}=F("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=F("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!fA(e)){const{message:t}=F("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=F("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(xi(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=F("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}},eS=class extends Pr{constructor(e,t){super(e,t,UC,Au),this.core=e,this.logger=t}},tS=class extends Pr{constructor(e,t){super(e,t,LC,Au),this.core=e,this.logger=t}},sS=class extends Pr{constructor(e,t){super(e,t,FC,Au,i=>i.id),this.core=e,this.logger=t}},iS=class extends Pr{constructor(e,t){super(e,t,WC,Lc,()=>nc),this.core=e,this.logger=t}},rS=class extends Pr{constructor(e,t){super(e,t,VC,Lc),this.core=e,this.logger=t}},nS=class extends Pr{constructor(e,t){super(e,t,KC,Lc,i=>i.id),this.core=e,this.logger=t}};var oS=Object.defineProperty,aS=(s,e,t)=>e in s?oS(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,El=(s,e,t)=>aS(s,typeof e!="symbol"?e+"":e,t);let cS=class{constructor(e,t){this.core=e,this.logger=t,El(this,"authKeys"),El(this,"pairingTopics"),El(this,"requests"),this.authKeys=new iS(this.core,this.logger),this.pairingTopics=new rS(this.core,this.logger),this.requests=new nS(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}};var lS=Object.defineProperty,hS=(s,e,t)=>e in s?lS(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,fe=(s,e,t)=>hS(s,typeof e!="symbol"?e+"":e,t);let uS=class Oy extends L0{constructor(e){super(e),fe(this,"protocol",Ty),fe(this,"version",Py),fe(this,"name",vl.name),fe(this,"metadata"),fe(this,"core"),fe(this,"logger"),fe(this,"events",new u.eventsExports.EventEmitter),fe(this,"engine"),fe(this,"session"),fe(this,"proposal"),fe(this,"pendingRequest"),fe(this,"auth"),fe(this,"signConfig"),fe(this,"on",(i,r)=>this.events.on(i,r)),fe(this,"once",(i,r)=>this.events.once(i,r)),fe(this,"off",(i,r)=>this.events.off(i,r)),fe(this,"removeListener",(i,r)=>this.events.removeListener(i,r)),fe(this,"removeAllListeners",i=>this.events.removeAllListeners(i)),fe(this,"connect",async i=>{try{return await this.engine.connect(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"pair",async i=>{try{return await this.engine.pair(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"approve",async i=>{try{return await this.engine.approve(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"reject",async i=>{try{return await this.engine.reject(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"update",async i=>{try{return await this.engine.update(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"extend",async i=>{try{return await this.engine.extend(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"request",async i=>{try{return await this.engine.request(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"respond",async i=>{try{return await this.engine.respond(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"ping",async i=>{try{return await this.engine.ping(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"emit",async i=>{try{return await this.engine.emit(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"disconnect",async i=>{try{return await this.engine.disconnect(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"find",i=>{try{return this.engine.find(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(i){throw this.logger.error(i.message),i}}),fe(this,"authenticate",async(i,r)=>{try{return await this.engine.authenticate(i,r)}catch(n){throw this.logger.error(n.message),n}}),fe(this,"formatAuthMessage",i=>{try{return this.engine.formatAuthMessage(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"approveSessionAuthenticate",async i=>{try{return await this.engine.approveSessionAuthenticate(i)}catch(r){throw this.logger.error(r.message),r}}),fe(this,"rejectSessionAuthenticate",async i=>{try{return await this.engine.rejectSessionAuthenticate(i)}catch(r){throw this.logger.error(r.message),r}}),this.name=e?.name||vl.name,this.metadata=e?.metadata||kw(),this.signConfig=e?.signConfig;const t=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:u.Ot(u.k({level:e?.logger||vl.logger}));this.core=e?.core||new RC(e),this.logger=u.E(t,this.name),this.session=new tS(this.core,this.logger),this.proposal=new eS(this.core,this.logger),this.pendingRequest=new sS(this.core,this.logger),this.engine=new XC(this),this.auth=new cS(this.core,this.logger)}static async init(e){const t=new Oy(e);return await t.initialize(),t}get context(){return u.y(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()},u.cjsExports$1.toMiliseconds(u.cjsExports$1.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};const Dp="error",dS="wss://relay.walletconnect.org",pS="wc",gS="universal_provider",kp=`${pS}@2:${gS}:`,My="https://rpc.walletconnect.org/v1/",yn="generic",fS=`${My}bundler`,Ss={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var La=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof P.global<"u"?P.global:typeof self<"u"?self:{};function wS(){this.__data__=[],this.size=0}var yS=wS;function mS(s,e){return s===e||s!==s&&e!==e}var zc=mS,bS=zc;function vS(s,e){for(var t=s.length;t--;)if(bS(s[t][0],e))return t;return-1}var Fc=vS,IS=Fc,ES=Array.prototype,AS=ES.splice;function _S(s){var e=this.__data__,t=IS(e,s);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():AS.call(e,t,1),--this.size,!0}var NS=_S,CS=Fc;function SS(s){var e=this.__data__,t=CS(e,s);return t<0?void 0:e[t][1]}var $S=SS,TS=Fc;function PS(s){return TS(this.__data__,s)>-1}var xS=PS,OS=Fc;function MS(s,e){var t=this.__data__,i=OS(t,s);return i<0?(++this.size,t.push([s,e])):t[i][1]=e,this}var DS=MS,kS=yS,jS=NS,RS=$S,US=xS,LS=DS;function mn(s){var e=-1,t=s==null?0:s.length;for(this.clear();++e<t;){var i=s[e];this.set(i[0],i[1])}}mn.prototype.clear=kS,mn.prototype.delete=jS,mn.prototype.get=RS,mn.prototype.has=US,mn.prototype.set=LS;var qc=mn,zS=qc;function FS(){this.__data__=new zS,this.size=0}var qS=FS;function BS(s){var e=this.__data__,t=e.delete(s);return this.size=e.size,t}var HS=BS;function WS(s){return this.__data__.get(s)}var VS=WS;function KS(s){return this.__data__.has(s)}var GS=KS,YS=typeof La=="object"&&La&&La.Object===Object&&La,Dy=YS,QS=Dy,JS=typeof self=="object"&&self&&self.Object===Object&&self,ZS=QS||JS||Function("return this")(),Vn=ZS,XS=Vn,e$=XS.Symbol,ky=e$,jp=ky,jy=Object.prototype,t$=jy.hasOwnProperty,s$=jy.toString,lo=jp?jp.toStringTag:void 0;function i$(s){var e=t$.call(s,lo),t=s[lo];try{s[lo]=void 0;var i=!0}catch{}var r=s$.call(s);return i&&(e?s[lo]=t:delete s[lo]),r}var r$=i$,n$=Object.prototype,o$=n$.toString;function a$(s){return o$.call(s)}var c$=a$,Rp=ky,l$=r$,h$=c$,u$="[object Null]",d$="[object Undefined]",Up=Rp?Rp.toStringTag:void 0;function p$(s){return s==null?s===void 0?d$:u$:Up&&Up in Object(s)?l$(s):h$(s)}var Bc=p$;function g$(s){var e=typeof s;return s!=null&&(e=="object"||e=="function")}var xr=g$,f$=Bc,w$=xr,y$="[object AsyncFunction]",m$="[object Function]",b$="[object GeneratorFunction]",v$="[object Proxy]";function I$(s){if(!w$(s))return!1;var e=f$(s);return e==m$||e==b$||e==y$||e==v$}var _u=I$,E$=Vn,A$=E$["__core-js_shared__"],_$=A$,Al=_$,Lp=(function(){var s=/[^.]+$/.exec(Al&&Al.keys&&Al.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function N$(s){return!!Lp&&Lp in s}var C$=N$,S$=Function.prototype,$$=S$.toString;function T$(s){if(s!=null){try{return $$.call(s)}catch{}try{return s+""}catch{}}return""}var P$=T$,x$=_u,O$=C$,M$=xr,D$=P$,k$=/[\\^$.*+?()[\]{}|]/g,j$=/^\[object .+?Constructor\]$/,R$=Function.prototype,U$=Object.prototype,L$=R$.toString,z$=U$.hasOwnProperty,F$=RegExp("^"+L$.call(z$).replace(k$,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q$(s){if(!M$(s)||O$(s))return!1;var e=x$(s)?F$:j$;return e.test(D$(s))}var B$=q$;function H$(s,e){return s?.[e]}var W$=H$,V$=B$,K$=W$;function G$(s,e){var t=K$(s,e);return V$(t)?t:void 0}var Nu=G$,Y$=Nu,Q$=Vn,J$=Y$(Q$,"Map"),Ry=J$,Z$=Nu,X$=Z$(Object,"create"),Hc=X$,zp=Hc;function eT(){this.__data__=zp?zp(null):{},this.size=0}var tT=eT;function sT(s){var e=this.has(s)&&delete this.__data__[s];return this.size-=e?1:0,e}var iT=sT,rT=Hc,nT="__lodash_hash_undefined__",oT=Object.prototype,aT=oT.hasOwnProperty;function cT(s){var e=this.__data__;if(rT){var t=e[s];return t===nT?void 0:t}return aT.call(e,s)?e[s]:void 0}var lT=cT,hT=Hc,uT=Object.prototype,dT=uT.hasOwnProperty;function pT(s){var e=this.__data__;return hT?e[s]!==void 0:dT.call(e,s)}var gT=pT,fT=Hc,wT="__lodash_hash_undefined__";function yT(s,e){var t=this.__data__;return this.size+=this.has(s)?0:1,t[s]=fT&&e===void 0?wT:e,this}var mT=yT,bT=tT,vT=iT,IT=lT,ET=gT,AT=mT;function bn(s){var e=-1,t=s==null?0:s.length;for(this.clear();++e<t;){var i=s[e];this.set(i[0],i[1])}}bn.prototype.clear=bT,bn.prototype.delete=vT,bn.prototype.get=IT,bn.prototype.has=ET,bn.prototype.set=AT;var _T=bn,Fp=_T,NT=qc,CT=Ry;function ST(){this.size=0,this.__data__={hash:new Fp,map:new(CT||NT),string:new Fp}}var $T=ST;function TT(s){var e=typeof s;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?s!=="__proto__":s===null}var PT=TT,xT=PT;function OT(s,e){var t=s.__data__;return xT(e)?t[typeof e=="string"?"string":"hash"]:t.map}var Wc=OT,MT=Wc;function DT(s){var e=MT(this,s).delete(s);return this.size-=e?1:0,e}var kT=DT,jT=Wc;function RT(s){return jT(this,s).get(s)}var UT=RT,LT=Wc;function zT(s){return LT(this,s).has(s)}var FT=zT,qT=Wc;function BT(s,e){var t=qT(this,s),i=t.size;return t.set(s,e),this.size+=t.size==i?0:1,this}var HT=BT,WT=$T,VT=kT,KT=UT,GT=FT,YT=HT;function vn(s){var e=-1,t=s==null?0:s.length;for(this.clear();++e<t;){var i=s[e];this.set(i[0],i[1])}}vn.prototype.clear=WT,vn.prototype.delete=VT,vn.prototype.get=KT,vn.prototype.has=GT,vn.prototype.set=YT;var QT=vn,JT=qc,ZT=Ry,XT=QT,eP=200;function tP(s,e){var t=this.__data__;if(t instanceof JT){var i=t.__data__;if(!ZT||i.length<eP-1)return i.push([s,e]),this.size=++t.size,this;t=this.__data__=new XT(i)}return t.set(s,e),this.size=t.size,this}var sP=tP,iP=qc,rP=qS,nP=HS,oP=VS,aP=GS,cP=sP;function In(s){var e=this.__data__=new iP(s);this.size=e.size}In.prototype.clear=rP,In.prototype.delete=nP,In.prototype.get=oP,In.prototype.has=aP,In.prototype.set=cP;var lP=In,hP=Nu,uP=(function(){try{var s=hP(Object,"defineProperty");return s({},"",{}),s}catch{}})(),Uy=uP,qp=Uy;function dP(s,e,t){e=="__proto__"&&qp?qp(s,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):s[e]=t}var Cu=dP,pP=Cu,gP=zc;function fP(s,e,t){(t!==void 0&&!gP(s[e],t)||t===void 0&&!(e in s))&&pP(s,e,t)}var Ly=fP;function wP(s){return function(e,t,i){for(var r=-1,n=Object(e),o=i(e),a=o.length;a--;){var c=o[s?a:++r];if(t(n[c],c,n)===!1)break}return e}}var yP=wP,mP=yP,bP=mP(),vP=bP,Ch={exports:{}};(function(s,e){var t=Vn,i=e&&!e.nodeType&&e,r=i&&!0&&s&&!s.nodeType&&s,n=r&&r.exports===i,o=n?t.Buffer:void 0,a=o?o.allocUnsafe:void 0;function c(l,h){if(h)return l.slice();var d=l.length,p=a?a(d):new l.constructor(d);return l.copy(p),p}s.exports=c})(Ch,Ch.exports);var IP=Vn,EP=IP.Uint8Array,AP=EP,Bp=AP;function _P(s){var e=new s.constructor(s.byteLength);return new Bp(e).set(new Bp(s)),e}var NP=_P,CP=NP;function SP(s,e){var t=e?CP(s.buffer):s.buffer;return new s.constructor(t,s.byteOffset,s.length)}var $P=SP;function TP(s,e){var t=-1,i=s.length;for(e||(e=Array(i));++t<i;)e[t]=s[t];return e}var PP=TP,xP=xr,Hp=Object.create,OP=(function(){function s(){}return function(e){if(!xP(e))return{};if(Hp)return Hp(e);s.prototype=e;var t=new s;return s.prototype=void 0,t}})(),MP=OP;function DP(s,e){return function(t){return s(e(t))}}var kP=DP,jP=kP,RP=jP(Object.getPrototypeOf,Object),zy=RP,UP=Object.prototype;function LP(s){var e=s&&s.constructor,t=typeof e=="function"&&e.prototype||UP;return s===t}var Fy=LP,zP=MP,FP=zy,qP=Fy;function BP(s){return typeof s.constructor=="function"&&!qP(s)?zP(FP(s)):{}}var HP=BP;function WP(s){return s!=null&&typeof s=="object"}var fa=WP,VP=Bc,KP=fa,GP="[object Arguments]";function YP(s){return KP(s)&&VP(s)==GP}var QP=YP,Wp=QP,JP=fa,qy=Object.prototype,ZP=qy.hasOwnProperty,XP=qy.propertyIsEnumerable,e2=Wp((function(){return arguments})())?Wp:function(s){return JP(s)&&ZP.call(s,"callee")&&!XP.call(s,"callee")},By=e2,t2=Array.isArray,Hy=t2,s2=9007199254740991;function i2(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=s2}var Wy=i2,r2=_u,n2=Wy;function o2(s){return s!=null&&n2(s.length)&&!r2(s)}var Su=o2,a2=Su,c2=fa;function l2(s){return c2(s)&&a2(s)}var h2=l2,bc={exports:{}};function u2(){return!1}var d2=u2;(function(s,e){var t=Vn,i=d2,r=e&&!e.nodeType&&e,n=r&&!0&&s&&!s.nodeType&&s,o=n&&n.exports===r,a=o?t.Buffer:void 0,c=a?a.isBuffer:void 0,l=c||i;s.exports=l})(bc,bc.exports);var p2=Bc,g2=zy,f2=fa,w2="[object Object]",y2=Function.prototype,m2=Object.prototype,Vy=y2.toString,b2=m2.hasOwnProperty,v2=Vy.call(Object);function I2(s){if(!f2(s)||p2(s)!=w2)return!1;var e=g2(s);if(e===null)return!0;var t=b2.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Vy.call(t)==v2}var E2=I2,A2=Bc,_2=Wy,N2=fa,C2="[object Arguments]",S2="[object Array]",$2="[object Boolean]",T2="[object Date]",P2="[object Error]",x2="[object Function]",O2="[object Map]",M2="[object Number]",D2="[object Object]",k2="[object RegExp]",j2="[object Set]",R2="[object String]",U2="[object WeakMap]",L2="[object ArrayBuffer]",z2="[object DataView]",F2="[object Float32Array]",q2="[object Float64Array]",B2="[object Int8Array]",H2="[object Int16Array]",W2="[object Int32Array]",V2="[object Uint8Array]",K2="[object Uint8ClampedArray]",G2="[object Uint16Array]",Y2="[object Uint32Array]",Ye={};Ye[F2]=Ye[q2]=Ye[B2]=Ye[H2]=Ye[W2]=Ye[V2]=Ye[K2]=Ye[G2]=Ye[Y2]=!0,Ye[C2]=Ye[S2]=Ye[L2]=Ye[$2]=Ye[z2]=Ye[T2]=Ye[P2]=Ye[x2]=Ye[O2]=Ye[M2]=Ye[D2]=Ye[k2]=Ye[j2]=Ye[R2]=Ye[U2]=!1;function Q2(s){return N2(s)&&_2(s.length)&&!!Ye[A2(s)]}var J2=Q2;function Z2(s){return function(e){return s(e)}}var X2=Z2,Sh={exports:{}};(function(s,e){var t=Dy,i=e&&!e.nodeType&&e,r=i&&!0&&s&&!s.nodeType&&s,n=r&&r.exports===i,o=n&&t.process,a=(function(){try{var c=r&&r.require&&r.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}})();s.exports=a})(Sh,Sh.exports);var ex=J2,tx=X2,Vp=Sh.exports,Kp=Vp&&Vp.isTypedArray,sx=Kp?tx(Kp):ex,Ky=sx;function ix(s,e){if(!(e==="constructor"&&typeof s[e]=="function")&&e!="__proto__")return s[e]}var Gy=ix,rx=Cu,nx=zc,ox=Object.prototype,ax=ox.hasOwnProperty;function cx(s,e,t){var i=s[e];(!(ax.call(s,e)&&nx(i,t))||t===void 0&&!(e in s))&&rx(s,e,t)}var lx=cx,hx=lx,ux=Cu;function dx(s,e,t,i){var r=!t;t||(t={});for(var n=-1,o=e.length;++n<o;){var a=e[n],c=i?i(t[a],s[a],a,t,s):void 0;c===void 0&&(c=s[a]),r?ux(t,a,c):hx(t,a,c)}return t}var px=dx;function gx(s,e){for(var t=-1,i=Array(s);++t<s;)i[t]=e(t);return i}var fx=gx,wx=9007199254740991,yx=/^(?:0|[1-9]\d*)$/;function mx(s,e){var t=typeof s;return e=e??wx,!!e&&(t=="number"||t!="symbol"&&yx.test(s))&&s>-1&&s%1==0&&s<e}var Yy=mx,bx=fx,vx=By,Ix=Hy,Ex=bc.exports,Ax=Yy,_x=Ky,Nx=Object.prototype,Cx=Nx.hasOwnProperty;function Sx(s,e){var t=Ix(s),i=!t&&vx(s),r=!t&&!i&&Ex(s),n=!t&&!i&&!r&&_x(s),o=t||i||r||n,a=o?bx(s.length,String):[],c=a.length;for(var l in s)(e||Cx.call(s,l))&&!(o&&(l=="length"||r&&(l=="offset"||l=="parent")||n&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Ax(l,c)))&&a.push(l);return a}var $x=Sx;function Tx(s){var e=[];if(s!=null)for(var t in Object(s))e.push(t);return e}var Px=Tx,xx=xr,Ox=Fy,Mx=Px,Dx=Object.prototype,kx=Dx.hasOwnProperty;function jx(s){if(!xx(s))return Mx(s);var e=Ox(s),t=[];for(var i in s)i=="constructor"&&(e||!kx.call(s,i))||t.push(i);return t}var Rx=jx,Ux=$x,Lx=Rx,zx=Su;function Fx(s){return zx(s)?Ux(s,!0):Lx(s)}var Qy=Fx,qx=px,Bx=Qy;function Hx(s){return qx(s,Bx(s))}var Wx=Hx,Gp=Ly,Vx=Ch.exports,Kx=$P,Gx=PP,Yx=HP,Yp=By,Qp=Hy,Qx=h2,Jx=bc.exports,Zx=_u,Xx=xr,eO=E2,tO=Ky,Jp=Gy,sO=Wx;function iO(s,e,t,i,r,n,o){var a=Jp(s,t),c=Jp(e,t),l=o.get(c);if(l){Gp(s,t,l);return}var h=n?n(a,c,t+"",s,e,o):void 0,d=h===void 0;if(d){var p=Qp(c),f=!p&&Jx(c),g=!p&&!f&&tO(c);h=c,p||f||g?Qp(a)?h=a:Qx(a)?h=Gx(a):f?(d=!1,h=Vx(c,!0)):g?(d=!1,h=Kx(c,!0)):h=[]:eO(c)||Yp(c)?(h=a,Yp(a)?h=sO(a):(!Xx(a)||Zx(a))&&(h=Yx(c))):d=!1}d&&(o.set(c,h),r(h,c,i,n,o),o.delete(c)),Gp(s,t,h)}var rO=iO,nO=lP,oO=Ly,aO=vP,cO=rO,lO=xr,hO=Qy,uO=Gy;function Jy(s,e,t,i,r){s!==e&&aO(e,function(n,o){if(r||(r=new nO),lO(n))cO(s,e,o,t,Jy,i,r);else{var a=i?i(uO(s,o),n,o+"",s,e,r):void 0;a===void 0&&(a=n),oO(s,o,a)}},hO)}var dO=Jy;function pO(s){return s}var Zy=pO;function gO(s,e,t){switch(t.length){case 0:return s.call(e);case 1:return s.call(e,t[0]);case 2:return s.call(e,t[0],t[1]);case 3:return s.call(e,t[0],t[1],t[2])}return s.apply(e,t)}var fO=gO,wO=fO,Zp=Math.max;function yO(s,e,t){return e=Zp(e===void 0?s.length-1:e,0),function(){for(var i=arguments,r=-1,n=Zp(i.length-e,0),o=Array(n);++r<n;)o[r]=i[e+r];r=-1;for(var a=Array(e+1);++r<e;)a[r]=i[r];return a[e]=t(o),wO(s,this,a)}}var mO=yO;function bO(s){return function(){return s}}var vO=bO,IO=vO,Xp=Uy,EO=Zy,AO=Xp?function(s,e){return Xp(s,"toString",{configurable:!0,enumerable:!1,value:IO(e),writable:!0})}:EO,_O=AO,NO=800,CO=16,SO=Date.now;function $O(s){var e=0,t=0;return function(){var i=SO(),r=CO-(i-t);if(t=i,r>0){if(++e>=NO)return arguments[0]}else e=0;return s.apply(void 0,arguments)}}var TO=$O,PO=_O,xO=TO,OO=xO(PO),MO=OO,DO=Zy,kO=mO,jO=MO;function RO(s,e){return jO(kO(s,e,DO),s+"")}var UO=RO,LO=zc,zO=Su,FO=Yy,qO=xr;function BO(s,e,t){if(!qO(t))return!1;var i=typeof e;return(i=="number"?zO(t)&&FO(e,t.length):i=="string"&&e in t)?LO(t[e],s):!1}var HO=BO,WO=UO,VO=HO;function KO(s){return WO(function(e,t){var i=-1,r=t.length,n=r>1?t[r-1]:void 0,o=r>2?t[2]:void 0;for(n=s.length>3&&typeof n=="function"?(r--,n):void 0,o&&VO(t[0],t[1],o)&&(n=r<3?void 0:n,r=1),e=Object(e);++i<r;){var a=t[i];a&&s(e,a,i,n)}return e})}var GO=KO,YO=dO,QO=GO,JO=QO(function(s,e,t){YO(s,e,t)}),ZO=JO,XO=Object.defineProperty,eM=Object.defineProperties,tM=Object.getOwnPropertyDescriptors,eg=Object.getOwnPropertySymbols,sM=Object.prototype.hasOwnProperty,iM=Object.prototype.propertyIsEnumerable,tg=(s,e,t)=>e in s?XO(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,za=(s,e)=>{for(var t in e||(e={}))sM.call(e,t)&&tg(s,t,e[t]);if(eg)for(var t of eg(e))iM.call(e,t)&&tg(s,t,e[t]);return s},rM=(s,e)=>eM(s,tM(e));function ds(s,e,t){var i;const r=xn(s);return((i=e.rpcMap)==null?void 0:i[r.reference])||`${My}?chainId=${r.namespace}:${r.reference}&projectId=${t}`}function Or(s){return s.includes(":")?s.split(":")[1]:s}function Xy(s){return s.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function nM(s,e){const t=Object.keys(e.namespaces).filter(r=>r.includes(s));if(!t.length)return[];const i=[];return t.forEach(r=>{const n=e.namespaces[r].accounts;i.push(...n)}),i}function _l(s={},e={}){const t=sg(s),i=sg(e);return ZO(t,i)}function sg(s){var e,t,i,r;const n={};if(!Go(s))return n;for(const[o,a]of Object.entries(s)){const c=Iu(o)?[o]:a.chains,l=a.methods||[],h=a.events||[],d=a.rpcMap||{},p=Ao(o);n[p]=rM(za(za({},n[p]),a),{chains:sc(c,(e=n[p])==null?void 0:e.chains),methods:sc(l,(t=n[p])==null?void 0:t.methods),events:sc(h,(i=n[p])==null?void 0:i.events),rpcMap:za(za({},d),(r=n[p])==null?void 0:r.rpcMap)})}return n}function oM(s){return s.includes(":")?s.split(":")[2]:s}function ig(s){const e={};for(const[t,i]of Object.entries(s)){const r=i.methods||[],n=i.events||[],o=i.accounts||[],a=Iu(t)?[t]:i.chains?i.chains:Xy(i.accounts);e[t]={chains:a,methods:r,events:n,accounts:o}}return e}function Nl(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 em={},Ce=s=>em[s],Cl=(s,e)=>{em[s]=e};var aM=Object.defineProperty,cM=(s,e,t)=>e in s?aM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,qr=(s,e,t)=>cM(s,typeof e!="symbol"?e+"":e,t);class lM{constructor(e){qr(this,"name","polkadot"),qr(this,"client"),qr(this,"httpProviders"),qr(this,"events"),qr(this,"namespace"),qr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const r=Or(t);e[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var hM=Object.defineProperty,uM=Object.defineProperties,dM=Object.getOwnPropertyDescriptors,rg=Object.getOwnPropertySymbols,pM=Object.prototype.hasOwnProperty,gM=Object.prototype.propertyIsEnumerable,$h=(s,e,t)=>e in s?hM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ng=(s,e)=>{for(var t in e||(e={}))pM.call(e,t)&&$h(s,t,e[t]);if(rg)for(var t of rg(e))gM.call(e,t)&&$h(s,t,e[t]);return s},og=(s,e)=>uM(s,dM(e)),Br=(s,e,t)=>$h(s,typeof e!="symbol"?e+"":e,t);class fM{constructor(e){Br(this,"name","eip155"),Br(this,"client"),Br(this,"chainId"),Br(this,"namespace"),Br(this,"httpProviders"),Br(this,"events"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const i=t||ds(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const r=parseInt(Or(t));e[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,i;let r=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";r=r.startsWith("0x")?r:`0x${r}`;const n=parseInt(r,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:r}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${n}`);else throw new Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,i,r;const n=(i=(t=e.request)==null?void 0:t.params)==null?void 0:i[0];if(!n)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const o=this.client.session.get(e.topic),a=((r=o?.sessionProperties)==null?void 0:r.capabilities)||{};if(a!=null&&a[n])return a?.[n];const c=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:og(ng({},o.sessionProperties||{}),{capabilities:og(ng({},a||{}),{[n]:c})})})}catch(l){console.warn("Failed to update session with capabilities",l)}return c}async getCallStatus(e){var t,i;const r=this.client.session.get(e.topic),n=(t=r.sessionProperties)==null?void 0:t.bundler_name;if(n){const a=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(a,e)}catch(c){console.warn("Failed to fetch call status from bundler",c,a)}}const o=(i=r.sessionProperties)==null?void 0:i.bundler_url;if(o)try{return await this.getUserOperationReceipt(o,e)}catch(a){console.warn("Failed to fetch call status from custom bundler",a,o)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var i;const r=new URL(e),n=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u.formatJsonRpcRequest("eth_getUserOperationReceipt",[(i=t.request.params)==null?void 0:i[0]]))});if(!n.ok)throw new Error(`Failed to fetch user operation receipt - ${n.status}`);return await n.json()}getBundlerUrl(e,t){return`${fS}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var wM=Object.defineProperty,yM=(s,e,t)=>e in s?wM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Hr=(s,e,t)=>yM(s,typeof e!="symbol"?e+"":e,t);class mM{constructor(e){Hr(this,"name","solana"),Hr(this,"client"),Hr(this,"httpProviders"),Hr(this,"events"),Hr(this,"namespace"),Hr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const r=Or(t);e[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var bM=Object.defineProperty,vM=(s,e,t)=>e in s?bM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Wr=(s,e,t)=>vM(s,typeof e!="symbol"?e+"":e,t);class IM{constructor(e){Wr(this,"name","cosmos"),Wr(this,"client"),Wr(this,"httpProviders"),Wr(this,"events"),Wr(this,"namespace"),Wr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const r=Or(t);e[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var EM=Object.defineProperty,AM=(s,e,t)=>e in s?EM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Vr=(s,e,t)=>AM(s,typeof e!="symbol"?e+"":e,t);class _M{constructor(e){Vr(this,"name","algorand"),Vr(this,"client"),Vr(this,"httpProviders"),Vr(this,"events"),Vr(this,"namespace"),Vr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){const i=t||ds(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var NM=Object.defineProperty,CM=(s,e,t)=>e in s?NM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Kr=(s,e,t)=>CM(s,typeof e!="symbol"?e+"":e,t);class SM{constructor(e){Kr(this,"name","cip34"),Kr(this,"client"),Kr(this,"httpProviders"),Kr(this,"events"),Kr(this,"namespace"),Kr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const i=this.getCardanoRPCUrl(t),r=Or(t);e[r]=this.createHttpProvider(r,i)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||this.getCardanoRPCUrl(e);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var $M=Object.defineProperty,TM=(s,e,t)=>e in s?$M(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Gr=(s,e,t)=>TM(s,typeof e!="symbol"?e+"":e,t);class PM{constructor(e){Gr(this,"name","elrond"),Gr(this,"client"),Gr(this,"httpProviders"),Gr(this,"events"),Gr(this,"namespace"),Gr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const r=Or(t);e[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var xM=Object.defineProperty,OM=(s,e,t)=>e in s?xM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Yr=(s,e,t)=>OM(s,typeof e!="symbol"?e+"":e,t);class MM{constructor(e){Yr(this,"name","multiversx"),Yr(this,"client"),Yr(this,"httpProviders"),Yr(this,"events"),Yr(this,"namespace"),Yr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const r=Or(t);e[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var DM=Object.defineProperty,kM=(s,e,t)=>e in s?DM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Qr=(s,e,t)=>kM(s,typeof e!="symbol"?e+"":e,t);class jM{constructor(e){Qr(this,"name","near"),Qr(this,"client"),Qr(this,"httpProviders"),Qr(this,"events"),Qr(this,"namespace"),Qr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){const i=t||ds(`${this.name}:${e}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace);return typeof i>"u"?void 0:new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var RM=Object.defineProperty,UM=(s,e,t)=>e in s?RM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Jr=(s,e,t)=>UM(s,typeof e!="symbol"?e+"":e,t);class LM{constructor(e){Jr(this,"name","tezos"),Jr(this,"client"),Jr(this,"httpProviders"),Jr(this,"events"),Jr(this,"namespace"),Jr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){const i=t||ds(`${this.name}:${e}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace);return typeof i>"u"?void 0:new u.o(new u.f$1(i))}}var zM=Object.defineProperty,FM=(s,e,t)=>e in s?zM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Zr=(s,e,t)=>FM(s,typeof e!="symbol"?e+"":e,t);class qM{constructor(e){Zr(this,"name",yn),Zr(this,"client"),Zr(this,"httpProviders"),Zr(this,"events"),Zr(this,"namespace"),Zr(this,"chainId"),this.namespace=e.namespace,this.events=Ce("events"),this.client=Ce("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(Ss.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){var e,t;const i={};return(t=(e=this.namespace)==null?void 0:e.accounts)==null||t.forEach(r=>{const n=xn(r);i[`${n.namespace}:${n.reference}`]=this.createHttpProvider(r)}),i}getHttpProvider(e){const t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||ds(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new u.o(new u.f$1(i,Ce("disableProviderPing")))}}var BM=Object.defineProperty,HM=Object.defineProperties,WM=Object.getOwnPropertyDescriptors,ag=Object.getOwnPropertySymbols,VM=Object.prototype.hasOwnProperty,KM=Object.prototype.propertyIsEnumerable,Th=(s,e,t)=>e in s?BM(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Fa=(s,e)=>{for(var t in e||(e={}))VM.call(e,t)&&Th(s,t,e[t]);if(ag)for(var t of ag(e))KM.call(e,t)&&Th(s,t,e[t]);return s},Sl=(s,e)=>HM(s,WM(e)),Ms=(s,e,t)=>Th(s,typeof e!="symbol"?e+"":e,t);class $u{constructor(e){Ms(this,"client"),Ms(this,"namespaces"),Ms(this,"optionalNamespaces"),Ms(this,"sessionProperties"),Ms(this,"events",new u.Nt),Ms(this,"rpcProviders",{}),Ms(this,"session"),Ms(this,"providerOpts"),Ms(this,"logger"),Ms(this,"uri"),Ms(this,"disableProviderPing",!1),this.providerOpts=e,this.logger=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:u.Ot(u.k({level:e?.logger||Dp})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){const t=new $u(e);return await t.initialize(),t}async request(e,t,i){const[r,n]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(r).request({request:Fa({},e),chainId:`${r}:${n}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,r){const n=new Date().getTime();this.request(e,i,r).then(o=>t(null,u.formatJsonRpcResult(n,o))).catch(o=>t(o,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}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:je("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:i,response:r}=await this.client.authenticate(e,t);i&&(this.uri=i,this.events.emit("display_uri",i));const n=await r();if(this.session=n.session,this.session){const o=ig(this.session.namespaces);this.namespaces=_l(this.namespaces,o),this.persist("namespaces",this.namespaces),this.onConnect()}return n}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){const{uri:t,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});t&&(this.uri=t,this.events.emit("display_uri",t));const r=await i();this.session=r;const n=ig(r.namespaces);return this.namespaces=_l(this.namespaces,n),this.persist("namespaces",this.namespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[i,r]=this.validateChain(e),n=this.getProvider(i);n.name===yn?n.setDefaultChain(`${i}:${r}`,t):n.setDefaultChain(r,t)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(Er(t)){for(const i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const e=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[e]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await uS.init({core:this.providerOpts.core,logger:this.providerOpts.logger||Dp,relayUrl:this.providerOpts.relayUrl||dS,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.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 e=[...new Set(Object.keys(this.session.namespaces).map(t=>Ao(t)))];Cl("client",this.client),Cl("events",this.events),Cl("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const i=nM(t,this.session),r=Xy(i),n=_l(this.namespaces,this.optionalNamespaces),o=Sl(Fa({},n[t]),{accounts:i,chains:r});switch(t){case"eip155":this.rpcProviders[t]=new fM({namespace:o});break;case"algorand":this.rpcProviders[t]=new _M({namespace:o});break;case"solana":this.rpcProviders[t]=new mM({namespace:o});break;case"cosmos":this.rpcProviders[t]=new IM({namespace:o});break;case"polkadot":this.rpcProviders[t]=new lM({namespace:o});break;case"cip34":this.rpcProviders[t]=new SM({namespace:o});break;case"elrond":this.rpcProviders[t]=new PM({namespace:o});break;case"multiversx":this.rpcProviders[t]=new MM({namespace:o});break;case"near":this.rpcProviders[t]=new jM({namespace:o});break;case"tezos":this.rpcProviders[t]=new LM({namespace:o});break;default:this.rpcProviders[yn]?this.rpcProviders[yn].updateNamespace(o):this.rpcProviders[yn]=new qM({namespace:o})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:i}=t;if(i.name==="accountsChanged"){const r=i.data;r&&Er(r)&&this.events.emit("accountsChanged",r.map(oM))}else if(i.name==="chainChanged"){const r=t.chainId,n=t.event.data,o=Ao(r),a=Nl(r)!==Nl(n)?`${o}:${Nl(n)}`:r;this.onChainChanged(a)}else this.events.emit(i.name,i.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i;const{namespaces:r}=t,n=(i=this.client)==null?void 0:i.session.get(e);this.session=Sl(Fa({},n),{namespaces:r}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",Sl(Fa({},je("USER_DISCONNECTED")),{data:e.topic}))}),this.on(Ss.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[yn]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:i,sessionProperties:r}=e;t&&Object.keys(t).length&&(this.namespaces=t),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=r,this.persist("namespaces",t),this.persist("optionalNamespaces",i)}validateChain(e){const[t,i]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(o=>Ao(o)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];const r=Ao(Object.keys(this.namespaces)[0]),n=this.rpcProviders[r].getDefaultChain();return[r,n]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[i,r]=this.validateChain(e);r&&(t||this.getProvider(i).setDefaultChain(r),this.namespaces[i]?this.namespaces[i].defaultChain=r:this.namespaces[`${i}:${r}`]?this.namespaces[`${i}:${r}`].defaultChain=r:this.namespaces[`${i}:${r}`]={defaultChain:r},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",r))}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(e,t){this.client.core.storage.setItem(`${kp}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${kp}/${e}`)}}const GM=$u,tm={caipNetworkIdToNumber(s){return s?Number(s.split(":")[1]):void 0},parseEvmChainId(s){return typeof s=="string"?this.caipNetworkIdToNumber(s):s},getNetworksByNamespace(s,e){return s?.filter(t=>t.chainNamespace===e)||[]},getFirstNetworkByNamespace(s,e){return this.getNetworksByNamespace(s,e)[0]}},qa={bigNumber(s){return s?new lr.Big(s):new lr.Big(0)},multiply(s,e){if(s===void 0||e===void 0)return new lr.Big(0);const t=new lr.Big(s),i=new lr.Big(e);return t.times(i)},formatNumberToLocalString(s,e=2){return s===void 0?"0.00":typeof s=="number"?s.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e}):parseFloat(s).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e})},parseLocalStringToNumber(s){return s===void 0?0:parseFloat(s.replace(/,/gu,""))}},YM=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],QM=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],JM=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],te={WC_NAME_SUFFIX:".reown.id",WC_NAME_SUFFIX_LEGACY:".wcn.id",BLOCKCHAIN_API_RPC_URL:"https://rpc.walletconnect.org",PULSE_API_URL:"https://pulse.walletconnect.org",W3M_API_URL:"https://api.web3modal.org",CONNECTOR_ID:{WALLET_CONNECT:"walletConnect",INJECTED:"injected",WALLET_STANDARD:"announced",COINBASE:"coinbaseWallet",COINBASE_SDK:"coinbaseWalletSDK",SAFE:"safe",LEDGER:"ledger",OKX:"okx",EIP6963:"eip6963",AUTH:"ID_AUTH"},CONNECTOR_NAMES:{AUTH:"Auth"},AUTH_CONNECTOR_SUPPORTED_CHAINS:["eip155","solana"],LIMITS:{PENDING_TRANSACTIONS:99},CHAIN:{EVM:"eip155",SOLANA:"solana",POLKADOT:"polkadot",BITCOIN:"bip122"},CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],HTTP_STATUS_CODES:{SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network"},ZM={getERC20Abi:s=>te.USDT_CONTRACT_ADDRESSES.includes(s)?JM:YM,getSwapAbi:()=>QM},Ci={validateCaipAddress(s){if(s.split(":")?.length!==3)throw new Error("Invalid CAIP Address");return s},parseCaipAddress(s){const e=s.split(":");if(e.length!==3)throw new Error(`Invalid CAIP-10 address: ${s}`);const[t,i,r]=e;if(!t||!i||!r)throw new Error(`Invalid CAIP-10 address: ${s}`);return{chainNamespace:t,chainId:i,address:r}},parseCaipNetworkId(s){const e=s.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${s}`);const[t,i]=e;if(!t||!i)throw new Error(`Invalid CAIP-2 network id: ${s}`);return{chainNamespace:t,chainId:i}}},ue={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token",TELEGRAM_SOCIAL_PROVIDER:"@appkit/social_provider",NATIVE_BALANCE_CACHE:"@appkit/native_balance_cache",PORTFOLIO_CACHE:"@appkit/portfolio_cache",ENS_CACHE:"@appkit/ens_cache",IDENTITY_CACHE:"@appkit/identity_cache"};function $l(s){if(!s)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${s}:connected_connector_id`}const ae={setItem(s,e){No()&&e!==void 0&&localStorage.setItem(s,e)},getItem(s){if(No())return localStorage.getItem(s)||void 0},removeItem(s){No()&&localStorage.removeItem(s)},clear(){No()&&localStorage.clear()}};function No(){return typeof window<"u"&&typeof localStorage<"u"}function Ui(s,e){return e==="light"?{"--w3m-accent":s?.["--w3m-accent"]||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":s?.["--w3m-accent"]||"hsla(230, 100%, 67%, 1)","--w3m-background":"#121313"}}const XM=Symbol(),cg=Object.getPrototypeOf,Ph=new WeakMap,eD=s=>s&&(Ph.has(s)?Ph.get(s):cg(s)===Object.prototype||cg(s)===Array.prototype),tD=s=>eD(s)&&s[XM]||null,lg=(s,e=!0)=>{Ph.set(s,e)},vc={},Tl=s=>typeof s=="object"&&s!==null,Oi=new WeakMap,Co=new WeakSet,sD=(s=Object.is,e=(l,h)=>new Proxy(l,h),t=l=>Tl(l)&&!Co.has(l)&&(Array.isArray(l)||!(Symbol.iterator in l))&&!(l instanceof WeakMap)&&!(l instanceof WeakSet)&&!(l instanceof Error)&&!(l instanceof Number)&&!(l instanceof Date)&&!(l instanceof String)&&!(l instanceof RegExp)&&!(l instanceof ArrayBuffer),i=l=>{switch(l.status){case"fulfilled":return l.value;case"rejected":throw l.reason;default:throw l}},r=new WeakMap,n=(l,h,d=i)=>{const p=r.get(l);if(p?.[0]===h)return p[1];const f=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l));return lg(f,!0),r.set(l,[h,f]),Reflect.ownKeys(l).forEach(g=>{if(Object.getOwnPropertyDescriptor(f,g))return;const w=Reflect.get(l,g),{enumerable:v}=Reflect.getOwnPropertyDescriptor(l,g),b={value:w,enumerable:v,configurable:!0};if(Co.has(w))lg(w,!1);else if(w instanceof Promise)delete b.value,b.get=()=>d(w);else if(Oi.has(w)){const[m,_]=Oi.get(w);b.value=n(m,_(),d)}Object.defineProperty(f,g,b)}),Object.preventExtensions(f)},o=new WeakMap,a=[1,1],c=l=>{if(!Tl(l))throw new Error("object required");const h=o.get(l);if(h)return h;let d=a[0];const p=new Set,f=(A,$=++a[0])=>{d!==$&&(d=$,p.forEach(N=>N(A,$)))};let g=a[1];const w=(A=++a[1])=>(g!==A&&!p.size&&(g=A,b.forEach(([$])=>{const N=$[1](A);N>d&&(d=N)})),d),v=A=>($,N)=>{const R=[...$];R[1]=[A,...R[1]],f(R,N)},b=new Map,m=(A,$)=>{if((vc?"production":void 0)!=="production"&&b.has(A))throw new Error("prop listener already exists");if(p.size){const N=$[3](v(A));b.set(A,[$,N])}else b.set(A,[$])},_=A=>{var $;const N=b.get(A);N&&(b.delete(A),($=N[1])==null||$.call(N))},C=A=>(p.add(A),p.size===1&&b.forEach(([N,R],L)=>{if((vc?"production":void 0)!=="production"&&R)throw new Error("remove already exists");const B=N[3](v(L));b.set(L,[N,B])}),()=>{p.delete(A),p.size===0&&b.forEach(([N,R],L)=>{R&&(R(),b.set(L,[N]))})}),T=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l)),M=e(T,{deleteProperty(A,$){const N=Reflect.get(A,$);_($);const R=Reflect.deleteProperty(A,$);return R&&f(["delete",[$],N]),R},set(A,$,N,R){const L=Reflect.has(A,$),B=Reflect.get(A,$,R);if(L&&(s(B,N)||o.has(N)&&s(B,o.get(N))))return!0;_($),Tl(N)&&(N=tD(N)||N);let H=N;if(N instanceof Promise)N.then(U=>{N.status="fulfilled",N.value=U,f(["resolve",[$],U])}).catch(U=>{N.status="rejected",N.reason=U,f(["reject",[$],U])});else{!Oi.has(N)&&t(N)&&(H=c(N));const U=!Co.has(H)&&Oi.get(H);U&&m($,U)}return Reflect.set(A,$,H,R),f(["set",[$],N,B]),!0}});o.set(l,M);const j=[T,w,n,C];return Oi.set(M,j),Reflect.ownKeys(l).forEach(A=>{const $=Object.getOwnPropertyDescriptor(l,A);"value"in $&&(M[A]=l[A],delete $.value,delete $.writable),Object.defineProperty(T,A,$)}),M})=>[c,Oi,Co,s,e,t,i,r,n,o,a],[iD]=sD();function st(s={}){return iD(s)}function ts(s,e,t){const i=Oi.get(s);(vc?"production":void 0)!=="production"&&!i&&console.warn("Please use proxy object");let r;const n=[],o=i[3];let a=!1;const l=o(h=>{n.push(h),r||(r=Promise.resolve().then(()=>{r=void 0,a&&e(n.splice(0))}))});return a=!0,()=>{a=!1,l()}}function Yo(s,e){const t=Oi.get(s);(vc?"production":void 0)!=="production"&&!t&&console.warn("Please use proxy object");const[i,r,n]=t;return n(i,r(),e)}function Un(s){return Co.add(s),s}function gs(s,e,t,i){let r=s[e];return ts(s,()=>{const n=s[e];Object.is(r,n)||t(r=n)})}function rD(s){const e=st({data:Array.from([]),has(t){return this.data.some(i=>i[0]===t)},set(t,i){const r=this.data.find(n=>n[0]===t);return r?r[1]=i:this.data.push([t,i]),this},get(t){var i;return(i=this.data.find(r=>r[0]===t))==null?void 0:i[1]},delete(t){const i=this.data.findIndex(r=>r[0]===t);return i===-1?!1:(this.data.splice(i,1),!0)},clear(){this.data.splice(0)},get size(){return this.data.length},toJSON(){return new Map(this.data)},forEach(t){this.data.forEach(i=>{t(i[1],i[0],this)})},keys(){return this.data.map(t=>t[0]).values()},values(){return this.data.map(t=>t[1]).values()},entries(){return new Map(this.data).entries()},get[Symbol.toStringTag](){return"Map"},[Symbol.iterator](){return this.entries()}});return Object.defineProperties(e,{data:{enumerable:!1},size:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(e),e}const Pl=(typeof P.process$1<"u"&&typeof P.process$1.env<"u"?P.process$1.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",Vt={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:Pl,SECURE_SITE_DASHBOARD:`${Pl}/dashboard`,SECURE_SITE_FAVICON:`${Pl}/images/favicon.png`,RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],WC_COINBASE_PAY_SDK_CHAINS:["ethereum","arbitrum","polygon","berachain","avalanche-c-chain","optimism","celo","base"],WC_COINBASE_PAY_SDK_FALLBACK_CHAIN:"ethereum",WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP:{Ethereum:"ethereum","Arbitrum One":"arbitrum",Polygon:"polygon",Berachain:"berachain",Avalanche:"avalanche-c-chain","OP Mainnet":"optimism",Celo:"celo",Base:"base"},WC_COINBASE_ONRAMP_APP_ID:"bf18c88d-495a-463b-b249-0b9d3656cf5e",SWAP_SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],SWAP_POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","METAL","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],BALANCE_SUPPORTED_CHAINS:["eip155","solana"],SWAP_SUPPORTED_NETWORKS:["eip155:1","eip155:42161","eip155:10","eip155:324","eip155:8453","eip155:56","eip155:137","eip155:100","eip155:43114","eip155:250","eip155:8217","eip155:1313161554"],NAMES_SUPPORTED_CHAIN_NAMESPACES:["eip155"],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:["eip155","solana"],ACTIVITY_ENABLED_CHAIN_NAMESPACES:["eip155","solana"],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in a new browser tab"},DEFAULT_FEATURES:{swaps:!0,onramp:!0,receive:!0,send:!0,email:!0,emailShowWallets:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],connectorTypeOrder:["walletConnect","recent","injected","featured","custom","external","recommended"],history:!0,analytics:!0,allWallets:!0,legalCheckbox:!1,smartSessions:!1,collapseWallets:!1,walletFeaturesOrder:["onramp","swaps","receive","send"],connectMethodsOrder:void 0},DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5",BITCOIN:"bitcoin"}},Z={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(s,e){return Date.now()-s>e},getActiveNetworkProps(){const s=Z.getActiveNamespace(),e=Z.getActiveCaipNetworkId(),t=e?e.split(":")[1]:void 0,i=t?isNaN(Number(t))?t:Number(t):void 0;return{namespace:s,caipNetworkId:e,chainId:i}},setWalletConnectDeepLink({name:s,href:e}){try{ae.setItem(ue.DEEPLINK_CHOICE,JSON.stringify({href:e,name:s}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const s=ae.getItem(ue.DEEPLINK_CHOICE);if(s)return JSON.parse(s)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{ae.removeItem(ue.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(s){try{ae.setItem(ue.ACTIVE_NAMESPACE,s)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(s){try{ae.setItem(ue.ACTIVE_CAIP_NETWORK_ID,s),Z.setActiveNamespace(s.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return ae.getItem(ue.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{ae.removeItem(ue.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(s){try{const e=$l(s);ae.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(s){try{const e=Z.getRecentWallets();e.find(i=>i.id===s.id)||(e.unshift(s),e.length>2&&e.pop(),ae.setItem(ue.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const s=ae.getItem(ue.RECENT_WALLETS);return s?JSON.parse(s):[]}catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(s,e){try{const t=$l(s);ae.setItem(t,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return ae.getItem(ue.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(s){if(s)try{const e=$l(s);return ae.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",s)}},setConnectedSocialProvider(s){try{ae.setItem(ue.CONNECTED_SOCIAL,s)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return ae.getItem(ue.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{ae.removeItem(ue.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return ae.getItem(ue.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return ae.getItem(ue.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(s){try{ae.setItem(ue.CONNECTION_STATUS,s)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return ae.getItem(ue.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const s=ae.getItem(ue.CONNECTED_NAMESPACES);return s?.length?s.split(","):[]}catch{return[]}},setConnectedNamespaces(s){try{const e=Array.from(new Set(s));ae.setItem(ue.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(s){try{const e=Z.getConnectedNamespaces();e.includes(s)||(e.push(s),Z.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(s){try{const e=Z.getConnectedNamespaces(),t=e.indexOf(s);t>-1&&(e.splice(t,1),Z.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return ae.getItem(ue.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(s){try{ae.setItem(ue.TELEGRAM_SOCIAL_PROVIDER,s)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{ae.removeItem(ue.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let s={};try{const e=ae.getItem(ue.PORTFOLIO_CACHE);s=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return s},removeAddressFromBalanceCache(s){try{const e=Z.getBalanceCache();ae.setItem(ue.PORTFOLIO_CACHE,JSON.stringify({...e,[s]:void 0}))}catch{console.info("Unable to remove address from balance cache",s)}},getBalanceCacheForCaipAddress(s){try{const t=Z.getBalanceCache()[s];if(t&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.portfolio))return t.balance;Z.removeAddressFromBalanceCache(s)}catch{console.info("Unable to get balance cache for address",s)}},updateBalanceCache(s){try{const e=Z.getBalanceCache();e[s.caipAddress]=s,ae.setItem(ue.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",s)}},getNativeBalanceCache(){let s={};try{const e=ae.getItem(ue.NATIVE_BALANCE_CACHE);s=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return s},removeAddressFromNativeBalanceCache(s){try{const e=Z.getBalanceCache();ae.setItem(ue.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[s]:void 0}))}catch{console.info("Unable to remove address from balance cache",s)}},getNativeBalanceCacheForCaipAddress(s){try{const t=Z.getNativeBalanceCache()[s];if(t&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.nativeBalance))return t;console.info("Discarding cache for address",s),Z.removeAddressFromBalanceCache(s)}catch{console.info("Unable to get balance cache for address",s)}},updateNativeBalanceCache(s){try{const e=Z.getNativeBalanceCache();e[s.caipAddress]=s,ae.setItem(ue.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",s)}},getEnsCache(){let s={};try{const e=ae.getItem(ue.ENS_CACHE);s=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return s},getEnsFromCacheForAddress(s){try{const t=Z.getEnsCache()[s];if(t&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.ens))return t.ens;Z.removeEnsFromCache(s)}catch{console.info("Unable to get ens name from cache",s)}},updateEnsCache(s){try{const e=Z.getEnsCache();e[s.address]=s,ae.setItem(ue.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",s)}},removeEnsFromCache(s){try{const e=Z.getEnsCache();ae.setItem(ue.ENS_CACHE,JSON.stringify({...e,[s]:void 0}))}catch{console.info("Unable to remove ens name from cache",s)}},getIdentityCache(){let s={};try{const e=ae.getItem(ue.IDENTITY_CACHE);s=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return s},getIdentityFromCacheForAddress(s){try{const t=Z.getIdentityCache()[s];if(t&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.identity))return t.identity;Z.removeIdentityFromCache(s)}catch{console.info("Unable to get identity from cache",s)}},updateIdentityCache(s){try{const e=Z.getIdentityCache();e[s.address]={identity:s.identity,timestamp:s.timestamp},ae.setItem(ue.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",s)}},removeIdentityFromCache(s){try{const e=Z.getIdentityCache();ae.setItem(ue.IDENTITY_CACHE,JSON.stringify({...e,[s]:void 0}))}catch{console.info("Unable to remove identity from cache",s)}},clearAddressCache(){try{ae.removeItem(ue.PORTFOLIO_CACHE),ae.removeItem(ue.NATIVE_BALANCE_CACHE),ae.removeItem(ue.ENS_CACHE),ae.removeItem(ue.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}}},le={isMobile(){return this.isClient()?!!(window?.matchMedia("(pointer:coarse)")?.matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(s,e=""){return s?.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){if(!this.isMobile())return!1;const s=window?.navigator.userAgent.toLowerCase();return le.isMobile()&&s.includes("android")},isIos(){if(!this.isMobile())return!1;const s=window?.navigator.userAgent.toLowerCase();return s.includes("iphone")||s.includes("ipad")},isSafari(){return this.isClient()?(window?.navigator.userAgent.toLowerCase()).includes("safari"):!1},isClient(){return typeof window<"u"},isPairingExpired(s){return s?s-Date.now()<=Vt.TEN_SEC_MS:!0},isAllowedRetry(s,e=Vt.ONE_SEC_MS){return Date.now()-s>=e},copyToClopboard(s){navigator.clipboard.writeText(s)},isIframe(){try{return window?.self!==window?.top}catch{return!1}},getPairingExpiry(){return Date.now()+Vt.FOUR_MINUTES_MS},getNetworkId(s){return s?.split(":")[1]},getPlainAddress(s){return s?.split(":")[2]},async wait(s){return new Promise(e=>{setTimeout(e,s)})},debounce(s,e=500){let t;return(...i)=>{function r(){s(...i)}t&&clearTimeout(t),t=setTimeout(r,e)}},isHttpUrl(s){return s.startsWith("http://")||s.startsWith("https://")},formatNativeUrl(s,e){if(le.isHttpUrl(s))return this.formatUniversalUrl(s,e);let t=s;t.includes("://")||(t=s.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),this.isTelegram()&&this.isAndroid()&&(e=encodeURIComponent(e));const i=encodeURIComponent(e);return{redirect:`${t}wc?uri=${i}`,href:t}},formatUniversalUrl(s,e){if(!le.isHttpUrl(s))return this.formatNativeUrl(s,e);let t=s;t.endsWith("/")||(t=`${t}/`);const i=encodeURIComponent(e);return{redirect:`${t}wc?uri=${i}`,href:t}},getOpenTargetForPlatform(s){return s==="popupWindow"?s:this.isTelegram()?Z.getTelegramSocialProvider()?"_top":"_blank":s},openHref(s,e,t){window?.open(s,this.getOpenTargetForPlatform(e),t||"noreferrer noopener")},returnOpenHref(s,e,t){return window?.open(s,this.getOpenTargetForPlatform(e),t||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},async preloadImage(s){const e=new Promise((t,i)=>{const r=new Image;r.onload=t,r.onerror=i,r.crossOrigin="anonymous",r.src=s});return Promise.race([e,le.wait(2e3)])},formatBalance(s,e){let t="0.000";if(typeof s=="string"){const i=Number(s);if(i){const r=Math.floor(i*1e3)/1e3;r&&(t=r.toString())}}return`${t}${e?` ${e}`:""}`},formatBalance2(s,e){let t;if(s==="0")t="0";else if(typeof s=="string"){const i=Number(s);i&&(t=i.toString().match(/^-?\d+(?:\.\d{0,3})?/u)?.[0])}return{value:t??"0",rest:t==="0"?"000":"",symbol:e}},getApiUrl(){return te.W3M_API_URL},getBlockchainApiUrl(){return te.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return te.PULSE_API_URL},getUUID(){return crypto?.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,s=>{const e=Math.random()*16|0;return(s==="x"?e:e&3|8).toString(16)})},parseError(s){return typeof s=="string"?s:typeof s?.issues?.[0]?.message=="string"?s.issues[0].message:s instanceof Error?s.message:"Unknown error"},sortRequestedNetworks(s,e=[]){const t={};return e&&s&&(s.forEach((i,r)=>{t[i]=r}),e.sort((i,r)=>{const n=t[i.id],o=t[r.id];return n!==void 0&&o!==void 0?n-o:n!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(s){let e=0;for(const t of s)e+=t.value??0;return e},formatTokenBalance(s){const e=s.toFixed(2),[t,i]=e.split(".");return{dollars:t,pennies:i}},isAddress(s,e="eip155"){switch(e){case"eip155":if(/^(?:0x)?[0-9a-f]{40}$/iu.test(s)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(s)||/^(?:0x)?[0-9A-F]{40}$/iu.test(s))return!0}else return!1;return!1;case"solana":return/[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(s);default:return!1}},uniqueBy(s,e){const t=new Set;return s.filter(i=>{const r=i[e];return t.has(r)?!1:(t.add(r),!0)})},generateSdkVersion(s,e,t){const r=s.length===0?Vt.ADAPTER_TYPES.UNIVERSAL:s.map(n=>n.adapterType).join(",");return`${e}-${r}-${t}`},createAccount(s,e,t,i,r){return{namespace:s,address:e,type:t,publicKey:i,path:r}},isCaipAddress(s){if(typeof s!="string")return!1;const e=s.split(":"),t=e[0];return e.filter(Boolean).length===3&&t in te.CHAIN_NAME_MAP},isMac(){const s=window?.navigator.userAgent.toLowerCase();return s.includes("macintosh")&&!s.includes("safari")},formatTelegramSocialLoginUrl(s){const e=`--${encodeURIComponent(window?.location.href)}`,t="state=";if(new URL(s).host==="auth.magic.link"){const r="provider_authorization_url=",n=s.substring(s.indexOf(r)+r.length),o=this.injectIntoUrl(decodeURIComponent(n),t,e);return s.replace(n,encodeURIComponent(o))}return this.injectIntoUrl(s,t,e)},injectIntoUrl(s,e,t){const i=s.indexOf(e);if(i===-1)throw new Error(`${e} parameter not found in the URL: ${s}`);const r=s.indexOf("&",i),n=e.length,o=r!==-1?r:s.length,a=s.substring(0,i+n),c=s.substring(i+n,o),l=s.substring(r),h=c+t;return a+h+l}};async function ho(...s){const e=await fetch(...s);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class Vc{constructor({baseUrl:e,clientId:t}){this.baseUrl=e,this.clientId=t}async get({headers:e,signal:t,cache:i,...r}){const n=this.createUrl(r);return(await ho(n,{method:"GET",headers:e,signal:t,cache:i})).json()}async getBlob({headers:e,signal:t,...i}){const r=this.createUrl(i);return(await ho(r,{method:"GET",headers:e,signal:t})).blob()}async post({body:e,headers:t,signal:i,...r}){const n=this.createUrl(r);return(await ho(n,{method:"POST",headers:t,body:e?JSON.stringify(e):void 0,signal:i})).json()}async put({body:e,headers:t,signal:i,...r}){const n=this.createUrl(r);return(await ho(n,{method:"PUT",headers:t,body:e?JSON.stringify(e):void 0,signal:i})).json()}async delete({body:e,headers:t,signal:i,...r}){const n=this.createUrl(r);return(await ho(n,{method:"DELETE",headers:t,body:e?JSON.stringify(e):void 0,signal:i})).json()}createUrl({path:e,params:t}){const i=new URL(e,this.baseUrl);return t&&Object.entries(t).forEach(([r,n])=>{n&&i.searchParams.append(r,n)}),this.clientId&&i.searchParams.append("clientId",this.clientId),i}}const nD={handleSolanaDeeplinkRedirect(s){if(I.state.activeChain===te.CHAIN.SOLANA){const e=window.location.href,t=encodeURIComponent(e);if(s==="Phantom"&&!("phantom"in window)){const i=e.startsWith("https")?"https":"http",r=e.split("/")[2],n=encodeURIComponent(`${i}://${r}`);window.location.href=`https://phantom.app/ul/browse/${t}?ref=${n}`}s==="Coinbase Wallet"&&!("coinbaseSolana"in window)&&(window.location.href=`https://go.cb-w.com/dapp?cb_url=${t}`)}}},is=st({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),Ns={state:is,subscribeNetworkImages(s){return ts(is.networkImages,()=>s(is.networkImages))},subscribeKey(s,e){return gs(is,s,e)},subscribe(s){return ts(is,()=>s(is))},setWalletImage(s,e){is.walletImages[s]=e},setNetworkImage(s,e){is.networkImages[s]=e},setChainImage(s,e){is.chainImages[s]=e},setConnectorImage(s,e){is.connectorImages={...is.connectorImages,[s]:e}},setTokenImage(s,e){is.tokenImages[s]=e},setCurrencyImage(s,e){is.currencyImages[s]=e}},oD={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00"},xl=st({networkImagePromises:{}}),Tu={async fetchWalletImage(s){if(s)return await he._fetchWalletImage(s),this.getWalletImageById(s)},async fetchNetworkImage(s){if(!s)return;const e=this.getNetworkImageById(s);return e||(xl.networkImagePromises[s]||(xl.networkImagePromises[s]=he._fetchNetworkImage(s)),await xl.networkImagePromises[s],this.getNetworkImageById(s))},getWalletImageById(s){if(s)return Ns.state.walletImages[s]},getWalletImage(s){if(s?.image_url)return s?.image_url;if(s?.image_id)return Ns.state.walletImages[s.image_id]},getNetworkImage(s){if(s?.assets?.imageUrl)return s?.assets?.imageUrl;if(s?.assets?.imageId)return Ns.state.networkImages[s.assets.imageId]},getNetworkImageById(s){if(s)return Ns.state.networkImages[s]},getConnectorImage(s){if(s?.imageUrl)return s.imageUrl;if(s?.imageId)return Ns.state.connectorImages[s.imageId]},getChainImage(s){return Ns.state.networkImages[oD[s]]}},aD={getFeatureValue(s,e){const t=e?.[s];return t===void 0?Vt.DEFAULT_FEATURES[s]:t},filterSocialsByPlatform(s){if(!s||!s.length)return s;if(le.isTelegram()){if(le.isIos())return s.filter(e=>e!=="google");if(le.isMac())return s.filter(e=>e!=="x");if(le.isAndroid())return s.filter(e=>!["facebook","x"].includes(e))}return s}},ie=st({features:Vt.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:Vt.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0}),z={state:ie,subscribeKey(s,e){return gs(ie,s,e)},setOptions(s){Object.assign(ie,s)},setFeatures(s){if(!s)return;ie.features||(ie.features=Vt.DEFAULT_FEATURES);const e={...ie.features,...s};ie.features=e,ie.features.socials&&(ie.features.socials=aD.filterSocialsByPlatform(ie.features.socials))},setProjectId(s){ie.projectId=s},setCustomRpcUrls(s){ie.customRpcUrls=s},setAllWallets(s){ie.allWallets=s},setIncludeWalletIds(s){ie.includeWalletIds=s},setExcludeWalletIds(s){ie.excludeWalletIds=s},setFeaturedWalletIds(s){ie.featuredWalletIds=s},setTokens(s){ie.tokens=s},setTermsConditionsUrl(s){ie.termsConditionsUrl=s},setPrivacyPolicyUrl(s){ie.privacyPolicyUrl=s},setCustomWallets(s){ie.customWallets=s},setIsSiweEnabled(s){ie.isSiweEnabled=s},setIsUniversalProvider(s){ie.isUniversalProvider=s},setSdkVersion(s){ie.sdkVersion=s},setMetadata(s){ie.metadata=s},setDisableAppend(s){ie.disableAppend=s},setEIP6963Enabled(s){ie.enableEIP6963=s},setDebug(s){ie.debug=s},setEnableWalletConnect(s){ie.enableWalletConnect=s},setEnableWalletGuide(s){ie.enableWalletGuide=s},setEnableAuthLogger(s){ie.enableAuthLogger=s},setEnableWallets(s){ie.enableWallets=s},setHasMultipleAddresses(s){ie.hasMultipleAddresses=s},setSIWX(s){ie.siwx=s},setConnectMethodsOrder(s){ie.features={...ie.features,connectMethodsOrder:s}},setWalletFeaturesOrder(s){ie.features={...ie.features,walletFeaturesOrder:s}},setSocialsOrder(s){ie.features={...ie.features,socials:s}},setCollapseWallets(s){ie.features={...ie.features,collapseWallets:s}},setEnableEmbedded(s){ie.enableEmbedded=s},setAllowUnsupportedChain(s){ie.allowUnsupportedChain=s},setManualWCControl(s){ie.manualWCControl=s},setEnableNetworkSwitch(s){ie.enableNetworkSwitch=s},setDefaultAccountTypes(s={}){Object.entries(s).forEach(([e,t])=>{t&&(ie.defaultAccountTypes[e]=t)})},setUniversalProviderConfigOverride(s){ie.universalProviderConfigOverride=s},getUniversalProviderConfigOverride(){return ie.universalProviderConfigOverride},getSnapshot(){return Yo(ie)}},Si=st({message:"",variant:"info",open:!1}),Do={state:Si,subscribeKey(s,e){return gs(Si,s,e)},open(s,e){const{debug:t}=z.state,{shortMessage:i,longMessage:r}=s;t&&(Si.message=i,Si.variant=e,Si.open=!0),r&&console.error(typeof r=="function"?r():r)},close(){Si.open=!1,Si.message="",Si.variant="info"}},cD=le.getAnalyticsUrl(),lD=new Vc({baseUrl:cD,clientId:null}),hD=["MODAL_CREATED"],ci=st({timestamp:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"}}),qe={state:ci,subscribe(s){return ts(ci,()=>s(ci))},getSdkProperties(){const{projectId:s,sdkType:e,sdkVersion:t}=z.state;return{projectId:s,st:e,sv:t||"html-wagmi-4.2.2"}},async _sendAnalyticsEvent(s){try{const e=se.state.address;if(hD.includes(s.data.event)||typeof window>"u")return;await lD.post({path:"/e",params:qe.getSdkProperties(),body:{eventId:le.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:s.timestamp,props:{...s.data,address:e}}}),ci.reportedErrors.FORBIDDEN=!1}catch(e){e instanceof Error&&e.cause instanceof Response&&e.cause.status===te.HTTP_STATUS_CODES.FORBIDDEN&&!ci.reportedErrors.FORBIDDEN&&(Do.open({shortMessage:"Invalid App Configuration",longMessage:`Origin ${No()?window.origin:"uknown"} not found on Allowlist - update configuration on cloud.reown.com`},"error"),ci.reportedErrors.FORBIDDEN=!0)}},sendEvent(s){ci.timestamp=Date.now(),ci.data=s,z.state.features?.analytics&&qe._sendAnalyticsEvent(ci)}},uD=le.getApiUrl(),Lt=new Vc({baseUrl:uD,clientId:null}),dD="40",hg="4",pD=20,Oe=st({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1}),he={state:Oe,subscribeKey(s,e){return gs(Oe,s,e)},_getSdkProperties(){const{projectId:s,sdkType:e,sdkVersion:t}=z.state;return{projectId:s,st:e||"appkit",sv:t||"html-wagmi-4.2.2"}},_filterOutExtensions(s){return z.state.isUniversalProvider?s.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):s},async _fetchWalletImage(s){const e=`${Lt.baseUrl}/getWalletImage/${s}`,t=await Lt.getBlob({path:e,params:he._getSdkProperties()});Ns.setWalletImage(s,URL.createObjectURL(t))},async _fetchNetworkImage(s){const e=`${Lt.baseUrl}/public/getAssetImage/${s}`,t=await Lt.getBlob({path:e,params:he._getSdkProperties()});Ns.setNetworkImage(s,URL.createObjectURL(t))},async _fetchConnectorImage(s){const e=`${Lt.baseUrl}/public/getAssetImage/${s}`,t=await Lt.getBlob({path:e,params:he._getSdkProperties()});Ns.setConnectorImage(s,URL.createObjectURL(t))},async _fetchCurrencyImage(s){const e=`${Lt.baseUrl}/public/getCurrencyImage/${s}`,t=await Lt.getBlob({path:e,params:he._getSdkProperties()});Ns.setCurrencyImage(s,URL.createObjectURL(t))},async _fetchTokenImage(s){const e=`${Lt.baseUrl}/public/getTokenImage/${s}`,t=await Lt.getBlob({path:e,params:he._getSdkProperties()});Ns.setTokenImage(s,URL.createObjectURL(t))},async fetchNetworkImages(){const e=I.getAllRequestedCaipNetworks()?.map(({assets:t})=>t?.imageId).filter(Boolean).filter(t=>!Tu.getNetworkImageById(t));e&&await Promise.allSettled(e.map(t=>he._fetchNetworkImage(t)))},async fetchConnectorImages(){const{connectors:s}=ce.state,e=s.map(({imageId:t})=>t).filter(Boolean);await Promise.allSettled(e.map(t=>he._fetchConnectorImage(t)))},async fetchCurrencyImages(s=[]){await Promise.allSettled(s.map(e=>he._fetchCurrencyImage(e)))},async fetchTokenImages(s=[]){await Promise.allSettled(s.map(e=>he._fetchTokenImage(e)))},async fetchFeaturedWallets(){const{featuredWalletIds:s}=z.state;if(s?.length){const{data:e}=await Lt.get({path:"/getWallets",params:{...he._getSdkProperties(),page:"1",entries:s?.length?String(s.length):hg,include:s?.join(",")}});e.sort((i,r)=>s.indexOf(i.id)-s.indexOf(r.id));const t=e.map(i=>i.image_id).filter(Boolean);await Promise.allSettled(t.map(i=>he._fetchWalletImage(i))),Oe.featured=e,Oe.allFeatured=e}},async fetchRecommendedWallets(){try{Oe.isFetchingRecommendedWallets=!0;const{includeWalletIds:s,excludeWalletIds:e,featuredWalletIds:t}=z.state,i=[...e??[],...t??[]].filter(Boolean),r=I.getRequestedCaipNetworkIds().join(","),{data:n,count:o}=await Lt.get({path:"/getWallets",params:{...he._getSdkProperties(),page:"1",chains:r,entries:hg,include:s?.join(","),exclude:i?.join(",")}}),a=Z.getRecentWallets(),c=n.map(h=>h.image_id).filter(Boolean),l=a.map(h=>h.image_id).filter(Boolean);await Promise.allSettled([...c,...l].map(h=>he._fetchWalletImage(h))),Oe.recommended=n,Oe.allRecommended=n,Oe.count=o??0}catch{}finally{Oe.isFetchingRecommendedWallets=!1}},async fetchWallets({page:s}){const{includeWalletIds:e,excludeWalletIds:t,featuredWalletIds:i}=z.state,r=I.getRequestedCaipNetworkIds().join(","),n=[...Oe.recommended.map(({id:l})=>l),...t??[],...i??[]].filter(Boolean),{data:o,count:a}=await Lt.get({path:"/getWallets",params:{...he._getSdkProperties(),page:String(s),entries:dD,chains:r,include:e?.join(","),exclude:n.join(",")}}),c=o.slice(0,pD).map(l=>l.image_id).filter(Boolean);await Promise.allSettled(c.map(l=>he._fetchWalletImage(l))),Oe.wallets=le.uniqueBy([...Oe.wallets,...he._filterOutExtensions(o)],"id"),Oe.count=a>Oe.count?a:Oe.count,Oe.page=s},async initializeExcludedWallets({ids:s}){const e=I.getRequestedCaipNetworkIds().join(","),{data:t}=await Lt.get({path:"/getWallets",params:{...he._getSdkProperties(),page:"1",entries:String(s.length),chains:e,include:s?.join(",")}});t&&t.forEach(i=>{i?.rdns&&Oe.excludedWallets.push({rdns:i.rdns,name:i.name})})},async searchWallet({search:s,badge:e}){const{includeWalletIds:t,excludeWalletIds:i}=z.state;Oe.search=[];const r=I.getRequestedCaipNetworkIds().join(","),{data:n}=await Lt.get({path:"/getWallets",params:{...he._getSdkProperties(),page:"1",entries:"100",search:s?.trim(),badge_type:e,chains:r,include:t?.join(","),exclude:i?.join(",")}});qe.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:e??"",search:s??""}});const o=n.map(a=>a.image_id).filter(Boolean);await Promise.allSettled([...o.map(a=>he._fetchWalletImage(a)),le.wait(300)]),Oe.search=he._filterOutExtensions(n)},initPromise(s,e){const t=Oe.promises[s];return t||(Oe.promises[s]=e())},prefetch({fetchConnectorImages:s=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:t=!0,fetchNetworkImages:i=!0}={}){const r=[s&&he.initPromise("connectorImages",he.fetchConnectorImages),e&&he.initPromise("featuredWallets",he.fetchFeaturedWallets),t&&he.initPromise("recommendedWallets",he.fetchRecommendedWallets),i&&he.initPromise("networkImages",he.fetchNetworkImages)].filter(Boolean);return Promise.allSettled(r)},prefetchAnalyticsConfig(){z.state.features?.analytics&&he.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:s}=await Lt.get({path:"/getAnalyticsConfig",params:he._getSdkProperties()});z.setFeatures({analytics:s})}catch{z.setFeatures({analytics:!1})}},setFilterByNamespace(s){if(!s){Oe.featured=Oe.allFeatured,Oe.recommended=Oe.allRecommended;return}const e=I.getRequestedCaipNetworkIds().join(",");Oe.featured=Oe.allFeatured.filter(t=>t.chains?.some(i=>e.includes(i))),Oe.recommended=Oe.allRecommended.filter(t=>t.chains?.some(i=>e.includes(i)))}},$e=st({view:"Connect",history:["Connect"],transactionStack:[]}),xe={state:$e,subscribeKey(s,e){return gs($e,s,e)},pushTransactionStack(s){$e.transactionStack.push(s)},popTransactionStack(s){const e=$e.transactionStack.pop();if(e)if(s)this.goBack(),e?.onCancel?.();else{if(e.goBack)this.goBack();else if(e.replace){const i=$e.history.indexOf("ConnectingSiwe");i>0?this.goBackToIndex(i-1):(at.close(),$e.history=[])}else e.view&&this.reset(e.view);e?.onSuccess?.()}},push(s,e){s!==$e.view&&($e.view=s,$e.history.push(s),$e.data=e)},reset(s,e){$e.view=s,$e.history=[s],$e.data=e},replace(s,e){$e.history.at(-1)===s||($e.view=s,$e.history[$e.history.length-1]=s,$e.data=e)},goBack(){const s=!I.state.activeCaipAddress&&this.state.view==="ConnectingFarcaster";if($e.history.length>1&&!$e.history.includes("UnsupportedChain")){$e.history.pop();const[e]=$e.history.slice(-1);e&&($e.view=e)}else at.close();$e.data?.wallet&&($e.data.wallet=void 0),setTimeout(()=>{if(s){se.setFarcasterUrl(void 0,I.state.activeChain);const e=ce.getAuthConnector();e?.provider?.reload();const t=Yo(z.state);e?.provider?.syncDappData?.({metadata:t.metadata,sdkVersion:t.sdkVersion,projectId:t.projectId,sdkType:t.sdkType})}},100)},goBackToIndex(s){if($e.history.length>1){$e.history=$e.history.slice(0,s+1);const[e]=$e.history.slice(-1);e&&($e.view=e)}}},li=st({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),Ft={state:li,subscribe(s){return ts(li,()=>s(li))},setThemeMode(s){li.themeMode=s;try{const e=ce.getAuthConnector();if(e){const t=Ft.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:s,themeVariables:t,w3mThemeVariables:Ui(t,s)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(s){li.themeVariables={...li.themeVariables,...s};try{const e=ce.getAuthConnector();if(e){const t=Ft.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:t,w3mThemeVariables:Ui(li.themeVariables,li.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return Yo(li)}},sm={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0},Me=st({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:{...sm}}),ce={state:Me,subscribe(s){return ts(Me,()=>{s(Me)})},subscribeKey(s,e){return gs(Me,s,e)},initialize(s){s.forEach(e=>{const t=Z.getConnectedConnectorId(e);t&&this.setConnectorId(t,e)})},setActiveConnector(s){s&&(Me.activeConnector=Un(s))},setConnectors(s){s.filter(t=>!Me.allConnectors.some(i=>i.id===t.id&&this.getConnectorName(i.name)===this.getConnectorName(t.name)&&i.chain===t.chain)).forEach(t=>{t.type!=="MULTI_CHAIN"&&Me.allConnectors.push(Un(t))}),Me.connectors=this.mergeMultiChainConnectors(Me.allConnectors)},removeAdapter(s){Me.allConnectors=Me.allConnectors.filter(e=>e.chain!==s),Me.connectors=this.mergeMultiChainConnectors(Me.allConnectors)},mergeMultiChainConnectors(s){const e=this.generateConnectorMapByName(s),t=[];return e.forEach(i=>{const r=i[0],n=r?.id===te.CONNECTOR_ID.AUTH;i.length>1&&r?t.push({name:r.name,imageUrl:r.imageUrl,imageId:r.imageId,connectors:[...i],type:n?"AUTH":"MULTI_CHAIN",chain:"eip155",id:r?.id||""}):r&&t.push(r)}),t},generateConnectorMapByName(s){const e=new Map;return s.forEach(t=>{const{name:i}=t,r=this.getConnectorName(i);if(!r)return;const n=e.get(r)||[];n.find(a=>a.chain===t.chain)||n.push(t),e.set(r,n)}),e},getConnectorName(s){return s&&({"Trust Wallet":"Trust"}[s]||s)},getUniqueConnectorsByName(s){const e=[];return s.forEach(t=>{e.find(i=>i.chain===t.chain)||e.push(t)}),e},addConnector(s){if(s.id===te.CONNECTOR_ID.AUTH){const e=s,t=Yo(z.state),i=Ft.getSnapshot().themeMode,r=Ft.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:t.metadata,sdkVersion:t.sdkVersion,projectId:t.projectId,sdkType:t.sdkType}),e?.provider?.syncTheme({themeMode:i,themeVariables:r,w3mThemeVariables:Ui(r,i)}),this.setConnectors([s])}else this.setConnectors([s])},getAuthConnector(s){const e=s||I.state.activeChain,t=Me.connectors.find(i=>i.id===te.CONNECTOR_ID.AUTH);if(t)return t?.connectors?.length?t.connectors.find(r=>r.chain===e):t},getAnnouncedConnectorRdns(){return Me.connectors.filter(s=>s.type==="ANNOUNCED").map(s=>s.info?.rdns)},getConnectorById(s){return Me.allConnectors.find(e=>e.id===s)},getConnector(s,e){return Me.allConnectors.filter(i=>i.chain===I.state.activeChain).find(i=>i.explorerId===s||i.info?.rdns===e)},syncIfAuthConnector(s){if(s.id!=="ID_AUTH")return;const e=s,t=Yo(z.state),i=Ft.getSnapshot().themeMode,r=Ft.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:t.metadata,sdkVersion:t.sdkVersion,sdkType:t.sdkType,projectId:t.projectId}),e.provider.syncTheme({themeMode:i,themeVariables:r,w3mThemeVariables:Ui(r,i)})},getConnectorsByNamespace(s){const e=Me.allConnectors.filter(t=>t.chain===s);return this.mergeMultiChainConnectors(e)},selectWalletConnector(s){const e=ce.getConnector(s.id,s.rdns);I.state.activeChain===te.CHAIN.SOLANA&&nD.handleSolanaDeeplinkRedirect(e?.name||s.name||""),e?xe.push("ConnectingExternal",{connector:e}):xe.push("ConnectingWalletConnect",{wallet:s})},getConnectors(s){return s?this.getConnectorsByNamespace(s):this.mergeMultiChainConnectors(Me.allConnectors)},setFilterByNamespace(s){Me.filterByNamespace=s,Me.connectors=this.getConnectors(s),he.setFilterByNamespace(s)},setConnectorId(s,e){s&&(Me.activeConnectorIds={...Me.activeConnectorIds,[e]:s},Z.setConnectedConnectorId(e,s))},removeConnectorId(s){Me.activeConnectorIds={...Me.activeConnectorIds,[s]:void 0},Z.deleteConnectedConnectorId(s)},getConnectorId(s){if(s)return Me.activeConnectorIds[s]},isConnected(s){return s?!!Me.activeConnectorIds[s]:Object.values(Me.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){Me.activeConnectorIds={...sm}}};function Ba(s,e){return ce.getConnectorId(s)===e}function gD(s){const e=Array.from(I.state.chains.keys());let t=[];return s?(t.push([s,I.state.chains.get(s)]),Ba(s,te.CONNECTOR_ID.WALLET_CONNECT)?e.forEach(i=>{i!==s&&Ba(i,te.CONNECTOR_ID.WALLET_CONNECT)&&t.push([i,I.state.chains.get(i)])}):Ba(s,te.CONNECTOR_ID.AUTH)&&e.forEach(i=>{i!==s&&Ba(i,te.CONNECTOR_ID.AUTH)&&t.push([i,I.state.chains.get(i)])})):t=Array.from(I.state.chains.entries()),t}const fD="https://secure.walletconnect.org/sdk";typeof P.process$1<"u"&&typeof P.process$1.env<"u"&&P.process$1.env.NEXT_PUBLIC_SECURE_SITE_SDK_URL;typeof P.process$1<"u"&&typeof P.process$1.env<"u"&&P.process$1.env.NEXT_PUBLIC_DEFAULT_LOG_LEVEL;typeof P.process$1<"u"&&typeof P.process$1.env<"u"&&P.process$1.env.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION;const Mi={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints","wallet_getAssets"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},nr=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),dt=st({...nr}),Et={state:dt,subscribeKey(s,e){return gs(dt,s,e)},showLoading(s,e={}){this._showMessage({message:s,variant:"loading",...e})},showSuccess(s){this._showMessage({message:s,variant:"success"})},showSvg(s,e){this._showMessage({message:s,svg:e})},showError(s){const e=le.parseError(s);this._showMessage({message:e,variant:"error"})},hide(){dt.message=nr.message,dt.variant=nr.variant,dt.svg=nr.svg,dt.open=nr.open,dt.autoClose=nr.autoClose},_showMessage({message:s,svg:e,variant:t="success",autoClose:i=nr.autoClose}){dt.open?(dt.open=!1,setTimeout(()=>{dt.message=s,dt.variant=t,dt.svg=e,dt.open=!0,dt.autoClose=i},150)):(dt.message=s,dt.variant=t,dt.svg=e,dt.open=!0,dt.autoClose=i)}},On={getSIWX(){return z.state.siwx},async initializeIfEnabled(){const s=z.state.siwx,e=I.getActiveCaipAddress();if(!(s&&e))return;const[t,i,r]=e.split(":");if(I.checkIfSupportedNetwork(t))try{if((await s.getSessions(`${t}:${i}`,r)).length)return;await at.open({view:"SIWXSignMessage"})}catch(n){console.error("SIWXUtil:initializeIfEnabled",n),qe.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties()}),await Fe._getClient()?.disconnect().catch(console.error),xe.reset("Connect"),Et.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const s=z.state.siwx,e=le.getPlainAddress(I.getActiveCaipAddress()),t=I.getActiveCaipNetwork(),i=Fe._getClient();if(!s)throw new Error("SIWX is not enabled");if(!e)throw new Error("No ActiveCaipAddress found");if(!t)throw new Error("No ActiveCaipNetwork or client found");if(!i)throw new Error("No ConnectionController client found");try{const r=await s.createMessage({chainId:t.caipNetworkId,accountAddress:e}),n=r.toString();ce.getConnectorId(t.chainNamespace)===te.CONNECTOR_ID.AUTH&&xe.pushTransactionStack({view:null,goBack:!1,replace:!0});const a=await i.signMessage(n);await s.addSession({data:r,message:n,signature:a}),at.close(),qe.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(r){const n=this.getSIWXEventProperties();(!at.state.open||xe.state.view==="ApproveTransaction")&&await at.open({view:"SIWXSignMessage"}),n.isSmartAccount?Et.showError("This application might not support Smart Accounts"):Et.showError("Signature declined"),qe.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:n}),console.error("SWIXUtil:requestSignMessage",r)}},async cancelSignMessage(){try{this.getSIWX()?.getRequired?.()?await Fe.disconnect():at.close(),xe.reset("Connect"),qe.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(s){console.error("SIWXUtil:cancelSignMessage",s)}},async getSessions(){const s=z.state.siwx,e=le.getPlainAddress(I.getActiveCaipAddress()),t=I.getActiveCaipNetwork();return s&&e&&t?s.getSessions(t.caipNetworkId,e):[]},async isSIWXCloseDisabled(){const s=this.getSIWX();if(s){const e=xe.state.view==="ApproveTransaction",t=xe.state.view==="SIWXSignMessage";if(e||t)return s.getRequired?.()&&(await this.getSessions()).length===0}return!1},async universalProviderAuthenticate({universalProvider:s,chains:e,methods:t}){const i=On.getSIWX(),r=new Set(e.map(a=>a.split(":")[0]));if(!i||r.size!==1||!r.has("eip155"))return!1;const n=await i.createMessage({chainId:I.getActiveCaipNetwork()?.caipNetworkId||"",accountAddress:""}),o=await s.authenticate({nonce:n.nonce,domain:n.domain,uri:n.uri,exp:n.expirationTime,iat:n.issuedAt,nbf:n.notBefore,requestId:n.requestId,version:n.version,resources:n.resources,statement:n.statement,chainId:n.chainId,methods:t,chains:[n.chainId,...e.filter(a=>a!==n.chainId)]});if(Et.showLoading("Authenticating...",{autoClose:!1}),se.setConnectedWalletInfo({...o.session.peer.metadata,name:o.session.peer.metadata.name,icon:o.session.peer.metadata.icons?.[0],type:"WALLET_CONNECT"},Array.from(r)[0]),o?.auths?.length){const a=o.auths.map(c=>{const l=s.client.formatAuthMessage({request:c.p,iss:c.p.iss});return{data:{...c.p,accountAddress:c.p.iss.split(":").slice(-1).join(""),chainId:c.p.iss.split(":").slice(2,4).join(":"),uri:c.p.aud,version:c.p.version||n.version,expirationTime:c.p.exp,issuedAt:c.p.iat,notBefore:c.p.nbf},message:l,signature:c.s.s,cacao:c}});try{await i.setSessions(a),qe.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:On.getSIWXEventProperties()})}catch(c){throw console.error("SIWX:universalProviderAuth - failed to set sessions",c),qe.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:On.getSIWXEventProperties()}),await s.disconnect().catch(console.error),c}finally{Et.hide()}}return!0},getSIWXEventProperties(){return{network:I.state.activeCaipNetwork?.caipNetworkId||"",isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT}},async clearSessions(){const s=this.getSIWX();s&&await s.setSessions([])}},He=st({transactions:[],coinbaseTransactions:{},transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),wD={state:He,subscribe(s){return ts(He,()=>s(He))},setLastNetworkInView(s){He.lastNetworkInView=s},async fetchTransactions(s,e){if(!s)throw new Error("Transactions can't be fetched without an accountAddress");He.loading=!0;try{const t=await re.fetchTransactions({account:s,cursor:He.next,onramp:e,cache:e==="coinbase"?"no-cache":void 0,chainId:I.state.activeCaipNetwork?.caipNetworkId}),i=this.filterSpamTransactions(t.data),r=this.filterByConnectedChain(i),n=[...He.transactions,...r];He.loading=!1,e==="coinbase"?He.coinbaseTransactions=this.groupTransactionsByYearAndMonth(He.coinbaseTransactions,t.data):(He.transactions=n,He.transactionsByYear=this.groupTransactionsByYearAndMonth(He.transactionsByYear,r)),He.empty=n.length===0,He.next=t.next?t.next:void 0}catch{qe.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:s,projectId:z.state.projectId,cursor:He.next,isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT}}),Et.showError("Failed to fetch transactions"),He.loading=!1,He.empty=!0,He.next=void 0}},groupTransactionsByYearAndMonth(s={},e=[]){const t=s;return e.forEach(i=>{const r=new Date(i.metadata.minedAt).getFullYear(),n=new Date(i.metadata.minedAt).getMonth(),o=t[r]??{},c=(o[n]??[]).filter(l=>l.id!==i.id);t[r]={...o,[n]:[...c,i].sort((l,h)=>new Date(h.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),t},filterSpamTransactions(s){return s.filter(e=>!e.transfers.every(i=>i.nft_info?.flags.is_spam===!0))},filterByConnectedChain(s){const e=I.state.activeCaipNetwork?.caipNetworkId;return s.filter(i=>i.metadata.chain===e)},clearCursor(){He.next=void 0},resetTransactions(){He.transactions=[],He.transactionsByYear={},He.lastNetworkInView=void 0,He.loading=!1,He.empty=!1,He.next=void 0}},Ze=st({wcError:!1,buffering:!1,status:"disconnected"});let Xr;const Fe={state:Ze,subscribeKey(s,e){return gs(Ze,s,e)},_getClient(){return Ze._client},setClient(s){Ze._client=Un(s)},async connectWalletConnect(){if(le.isTelegram()||le.isSafari()&&le.isIos()){if(Xr){await Xr,Xr=void 0;return}if(!le.isPairingExpired(Ze?.wcPairingExpiry)){const s=Ze.wcUri;Ze.wcUri=s;return}Xr=this._getClient()?.connectWalletConnect?.().catch(()=>{}),this.state.status="connecting",await Xr,Xr=void 0,Ze.wcPairingExpiry=void 0,this.state.status="connected"}else await this._getClient()?.connectWalletConnect?.()},async connectExternal(s,e,t=!0){await this._getClient()?.connectExternal?.(s),t&&I.setActiveNamespace(e)},async reconnectExternal(s){await this._getClient()?.reconnectExternal?.(s);const e=s.chain||I.state.activeChain;e&&ce.setConnectorId(s.id,e)},async setPreferredAccountType(s){at.setLoading(!0,I.state.activeChain);const e=ce.getAuthConnector();e&&(await e?.provider.setPreferredAccount(s),await this.reconnectExternal(e),at.setLoading(!1,I.state.activeChain),qe.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:s,network:I.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(s){return this._getClient()?.signMessage(s)},parseUnits(s,e){return this._getClient()?.parseUnits(s,e)},formatUnits(s,e){return this._getClient()?.formatUnits(s,e)},async sendTransaction(s){return this._getClient()?.sendTransaction(s)},async getCapabilities(s){return this._getClient()?.getCapabilities(s)},async grantPermissions(s){return this._getClient()?.grantPermissions(s)},async walletGetAssets(s){return this._getClient()?.walletGetAssets(s)??{}},async estimateGas(s){return this._getClient()?.estimateGas(s)},async writeContract(s){return this._getClient()?.writeContract(s)},async getEnsAddress(s){return this._getClient()?.getEnsAddress(s)},async getEnsAvatar(s){return this._getClient()?.getEnsAvatar(s)},checkInstalled(s){return this._getClient()?.checkInstalled?.(s)||!1},resetWcConnection(){Ze.wcUri=void 0,Ze.wcPairingExpiry=void 0,Ze.wcLinking=void 0,Ze.recentWallet=void 0,Ze.status="disconnected",wD.resetTransactions(),Z.deleteWalletConnectDeepLink()},resetUri(){Ze.wcUri=void 0,Ze.wcPairingExpiry=void 0},finalizeWcConnection(){const{wcLinking:s,recentWallet:e}=Fe.state;s&&Z.setWalletConnectDeepLink(s),e&&Z.setAppKitRecent(e),qe.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:s?"mobile":"qrcode",name:xe.state.data?.wallet?.name||"Unknown"}})},setWcBasic(s){Ze.wcBasic=s},setUri(s){Ze.wcUri=s,Ze.wcPairingExpiry=le.getPairingExpiry()},setWcLinking(s){Ze.wcLinking=s},setWcError(s){Ze.wcError=s,Ze.buffering=!1},setRecentWallet(s){Ze.recentWallet=s},setBuffering(s){Ze.buffering=s},setStatus(s){Ze.status=s},async disconnect(s){try{at.setLoading(!0,s),await On.clearSessions(),await I.disconnect(s),at.setLoading(!1,s),ce.setFilterByNamespace(void 0)}catch{throw new Error("Failed to disconnect")}}},uo=st({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),bi={state:uo,subscribe(s){return ts(uo,()=>s(uo))},set(s){Object.assign(uo,{...uo,...s})}},Ol={createBalance(s,e){const t={name:s.metadata.name||"",symbol:s.metadata.symbol||"",decimals:s.metadata.decimals||0,value:s.metadata.value||0,price:s.metadata.price||0,iconUrl:s.metadata.iconUrl||""};return{name:t.name,symbol:t.symbol,chainId:e,address:s.address==="native"?void 0:this.convertAddressToCAIP10Address(s.address,e),value:t.value,price:t.price,quantity:{decimals:t.decimals.toString(),numeric:this.convertHexToBalance({hex:s.balance,decimals:t.decimals})},iconUrl:t.iconUrl}},convertHexToBalance({hex:s,decimals:e}){return Pn.formatUnits(BigInt(s),e)},convertAddressToCAIP10Address(s,e){return`${e}:${s}`},createCAIP2ChainId(s,e){return`${e}:${parseInt(s,16)}`},getChainIdHexFromCAIP2ChainId(s){const e=s.split(":");if(e.length<2||!e[1])return"0x0";const t=e[1],i=parseInt(t,10);return isNaN(i)?"0x0":`0x${i.toString(16)}`},isWalletGetAssetsResponse(s){return typeof s!="object"||s===null?!1:Object.values(s).every(e=>Array.isArray(e)&&e.every(t=>this.isValidAsset(t)))},isValidAsset(s){return typeof s=="object"&&s!==null&&typeof s.address=="string"&&typeof s.balance=="string"&&(s.type==="ERC20"||s.type==="NATIVE")&&typeof s.metadata=="object"&&s.metadata!==null&&typeof s.metadata.name=="string"&&typeof s.metadata.symbol=="string"&&typeof s.metadata.decimals=="number"&&typeof s.metadata.price=="number"&&typeof s.metadata.iconUrl=="string"}},ug={async getMyTokensWithBalance(s){const e=se.state.address,t=I.state.activeCaipNetwork;if(!e||!t)return[];if(t.chainNamespace==="eip155"){const r=await this.getEIP155Balances(e,t);if(r)return this.filterLowQualityTokens(r)}const i=await re.getBalance(e,t.caipNetworkId,s);return this.filterLowQualityTokens(i.balances)},async getEIP155Balances(s,e){try{const t=Ol.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await Fe.getCapabilities(s))?.[t]?.assetDiscovery?.supported)return null;const r=await Fe.walletGetAssets({account:s,chainFilter:[t]});return Ol.isWalletGetAssetsResponse(r)?(r[t]||[]).map(o=>Ol.createBalance(o,e.caipNetworkId)):null}catch{return null}},filterLowQualityTokens(s){return s.filter(e=>e.quantity.decimals!=="0")},mapBalancesToSwapTokens(s){return s?.map(e=>({...e,address:e?.address?e.address:I.getActiveNetworkTokenAddress(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1}))||[]}},me=st({tokenBalances:[],loading:!1}),dg={state:me,subscribe(s){return ts(me,()=>s(me))},subscribeKey(s,e){return gs(me,s,e)},setToken(s){s&&(me.token=Un(s))},setTokenAmount(s){me.sendTokenAmount=s},setReceiverAddress(s){me.receiverAddress=s},setReceiverProfileImageUrl(s){me.receiverProfileImageUrl=s},setReceiverProfileName(s){me.receiverProfileName=s},setGasPrice(s){me.gasPrice=s},setGasPriceInUsd(s){me.gasPriceInUSD=s},setNetworkBalanceInUsd(s){me.networkBalanceInUSD=s},setLoading(s){me.loading=s},sendToken(){switch(I.state.activeCaipNetwork?.chainNamespace){case"eip155":this.sendEvmToken();return;case"solana":this.sendSolanaToken();return;default:throw new Error("Unsupported chain")}},sendEvmToken(){this.state.token?.address&&this.state.sendTokenAmount&&this.state.receiverAddress?(qe.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token.address,amount:this.state.sendTokenAmount,network:I.state.activeCaipNetwork?.caipNetworkId||""}}),this.sendERC20Token({receiverAddress:this.state.receiverAddress,tokenAddress:this.state.token.address,sendTokenAmount:this.state.sendTokenAmount,decimals:this.state.token.quantity.decimals})):this.state.receiverAddress&&this.state.sendTokenAmount&&this.state.gasPrice&&this.state.token?.quantity.decimals&&(qe.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol,amount:this.state.sendTokenAmount,network:I.state.activeCaipNetwork?.caipNetworkId||""}}),this.sendNativeToken({receiverAddress:this.state.receiverAddress,sendTokenAmount:this.state.sendTokenAmount,gasPrice:this.state.gasPrice,decimals:this.state.token.quantity.decimals}))},async fetchTokenBalance(s){me.loading=!0;const e=I.state.activeCaipNetwork?.caipNetworkId,t=I.state.activeCaipNetwork?.chainNamespace,i=I.state.activeCaipAddress,r=i?le.getPlainAddress(i):void 0;if(me.lastRetry&&!le.isAllowedRetry(me.lastRetry,30*Vt.ONE_SEC_MS))return me.loading=!1,[];try{if(r&&e&&t){const n=await ug.getMyTokensWithBalance();return me.tokenBalances=n,me.lastRetry=void 0,n}}catch(n){me.lastRetry=Date.now(),s?.(n),Et.showError("Token Balance Unavailable")}finally{me.loading=!1}return[]},fetchNetworkBalance(){if(me.tokenBalances.length===0)return;const s=ug.mapBalancesToSwapTokens(me.tokenBalances);if(!s)return;const e=s.find(t=>t.address===I.getActiveNetworkTokenAddress());e&&(me.networkBalanceInUSD=e?qa.multiply(e.quantity.numeric,e.price).toString():"0")},isInsufficientNetworkTokenForGas(s,e){const t=e||"0";return qa.bigNumber(s).eq(0)?!0:qa.bigNumber(qa.bigNumber(t)).gt(s)},hasInsufficientGasFunds(){let s=!0;return se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT?s=!1:me.networkBalanceInUSD&&(s=this.isInsufficientNetworkTokenForGas(me.networkBalanceInUSD,me.gasPriceInUSD)),s},async sendNativeToken(s){xe.pushTransactionStack({view:"Account",goBack:!1});const e=s.receiverAddress,t=se.state.address,i=Fe.parseUnits(s.sendTokenAmount.toString(),Number(s.decimals)),r="0x";try{await Fe.sendTransaction({chainNamespace:"eip155",to:e,address:t,data:r,value:i??BigInt(0),gasPrice:s.gasPrice}),Et.showSuccess("Transaction started"),qe.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol||"",amount:s.sendTokenAmount,network:I.state.activeCaipNetwork?.caipNetworkId||""}}),this.resetSend()}catch(n){console.error("SendController:sendERC20Token - failed to send native token",n);const o=n instanceof Error?n.message:"Unknown error";qe.sendEvent({type:"track",event:"SEND_ERROR",properties:{message:o,isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol||"",amount:s.sendTokenAmount,network:I.state.activeCaipNetwork?.caipNetworkId||""}}),Et.showError("Something went wrong")}},async sendERC20Token(s){xe.pushTransactionStack({view:"Account",goBack:!1});const e=Fe.parseUnits(s.sendTokenAmount.toString(),Number(s.decimals));try{if(se.state.address&&s.sendTokenAmount&&s.receiverAddress&&s.tokenAddress){const t=le.getPlainAddress(s.tokenAddress);await Fe.writeContract({fromAddress:se.state.address,tokenAddress:t,args:[s.receiverAddress,e??BigInt(0)],method:"transfer",abi:ZM.getERC20Abi(t),chainNamespace:"eip155"}),Et.showSuccess("Transaction started"),this.resetSend()}}catch(t){console.error("SendController:sendERC20Token - failed to send erc20 token",t);const i=t instanceof Error?t.message:"Unknown error";qe.sendEvent({type:"track",event:"SEND_ERROR",properties:{message:i,isSmartAccount:se.state.preferredAccountType===Mi.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol||"",amount:s.sendTokenAmount,network:I.state.activeCaipNetwork?.caipNetworkId||""}}),Et.showError("Something went wrong")}},sendSolanaToken(){if(!this.state.sendTokenAmount||!this.state.receiverAddress){Et.showError("Please enter a valid amount and receiver address");return}xe.pushTransactionStack({view:"Account",goBack:!1}),Fe.sendTransaction({chainNamespace:"solana",to:this.state.receiverAddress,value:this.state.sendTokenAmount}).then(()=>{this.resetSend(),se.fetchTokenBalance()}).catch(s=>{Et.showError("Failed to send transaction. Please try again."),console.error("SendController:sendToken - failed to send solana transaction",s)})},resetSend(){me.token=void 0,me.sendTokenAmount=void 0,me.receiverAddress=void 0,me.receiverProfileImageUrl=void 0,me.receiverProfileName=void 0,me.loading=!1,me.tokenBalances=[]}},Ml={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[],user:void 0},Ha={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},V=st({chains:rD(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),I={state:V,subscribe(s){return ts(V,()=>{s(V)})},subscribeKey(s,e){return gs(V,s,e)},subscribeChainProp(s,e,t){let i;return ts(V.chains,()=>{const r=t||V.activeChain;if(r){const n=V.chains.get(r)?.[s];i!==n&&(i=n,e(n))}})},initialize(s,e,t){const{chainId:i,namespace:r}=Z.getActiveNetworkProps(),n=e?.find(l=>l.id.toString()===i?.toString()),a=s.find(l=>l?.namespace===r)||s?.[0],c=new Set([...e?.map(l=>l.chainNamespace)??[]]);(s?.length===0||!a)&&(V.noAdapters=!0),V.noAdapters||(V.activeChain=a?.namespace,V.activeCaipNetwork=n,this.setChainNetworkData(a?.namespace,{caipNetwork:n}),V.activeChain&&bi.set({activeChain:a?.namespace})),c.forEach(l=>{const h=e?.filter(d=>d.chainNamespace===l);I.state.chains.set(l,{namespace:l,networkState:st({...Ha,caipNetwork:h?.[0]}),accountState:st(Ml),caipNetworks:h??[],...t}),this.setRequestedCaipNetworks(h??[],l)})},removeAdapter(s){if(V.activeChain===s){const e=Array.from(V.chains.entries()).find(([t])=>t!==s);if(e){const t=e[1]?.caipNetworks?.[0];t&&this.setActiveCaipNetwork(t)}}V.chains.delete(s)},addAdapter(s,{networkControllerClient:e,connectionControllerClient:t},i){V.chains.set(s.namespace,{namespace:s.namespace,networkState:{...Ha,caipNetwork:i[0]},accountState:Ml,caipNetworks:i,connectionControllerClient:t,networkControllerClient:e}),this.setRequestedCaipNetworks(i?.filter(r=>r.chainNamespace===s.namespace)??[],s.namespace)},addNetwork(s){const e=V.chains.get(s.chainNamespace);if(e){const t=[...e.caipNetworks||[]];e.caipNetworks?.find(i=>i.id===s.id)||t.push(s),V.chains.set(s.chainNamespace,{...e,caipNetworks:t}),this.setRequestedCaipNetworks(t,s.chainNamespace)}},removeNetwork(s,e){const t=V.chains.get(s);if(t){const i=V.activeCaipNetwork?.id===e,r=[...t.caipNetworks?.filter(n=>n.id!==e)||[]];i&&t?.caipNetworks?.[0]&&this.setActiveCaipNetwork(t.caipNetworks[0]),V.chains.set(s,{...t,caipNetworks:r}),this.setRequestedCaipNetworks(r||[],s)}},setAdapterNetworkState(s,e){const t=V.chains.get(s);t&&(t.networkState={...t.networkState||Ha,...e},V.chains.set(s,t))},setChainAccountData(s,e,t=!0){if(!s)throw new Error("Chain is required to update chain account data");const i=V.chains.get(s);if(i){const r={...i.accountState||Ml,...e};V.chains.set(s,{...i,accountState:r}),(V.chains.size===1||V.activeChain===s)&&(e.caipAddress&&(V.activeCaipAddress=e.caipAddress),se.replaceState(r))}},setChainNetworkData(s,e){if(!s)return;const t=V.chains.get(s);if(t){const i={...t.networkState||Ha,...e};V.chains.set(s,{...t,networkState:i})}},setAccountProp(s,e,t,i=!0){this.setChainAccountData(t,{[s]:e},i),s==="status"&&e==="disconnected"&&t&&ce.removeConnectorId(t)},setActiveNamespace(s){V.activeChain=s;const e=s?V.chains.get(s):void 0,t=e?.networkState?.caipNetwork;t?.id&&s&&(V.activeCaipAddress=e?.accountState?.caipAddress,V.activeCaipNetwork=t,this.setChainNetworkData(s,{caipNetwork:t}),Z.setActiveCaipNetworkId(t?.caipNetworkId),bi.set({activeChain:s,selectedNetworkId:t?.caipNetworkId}))},setActiveCaipNetwork(s){if(!s)return;V.activeChain!==s.chainNamespace&&this.setIsSwitchingNamespace(!0);const e=V.chains.get(s.chainNamespace);V.activeChain=s.chainNamespace,V.activeCaipNetwork=s,this.setChainNetworkData(s.chainNamespace,{caipNetwork:s}),e?.accountState?.address?V.activeCaipAddress=`${s.chainNamespace}:${s.id}:${e?.accountState?.address}`:V.activeCaipAddress=void 0,this.setAccountProp("caipAddress",V.activeCaipAddress,s.chainNamespace),e&&se.replaceState(e.accountState),dg.resetSend(),bi.set({activeChain:V.activeChain,selectedNetworkId:V.activeCaipNetwork?.caipNetworkId}),Z.setActiveCaipNetworkId(s.caipNetworkId),!this.checkIfSupportedNetwork(s.chainNamespace)&&z.state.enableNetworkSwitch&&!z.state.allowUnsupportedChain&&!Fe.state.wcBasic&&this.showUnsupportedChainUI()},addCaipNetwork(s){if(!s)return;const e=V.chains.get(s.chainNamespace);e&&e?.caipNetworks?.push(s)},async switchActiveNamespace(s){if(!s)return;const e=s!==I.state.activeChain,t=I.getNetworkData(s)?.caipNetwork,i=I.getCaipNetworkByNamespace(s,t?.id);e&&i&&await I.switchActiveNetwork(i)},async switchActiveNetwork(s){!I.state.chains.get(I.state.activeChain)?.caipNetworks?.some(r=>r.id===V.activeCaipNetwork?.id)&&xe.goBack();const i=this.getNetworkControllerClient(s.chainNamespace);i&&(await i.switchCaipNetwork(s),qe.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:s.caipNetworkId}}))},getNetworkControllerClient(s){const e=s||V.activeChain,t=V.chains.get(e);if(!t)throw new Error("Chain adapter not found");if(!t.networkControllerClient)throw new Error("NetworkController client not set");return t.networkControllerClient},getConnectionControllerClient(s){const e=s||V.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const t=V.chains.get(e);if(!t?.connectionControllerClient)throw new Error("ConnectionController client not set");return t.connectionControllerClient},getAccountProp(s,e){let t=V.activeChain;if(e&&(t=e),!t)return;const i=V.chains.get(t)?.accountState;if(i)return i[s]},getNetworkProp(s,e){const t=V.chains.get(e)?.networkState;if(t)return t[s]},getRequestedCaipNetworks(s){const e=V.chains.get(s),{approvedCaipNetworkIds:t=[],requestedCaipNetworks:i=[]}=e?.networkState||{};return le.sortRequestedNetworks(t,i)},getAllRequestedCaipNetworks(){const s=[];return V.chains.forEach(e=>{const t=this.getRequestedCaipNetworks(e.namespace);s.push(...t)}),s},setRequestedCaipNetworks(s,e){this.setAdapterNetworkState(e,{requestedCaipNetworks:s})},getAllApprovedCaipNetworkIds(){const s=[];return V.chains.forEach(e=>{const t=this.getApprovedCaipNetworkIds(e.namespace);s.push(...t)}),s},getActiveCaipNetwork(){return V.activeCaipNetwork},getActiveCaipAddress(){return V.activeCaipAddress},getApprovedCaipNetworkIds(s){return V.chains.get(s)?.networkState?.approvedCaipNetworkIds||[]},async setApprovedCaipNetworksData(s){const t=await this.getNetworkControllerClient()?.getApprovedCaipNetworksData();this.setAdapterNetworkState(s,{approvedCaipNetworkIds:t?.approvedCaipNetworkIds,supportsAllNetworks:t?.supportsAllNetworks})},checkIfSupportedNetwork(s,e){const t=e||V.activeCaipNetwork,i=this.getRequestedCaipNetworks(s);return i.length?i?.some(r=>r.id===t?.id):!0},checkIfSupportedChainId(s){return V.activeChain?this.getRequestedCaipNetworks(V.activeChain)?.some(t=>t.id===s):!0},setSmartAccountEnabledNetworks(s,e){this.setAdapterNetworkState(e,{smartAccountEnabledNetworks:s})},checkIfSmartAccountEnabled(){const s=tm.caipNetworkIdToNumber(V.activeCaipNetwork?.caipNetworkId),e=V.activeChain;return!e||!s?!1:!!this.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(s))},getActiveNetworkTokenAddress(){const s=V.activeCaipNetwork?.chainNamespace||"eip155",e=V.activeCaipNetwork?.id||1,t=Vt.NATIVE_TOKEN_ADDRESS[s];return`${s}:${e}:${t}`},showUnsupportedChainUI(){at.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const s=V.activeCaipNetwork;return!!(s?.chainNamespace&&Vt.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(s.chainNamespace))},resetNetwork(s){this.setAdapterNetworkState(s,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]})},resetAccount(s){const e=s;if(!e)throw new Error("Chain is required to set account prop");V.activeCaipAddress=void 0,this.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountType:void 0,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,allAccounts:[],user:void 0,status:"disconnected"}),ce.removeConnectorId(e)},async disconnect(s){const e=gD(s);try{dg.resetSend();const t=await Promise.allSettled(e.map(async([r,n])=>{try{const{caipAddress:o}=this.getAccountData(r)||{};o&&n.connectionControllerClient?.disconnect&&await n.connectionControllerClient.disconnect(r),this.resetAccount(r),this.resetNetwork(r)}catch(o){throw new Error(`Failed to disconnect chain ${r}: ${o.message}`)}}));Fe.resetWcConnection();const i=t.filter(r=>r.status==="rejected");if(i.length>0)throw new Error(i.map(r=>r.reason.message).join(", "));Z.deleteConnectedSocialProvider(),s?ce.removeConnectorId(s):ce.resetConnectorIds(),qe.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:s||"all"}})}catch(t){console.error(t.message||"Failed to disconnect chains"),qe.sendEvent({type:"track",event:"DISCONNECT_ERROR",properties:{message:t.message||"Failed to disconnect chains"}})}},setIsSwitchingNamespace(s){V.isSwitchingNamespace=s},getFirstCaipNetworkSupportsAuthConnector(){const s=[];let e;if(V.chains.forEach(t=>{te.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(i=>i===t.namespace)&&t.namespace&&s.push(t.namespace)}),s.length>0){const t=s[0];return e=t?V.chains.get(t)?.caipNetworks?.[0]:void 0,e}},getAccountData(s){return s?I.state.chains.get(s)?.accountState:se.state},getNetworkData(s){const e=s||V.activeChain;if(e)return I.state.chains.get(e)?.networkState},getCaipNetworkByNamespace(s,e){if(!s)return;const t=I.state.chains.get(s),i=t?.caipNetworks?.find(r=>r.id===e);return i||t?.networkState?.caipNetwork||t?.caipNetworks?.[0]},getRequestedCaipNetworkIds(){const s=ce.state.filterByNamespace;return(s?[V.chains.get(s)]:Array.from(V.chains.values())).flatMap(t=>t?.caipNetworks||[]).map(t=>t.caipNetworkId)}},yD={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},im=le.getBlockchainApiUrl(),rs=st({clientId:null,api:new Vc({baseUrl:im,clientId:null}),supportedChains:{http:[],ws:[]}}),re={state:rs,async get(s){const{st:e,sv:t}=re.getSdkProperties(),i=z.state.projectId,r={...s.params||{},st:e,sv:t,projectId:i};return rs.api.get({...s,params:r})},getSdkProperties(){const{sdkType:s,sdkVersion:e}=z.state;return{st:s||"unknown",sv:e||"unknown"}},async isNetworkSupported(s){if(!s)return!1;try{rs.supportedChains.http.length||await re.getSupportedNetworks()}catch{return!1}return rs.supportedChains.http.includes(s)},async getSupportedNetworks(){const s=await re.get({path:"v1/supported-chains"});return rs.supportedChains=s,s},async fetchIdentity({address:s,caipNetworkId:e}){if(!await re.isNetworkSupported(e))return{avatar:"",name:""};const i=Z.getIdentityFromCacheForAddress(s);if(i)return i;const r=await re.get({path:`/v1/identity/${s}`,params:{sender:I.state.activeCaipAddress?le.getPlainAddress(I.state.activeCaipAddress):void 0}});return Z.updateIdentityCache({address:s,identity:r,timestamp:Date.now()}),r},async fetchTransactions({account:s,cursor:e,onramp:t,signal:i,cache:r,chainId:n}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:`/v1/account/${s}/history`,params:{cursor:e,onramp:t,chainId:n},signal:i,cache:r}):{data:[],next:void 0}},async fetchSwapQuote({amount:s,userAddress:e,from:t,to:i,gasPrice:r}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:s,userAddress:e,from:t,to:i,gasPrice:r}}):{quotes:[]}},async fetchSwapTokens({chainId:s}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:"/v1/convert/tokens",params:{chainId:s}}):{tokens:[]}},async fetchTokenPrice({addresses:s}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?rs.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:s,projectId:z.state.projectId},headers:{"Content-Type":"application/json"}}):{fungibles:[]}},async fetchSwapAllowance({tokenAddress:s,userAddress:e}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:"/v1/convert/allowance",params:{tokenAddress:s,userAddress:e},headers:{"Content-Type":"application/json"}}):{allowance:"0"}},async fetchGasPrice({chainId:s}){const{st:e,sv:t}=re.getSdkProperties();if(!await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return re.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:s,st:e,sv:t}})},async generateSwapCalldata({amount:s,from:e,to:t,userAddress:i,disableEstimate:r}){if(!await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return rs.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:s,eip155:{slippage:Vt.CONVERT_SLIPPAGE_TOLERANCE},projectId:z.state.projectId,from:e,to:t,userAddress:i,disableEstimate:r}})},async generateApproveCalldata({from:s,to:e,userAddress:t}){const{st:i,sv:r}=re.getSdkProperties();if(!await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return re.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:t,from:s,to:e,st:i,sv:r}})},async getBalance(s,e,t){const{st:i,sv:r}=re.getSdkProperties();if(!await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId))return Et.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${s}`,a=Z.getBalanceCacheForCaipAddress(o);if(a)return a;const c=await re.get({path:`/v1/account/${s}/balance`,params:{currency:"usd",chainId:e,forceUpdate:t,st:i,sv:r}});return Z.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(s){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:`/v1/profile/account/${s}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:s}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:`/v1/profile/reverse/${s}`,params:{sender:se.state.address,apiVersion:"2"}}):[]},async getEnsNameSuggestions(s){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:`/v1/profile/suggestions/${s}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:s,address:e,message:t,signature:i}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?rs.api.post({path:"/v1/profile/account",body:{coin_type:s,address:e,message:t,signature:i},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:s,partnerUserId:e,defaultNetwork:t,purchaseAmount:i,paymentAmount:r}){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?(await rs.api.post({path:"/v1/generators/onrampurl",params:{projectId:z.state.projectId},body:{destinationWallets:s,defaultNetwork:t,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:i,presetFiatAmount:r}})).url:""},async getOnrampOptions(){if(!await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await re.get({path:"/v1/onramp/options"})}catch{return yD}},async getOnrampQuote({purchaseCurrency:s,paymentCurrency:e,amount:t,network:i}){try{return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?await rs.api.post({path:"/v1/onramp/quote",params:{projectId:z.state.projectId},body:{purchaseCurrency:s,paymentCurrency:e,amount:t,network:i}}):null}catch{return{coinbaseFee:{amount:t,currency:e.id},networkFee:{amount:t,currency:e.id},paymentSubtotal:{amount:t,currency:e.id},paymentTotal:{amount:t,currency:e.id},purchaseAmount:{amount:t,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(s){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?re.get({path:`/v1/sessions/${s}`}):[]},async revokeSmartSession(s,e,t){return await re.isNetworkSupported(I.state.activeCaipNetwork?.caipNetworkId)?rs.api.post({path:`/v1/sessions/${s}/revoke`,params:{projectId:z.state.projectId},body:{pci:e,signature:t}}):{success:!1}},setClientId(s){rs.clientId=s,rs.api=new Vc({baseUrl:im,clientId:s})}},Ks=st({currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]}),se={state:Ks,replaceState(s){s&&Object.assign(Ks,Un(s))},subscribe(s){return I.subscribeChainProp("accountState",e=>{if(e)return s(e)})},subscribeKey(s,e,t){let i;return I.subscribeChainProp("accountState",r=>{if(r){const n=r[s];i!==n&&(i=n,e(n))}},t)},setStatus(s,e){I.setAccountProp("status",s,e)},getCaipAddress(s){return I.getAccountProp("caipAddress",s)},setCaipAddress(s,e){const t=s?le.getPlainAddress(s):void 0;e===I.state.activeChain&&(I.state.activeCaipAddress=s),I.setAccountProp("caipAddress",s,e),I.setAccountProp("address",t,e)},setBalance(s,e,t){I.setAccountProp("balance",s,t),I.setAccountProp("balanceSymbol",e,t)},setProfileName(s,e){I.setAccountProp("profileName",s,e)},setProfileImage(s,e){I.setAccountProp("profileImage",s,e)},setUser(s,e){I.setAccountProp("user",s,e)},setAddressExplorerUrl(s,e){I.setAccountProp("addressExplorerUrl",s,e)},setSmartAccountDeployed(s,e){I.setAccountProp("smartAccountDeployed",s,e)},setCurrentTab(s){I.setAccountProp("currentTab",s,I.state.activeChain)},setTokenBalance(s,e){s&&I.setAccountProp("tokenBalance",s,e)},setShouldUpdateToAddress(s,e){I.setAccountProp("shouldUpdateToAddress",s,e)},setAllAccounts(s,e){I.setAccountProp("allAccounts",s,e)},addAddressLabel(s,e,t){const i=I.getAccountProp("addressLabels",t)||new Map;i.set(s,e),I.setAccountProp("addressLabels",i,t)},removeAddressLabel(s,e){const t=I.getAccountProp("addressLabels",e)||new Map;t.delete(s),I.setAccountProp("addressLabels",t,e)},setConnectedWalletInfo(s,e){I.setAccountProp("connectedWalletInfo",s,e,!1)},setPreferredAccountType(s,e){I.setAccountProp("preferredAccountType",s,e)},setSocialProvider(s,e){s&&I.setAccountProp("socialProvider",s,e)},setSocialWindow(s,e){I.setAccountProp("socialWindow",s?Un(s):void 0,e)},setFarcasterUrl(s,e){I.setAccountProp("farcasterUrl",s,e)},async fetchTokenBalance(s){Ks.balanceLoading=!0;const e=I.state.activeCaipNetwork?.caipNetworkId,t=I.state.activeCaipNetwork?.chainNamespace,i=I.state.activeCaipAddress,r=i?le.getPlainAddress(i):void 0;if(Ks.lastRetry&&!le.isAllowedRetry(Ks.lastRetry,30*Vt.ONE_SEC_MS))return Ks.balanceLoading=!1,[];try{if(r&&e&&t){const o=(await re.getBalance(r,e)).balances.filter(a=>a.quantity.decimals!=="0");return this.setTokenBalance(o,t),Ks.lastRetry=void 0,Ks.balanceLoading=!1,o}}catch(n){Ks.lastRetry=Date.now(),s?.(n),Et.showError("Token Balance Unavailable")}finally{Ks.balanceLoading=!1}return[]},resetAccount(s){I.resetAccount(s)}},Yt=st({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),at={state:Yt,subscribe(s){return ts(Yt,()=>s(Yt))},subscribeKey(s,e){return gs(Yt,s,e)},async open(s){const e=se.state.status==="connected";Fe.state.wcBasic?he.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1}):await he.prefetch({fetchConnectorImages:!e,fetchFeaturedWallets:!e,fetchRecommendedWallets:!e}),s?.namespace?(await I.switchActiveNamespace(s.namespace),at.setLoading(!0,s.namespace)):at.setLoading(!0),ce.setFilterByNamespace(s?.namespace);const t=I.getAccountData(s?.namespace)?.caipAddress;I.state.noAdapters&&!t?le.isMobile()?xe.reset("AllWallets"):xe.reset("ConnectingWalletConnectBasic"):s?.view?xe.reset(s.view):t?xe.reset("Account"):xe.reset("Connect"),Yt.open=!0,bi.set({open:!0}),qe.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!t}})},close(){const s=z.state.enableEmbedded,e=!!I.state.activeCaipAddress;Yt.open&&qe.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),Yt.open=!1,at.clearLoading(),s?e?xe.replace("Account"):xe.push("Connect"):bi.set({open:!1}),Fe.resetUri()},setLoading(s,e){e&&Yt.loadingNamespaceMap.set(e,s),Yt.loading=s,bi.set({loading:s})},clearLoading(){Yt.loadingNamespaceMap.clear(),Yt.loading=!1},shake(){Yt.shake||(Yt.shake=!0,setTimeout(()=>{Yt.shake=!1},500))}},pg=2147483648,mD={convertEVMChainIdToCoinType(s){if(s>=pg)throw new Error("Invalid chainId");return(pg|s)>>>0}},ms=st({suggestions:[],loading:!1}),rm={state:ms,subscribe(s){return ts(ms,()=>s(ms))},subscribeKey(s,e){return gs(ms,s,e)},async resolveName(s){try{return await re.lookupEnsName(s)}catch(e){const t=e;throw new Error(t?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(s){try{return await re.lookupEnsName(s),!0}catch{return!1}},async getSuggestions(s){try{ms.loading=!0,ms.suggestions=[];const e=await re.getEnsNameSuggestions(s);return ms.suggestions=e.suggestions.map(t=>({...t,name:t.name}))||[],ms.suggestions}catch(e){const t=this.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(t)}finally{ms.loading=!1}},async getNamesForAddress(s){try{if(!I.state.activeCaipNetwork)return[];const t=Z.getEnsFromCacheForAddress(s);if(t)return t;const i=await re.reverseLookupEnsName({address:s});return Z.updateEnsCache({address:s,ens:i,timestamp:Date.now()}),i}catch(e){const t=this.parseEnsApiError(e,"Error fetching names for address");throw new Error(t)}},async registerName(s){const e=I.state.activeCaipNetwork;if(!e)throw new Error("Network not found");const t=se.state.address,i=ce.getAuthConnector();if(!t||!i)throw new Error("Address or auth connector not found");ms.loading=!0;try{const r=JSON.stringify({name:s,attributes:{},timestamp:Math.floor(Date.now()/1e3)});xe.pushTransactionStack({view:"RegisterAccountNameSuccess",goBack:!1,replace:!0,onCancel(){ms.loading=!1}});const n=await Fe.signMessage(r),o=e.id;if(!o)throw new Error("Network not found");const a=mD.convertEVMChainIdToCoinType(Number(o));await re.registerEnsName({coinType:a,address:t,signature:n,message:r}),se.setProfileName(s,e.chainNamespace),xe.replace("RegisterAccountNameSuccess")}catch(r){const n=this.parseEnsApiError(r,`Error registering name ${s}`);throw xe.replace("RegisterAccountName"),new Error(n)}finally{ms.loading=!1}},validateName(s){return/^[a-zA-Z0-9-]{4,}$/u.test(s)},parseEnsApiError(s,e){return s?.reasons?.[0]?.description||e}};var bD=Object.defineProperty,vD=(s,e,t)=>e in s?bD(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,gg=(s,e,t)=>vD(s,typeof e!="symbol"?e+"":e,t);let ID=class extends u.IEvents{constructor(e){super(),this.opts=e,gg(this,"protocol","wc"),gg(this,"version",2)}};var ED=Object.defineProperty,AD=(s,e,t)=>e in s?ED(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_D=(s,e,t)=>AD(s,e+"",t);let ND=class extends u.IEvents{constructor(e,t){super(),this.core=e,this.logger=t,_D(this,"records",new Map)}},CD=class{constructor(e,t){this.logger=e,this.core=t}},SD=class extends u.IEvents{constructor(e,t){super(),this.relayer=e,this.logger=t}},$D=class extends u.IEvents{constructor(e){super()}},TD=class{constructor(e,t,i,r){this.core=e,this.logger=t,this.name=i}},PD=class extends u.IEvents{constructor(e,t){super(),this.relayer=e,this.logger=t}},xD=class extends u.IEvents{constructor(e,t){super(),this.core=e,this.logger=t}},OD=class{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}},MD=class{constructor(e,t){this.projectId=e,this.logger=t}},DD=class{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}};var kD=Object.defineProperty,jD=(s,e,t)=>e in s?kD(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,fg=(s,e,t)=>jD(s,typeof e!="symbol"?e+"":e,t);let RD=class{constructor(e){this.opts=e,fg(this,"protocol","wc"),fg(this,"version",2)}},UD=class{constructor(e){this.client=e}};function Qo(s,{strict:e=!0}={}){return!s||typeof s!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(s):s.startsWith("0x")}function wg(s){return Qo(s,{strict:!1})?Math.ceil((s.length-2)/2):s.length}const nm="2.23.2";let Dl={getDocsUrl:({docsBaseUrl:s,docsPath:e="",docsSlug:t})=>e?`${s??"https://viem.sh"}${e}${t?`#${t}`:""}`:void 0,version:`viem@${nm}`};class Ar extends Error{constructor(e,t={}){const i=t.cause instanceof Ar?t.cause.details:t.cause?.message?t.cause.message:t.details,r=t.cause instanceof Ar&&t.cause.docsPath||t.docsPath,n=Dl.getDocsUrl?.({...t,docsPath:r}),o=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...i?[`Details: ${i}`]:[],...Dl.version?[`Version: ${Dl.version}`]:[]].join(`
|
|
12
|
-
`);super(o,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=r,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=nm}walk(e){return om(this,e)}}function om(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause!==void 0?om(s.cause,e):e?null:s}class am extends Ar{constructor({size:e,targetSize:t,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function Kn(s,{dir:e,size:t=32}={}){return typeof s=="string"?LD(s,{dir:e,size:t}):zD(s,{dir:e,size:t})}function LD(s,{dir:e,size:t=32}={}){if(t===null)return s;const i=s.replace("0x","");if(i.length>t*2)throw new am({size:Math.ceil(i.length/2),targetSize:t,type:"hex"});return`0x${i[e==="right"?"padEnd":"padStart"](t*2,"0")}`}function zD(s,{dir:e,size:t=32}={}){if(t===null)return s;if(s.length>t)throw new am({size:s.length,targetSize:t,type:"bytes"});const i=new Uint8Array(t);for(let r=0;r<t;r++){const n=e==="right";i[n?r:t-r-1]=s[n?r:s.length-r-1]}return i}class FD extends Ar{constructor({max:e,min:t,signed:i,size:r,value:n}){super(`Number "${n}" is not in safe ${r?`${r*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class qD extends Ar{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function Gn(s,{size:e}){if(wg(s)>e)throw new qD({givenSize:wg(s),maxSize:e})}function xh(s,e={}){const{signed:t}=e;e.size&&Gn(s,{size:e.size});const i=BigInt(s);if(!t)return i;const r=(s.length-2)/2,n=(1n<<BigInt(r)*8n-1n)-1n;return i<=n?i:i-BigInt(`0x${"f".padStart(r*2,"f")}`)-1n}function BD(s,e={}){return Number(xh(s,e))}const HD=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function Oh(s,e={}){return typeof s=="number"||typeof s=="bigint"?lm(s,e):typeof s=="string"?KD(s,e):typeof s=="boolean"?WD(s,e):cm(s,e)}function WD(s,e={}){const t=`0x${Number(s)}`;return typeof e.size=="number"?(Gn(t,{size:e.size}),Kn(t,{size:e.size})):t}function cm(s,e={}){let t="";for(let r=0;r<s.length;r++)t+=HD[s[r]];const i=`0x${t}`;return typeof e.size=="number"?(Gn(i,{size:e.size}),Kn(i,{dir:"right",size:e.size})):i}function lm(s,e={}){const{signed:t,size:i}=e,r=BigInt(s);let n;i?t?n=(1n<<BigInt(i)*8n-1n)-1n:n=2n**(BigInt(i)*8n)-1n:typeof s=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&t?-n-1n:0;if(n&&r>n||r<o){const c=typeof s=="bigint"?"n":"";throw new FD({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:t,size:i,value:`${s}${c}`})}const a=`0x${(t&&r<0?(1n<<BigInt(i*8))+BigInt(r):r).toString(16)}`;return i?Kn(a,{size:i}):a}const VD=new TextEncoder;function KD(s,e={}){const t=VD.encode(s);return cm(t,e)}const GD=new TextEncoder;function YD(s,e={}){return typeof s=="number"||typeof s=="bigint"?JD(s,e):typeof s=="boolean"?QD(s,e):Qo(s)?hm(s,e):um(s,e)}function QD(s,e={}){const t=new Uint8Array(1);return t[0]=Number(s),typeof e.size=="number"?(Gn(t,{size:e.size}),Kn(t,{size:e.size})):t}const hi={zero:48,nine:57,A:65,F:70,a:97,f:102};function yg(s){if(s>=hi.zero&&s<=hi.nine)return s-hi.zero;if(s>=hi.A&&s<=hi.F)return s-(hi.A-10);if(s>=hi.a&&s<=hi.f)return s-(hi.a-10)}function hm(s,e={}){let t=s;e.size&&(Gn(t,{size:e.size}),t=Kn(t,{dir:"right",size:e.size}));let i=t.slice(2);i.length%2&&(i=`0${i}`);const r=i.length/2,n=new Uint8Array(r);for(let o=0,a=0;o<r;o++){const c=yg(i.charCodeAt(a++)),l=yg(i.charCodeAt(a++));if(c===void 0||l===void 0)throw new Ar(`Invalid byte sequence ("${i[a-2]}${i[a-1]}" in "${i}").`);n[o]=c*16+l}return n}function JD(s,e){const t=lm(s,e);return hm(t)}function um(s,e={}){const t=GD.encode(s);return typeof e.size=="number"?(Gn(t,{size:e.size}),Kn(t,{dir:"right",size:e.size})):t}function Ic(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function ZD(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function wa(s,...e){if(!ZD(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function XD(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ic(s.outputLen),Ic(s.blockLen)}function Mh(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function dm(s,e){wa(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Wa=BigInt(2**32-1),mg=BigInt(32);function ek(s,e=!1){return e?{h:Number(s&Wa),l:Number(s>>mg&Wa)}:{h:Number(s>>mg&Wa)|0,l:Number(s&Wa)|0}}function tk(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=ek(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const sk=(s,e,t)=>s<<t|e>>>32-t,ik=(s,e,t)=>e<<t|s>>>32-t,rk=(s,e,t)=>e<<t-32|s>>>64-t,nk=(s,e,t)=>s<<t-32|e>>>64-t,en=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ok(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function ak(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function ck(s,e){return s<<32-e|s>>>e}const bg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function lk(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function vg(s){for(let e=0;e<s.length;e++)s[e]=lk(s[e])}function hk(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function Pu(s){return typeof s=="string"&&(s=hk(s)),wa(s),s}function uk(...s){let e=0;for(let i=0;i<s.length;i++){const r=s[i];wa(r),e+=r.length}const t=new Uint8Array(e);for(let i=0,r=0;i<s.length;i++){const n=s[i];t.set(n,r),r+=n.length}return t}class pm{clone(){return this._cloneInto()}}function gm(s){const e=i=>s().update(Pu(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function dk(s=32){if(en&&typeof en.getRandomValues=="function")return en.getRandomValues(new Uint8Array(s));if(en&&typeof en.randomBytes=="function")return en.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const fm=[],wm=[],ym=[],pk=BigInt(0),po=BigInt(1),gk=BigInt(2),fk=BigInt(7),wk=BigInt(256),yk=BigInt(113);for(let s=0,e=po,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],fm.push(2*(5*i+t)),wm.push((s+1)*(s+2)/2%64);let r=pk;for(let n=0;n<7;n++)e=(e<<po^(e>>fk)*yk)%wk,e&gk&&(r^=po<<(po<<BigInt(n))-po);ym.push(r)}const[mk,bk]=tk(ym,!0),Ig=(s,e,t)=>t>32?rk(s,e,t):sk(s,e,t),Eg=(s,e,t)=>t>32?nk(s,e,t):ik(s,e,t);function vk(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=Ig(l,h,1)^t[a],p=Eg(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=wm[o],c=Ig(r,n,a),l=Eg(r,n,a),h=fm[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=mk[i],s[1]^=bk[i]}t.fill(0)}class xu extends pm{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ic(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=ok(this.state)}keccak(){bg||vg(this.state32),vk(this.state32,this.rounds),bg||vg(this.state32),this.posOut=0,this.pos=0}update(e){Mh(this);const{blockLen:t,state:i}=this;e=Pu(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Mh(this,!1),wa(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ic(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(dm(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new xu(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}}const Ik=(s,e,t)=>gm(()=>new xu(e,s,t)),Ek=Ik(1,136,256/8);function mm(s,e){const t=e||"hex",i=Ek(Qo(s,{strict:!1})?YD(s):s);return t==="bytes"?i:Oh(i)}class Ak extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const i=this.keys().next().value;i&&this.delete(i)}return this}}const kl=new Ak(8192);function _k(s,e){if(kl.has(`${s}.${e}`))return kl.get(`${s}.${e}`);const t=s.substring(2).toLowerCase(),i=mm(um(t),"bytes"),r=t.split("");for(let o=0;o<40;o+=2)i[o>>1]>>4>=8&&r[o]&&(r[o]=r[o].toUpperCase()),(i[o>>1]&15)>=8&&r[o+1]&&(r[o+1]=r[o+1].toUpperCase());const n=`0x${r.join("")}`;return kl.set(`${s}.${e}`,n),n}function Nk(s){const e=mm(`0x${s.substring(4)}`).substring(26);return _k(`0x${e}`)}async function Ck({hash:s,signature:e}){const t=Qo(s)?s:Oh(s),{secp256k1:i}=await Promise.resolve().then(()=>require("./secp256k1-g_j504rZ.js"));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:h,v:d,yParity:p}=e,f=Number(p??d),g=Ag(f);return new i.Signature(xh(l),xh(h)).addRecoveryBit(g)}const o=Qo(e)?e:Oh(e),a=BD(`0x${o.slice(130)}`),c=Ag(a);return i.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(t.substring(2)).toHex(!1)}`}function Ag(s){if(s===0||s===1)return s;if(s===27)return 0;if(s===28)return 1;throw new Error("Invalid yParityOrV value")}async function Sk({hash:s,signature:e}){return Nk(await Ck({hash:s,signature:e}))}function $k(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var Tk="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const bm=$k(Tk),Pk=":";function Mn(s){const[e,t]=s.split(Pk);return{namespace:e,reference:t}}function vm(s,e){return s.includes(":")?[s]:e.chains||[]}const xk="ReactNative",us={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Ok="js";function Ec(){return typeof P.process$1<"u"&&typeof P.process$1.versions<"u"&&typeof P.process$1.versions.node<"u"}function Ki(){return!u.cjsExports$2.getDocument()&&!!u.cjsExports$2.getNavigator()&&navigator.product===xk}function Mk(){return Ki()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="android"}function Dk(){return Ki()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="ios"}function ya(){return!Ec()&&!!u.cjsExports$2.getNavigator()&&!!u.cjsExports$2.getDocument()}function ma(){return Ki()?us.reactNative:Ec()?us.node:ya()?us.browser:us.unknown}function _g(){var s;try{return Ki()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Application)<"u"?(s=P.global.Application)==null?void 0:s.applicationId:void 0}catch{return}}function kk(s,e){const t=new URLSearchParams(s);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const r=e[i];r!==void 0&&t.set(i,r)}return t.toString()}function Im(){return u.cjsExports.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function jk(){if(ma()===us.reactNative&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"){const{OS:t,Version:i}=P.global.Platform;return[t,i].join("-")}const s=u.detect();if(s===null)return"unknown";const e=s.os?s.os.replace(" ","").toLowerCase():"unknown";return s.type==="browser"?[e,s.name,s.version].join("-"):[e,s.version].join("-")}function Rk(){var s;const e=ma();return e===us.browser?[e,((s=u.cjsExports$2.getLocation())==null?void 0:s.host)||"unknown"].join(":"):e}function Em(s,e,t){const i=jk(),r=Rk();return[[s,e].join("-"),[Ok,t].join("-"),i,r].join("/")}function Uk({protocol:s,version:e,relayUrl:t,sdkVersion:i,auth:r,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=t.split("?"),h=Em(s,e,i),d={auth:r,ua:h,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},p=kk(l[1]||"",d);return l[0]+"?"+p}function fr(s,e){return s.filter(t=>e.includes(t)).length===s.length}function Dh(s){return Object.fromEntries(s.entries())}function kh(s){return new Map(Object.entries(s))}function or(s=u.cjsExports$1.FIVE_MINUTES,e){const t=u.cjsExports$1.toMiliseconds(s||u.cjsExports$1.FIVE_MINUTES);let i,r,n,o;return{resolve:a=>{n&&i&&(clearTimeout(n),i(a),o=Promise.resolve(a))},reject:a=>{n&&r&&(clearTimeout(n),r(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},t),i=a,r=c})}}function Li(s,e,t){return new Promise(async(i,r)=>{const n=setTimeout(()=>r(new Error(t)),e);try{const o=await s;i(o)}catch(o){r(o)}clearTimeout(n)})}function Am(s,e){if(typeof e=="string"&&e.startsWith(`${s}:`))return e;if(s.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(s.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: ${s}`)}function Lk(s){return Am("topic",s)}function zk(s){return Am("id",s)}function _m(s){const[e,t]=s.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function gt(s,e){return u.cjsExports$1.fromMiliseconds(Date.now()+u.cjsExports$1.toMiliseconds(s))}function Di(s){return Date.now()>=u.cjsExports$1.toMiliseconds(s)}function Pe(s,e){return`${s}${e?`:${e}`:""}`}function oc(s=[],e=[]){return[...new Set([...s,...e])]}async function Fk({id:s,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const r=typeof t=="string"?JSON.parse(t):t,n=r?.href;if(typeof n!="string")return;const o=qk(n,s,e),a=ma();if(a===us.browser){if(!((i=u.cjsExports$2.getDocument())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}Bk(o)}else a===us.reactNative&&typeof(P.global==null?void 0:P.global.Linking)<"u"&&await P.global.Linking.openURL(o)}catch(r){console.error(r)}}function qk(s,e,t){const i=`requestId=${e}&sessionTopic=${t}`;s.endsWith("/")&&(s=s.slice(0,-1));let r=`${s}`;if(s.startsWith("https://t.me")){const n=s.includes("?")?"&startapp=":"?startapp=";r=`${r}${n}${Kk(i,!0)}`}else r=`${r}/wc?${i}`;return r}function Bk(s){let e="_self";Vk()?e="_top":(Wk()||s.startsWith("https://")||s.startsWith("http://"))&&(e="_blank"),window.open(s,e,"noreferrer noopener")}async function Hk(s,e){let t="";try{if(ya()&&(t=localStorage.getItem(e),t))return t;t=await s.getItem(e)}catch(i){console.error(i)}return t}function Ng(s,e){if(!s.includes(e))return null;const t=s.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function Cg(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,s=>{const e=Math.random()*16|0;return(s==="x"?e:e&3|8).toString(16)})}function Ou(){return typeof P.process$1<"u"&&P.process$1.env.IS_VITEST==="true"}function Wk(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Vk(){try{return window.self!==window.top}catch{return!1}}function Kk(s,e=!1){const t=P.Buffer.from(s).toString("base64");return e?t.replace(/[=]/g,""):t}function Nm(s){return P.Buffer.from(s,"base64").toString("utf-8")}function Gk(s){return new Promise(e=>setTimeout(e,s))}function Jo(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function Yk(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function Kc(s,...e){if(!Yk(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function Mu(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Jo(s.outputLen),Jo(s.blockLen)}function Ln(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Cm(s,e){Kc(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Va=BigInt(2**32-1),Sg=BigInt(32);function Qk(s,e=!1){return e?{h:Number(s&Va),l:Number(s>>Sg&Va)}:{h:Number(s>>Sg&Va)|0,l:Number(s&Va)|0}}function Jk(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=Qk(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const Zk=(s,e,t)=>s<<t|e>>>32-t,Xk=(s,e,t)=>e<<t|s>>>32-t,e3=(s,e,t)=>e<<t-32|s>>>64-t,t3=(s,e,t)=>s<<t-32|e>>>64-t,tn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function s3(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function jl(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Gs(s,e){return s<<32-e|s>>>e}const $g=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function i3(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function Tg(s){for(let e=0;e<s.length;e++)s[e]=i3(s[e])}function r3(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function zn(s){return typeof s=="string"&&(s=r3(s)),Kc(s),s}let Du=class{clone(){return this._cloneInto()}};function Sm(s){const e=i=>s().update(zn(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function ba(s=32){if(tn&&typeof tn.getRandomValues=="function")return tn.getRandomValues(new Uint8Array(s));if(tn&&typeof tn.randomBytes=="function")return tn.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const $m=[],Tm=[],Pm=[],n3=BigInt(0),go=BigInt(1),o3=BigInt(2),a3=BigInt(7),c3=BigInt(256),l3=BigInt(113);for(let s=0,e=go,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],$m.push(2*(5*i+t)),Tm.push((s+1)*(s+2)/2%64);let r=n3;for(let n=0;n<7;n++)e=(e<<go^(e>>a3)*l3)%c3,e&o3&&(r^=go<<(go<<BigInt(n))-go);Pm.push(r)}const[h3,u3]=Jk(Pm,!0),Pg=(s,e,t)=>t>32?e3(s,e,t):Zk(s,e,t),xg=(s,e,t)=>t>32?t3(s,e,t):Xk(s,e,t);function d3(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=Pg(l,h,1)^t[a],p=xg(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=Tm[o],c=Pg(r,n,a),l=xg(r,n,a),h=$m[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=h3[i],s[1]^=u3[i]}t.fill(0)}let p3=class xm extends Du{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Jo(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=s3(this.state)}keccak(){$g||Tg(this.state32),d3(this.state32,this.rounds),$g||Tg(this.state32),this.posOut=0,this.pos=0}update(e){Ln(this);const{blockLen:t,state:i}=this;e=zn(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Ln(this,!1),Kc(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Jo(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Cm(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new xm(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const g3=(s,e,t)=>Sm(()=>new p3(e,s,t)),f3=g3(1,136,256/8),w3="https://rpc.walletconnect.org/v1";function Om(s){const e=`Ethereum Signed Message:
|
|
12
|
+
`);super(o,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=r,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=nm}walk(e){return om(this,e)}}function om(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause!==void 0?om(s.cause,e):e?null:s}class am extends Ar{constructor({size:e,targetSize:t,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function Kn(s,{dir:e,size:t=32}={}){return typeof s=="string"?LD(s,{dir:e,size:t}):zD(s,{dir:e,size:t})}function LD(s,{dir:e,size:t=32}={}){if(t===null)return s;const i=s.replace("0x","");if(i.length>t*2)throw new am({size:Math.ceil(i.length/2),targetSize:t,type:"hex"});return`0x${i[e==="right"?"padEnd":"padStart"](t*2,"0")}`}function zD(s,{dir:e,size:t=32}={}){if(t===null)return s;if(s.length>t)throw new am({size:s.length,targetSize:t,type:"bytes"});const i=new Uint8Array(t);for(let r=0;r<t;r++){const n=e==="right";i[n?r:t-r-1]=s[n?r:s.length-r-1]}return i}class FD extends Ar{constructor({max:e,min:t,signed:i,size:r,value:n}){super(`Number "${n}" is not in safe ${r?`${r*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class qD extends Ar{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function Gn(s,{size:e}){if(wg(s)>e)throw new qD({givenSize:wg(s),maxSize:e})}function xh(s,e={}){const{signed:t}=e;e.size&&Gn(s,{size:e.size});const i=BigInt(s);if(!t)return i;const r=(s.length-2)/2,n=(1n<<BigInt(r)*8n-1n)-1n;return i<=n?i:i-BigInt(`0x${"f".padStart(r*2,"f")}`)-1n}function BD(s,e={}){return Number(xh(s,e))}const HD=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function Oh(s,e={}){return typeof s=="number"||typeof s=="bigint"?lm(s,e):typeof s=="string"?KD(s,e):typeof s=="boolean"?WD(s,e):cm(s,e)}function WD(s,e={}){const t=`0x${Number(s)}`;return typeof e.size=="number"?(Gn(t,{size:e.size}),Kn(t,{size:e.size})):t}function cm(s,e={}){let t="";for(let r=0;r<s.length;r++)t+=HD[s[r]];const i=`0x${t}`;return typeof e.size=="number"?(Gn(i,{size:e.size}),Kn(i,{dir:"right",size:e.size})):i}function lm(s,e={}){const{signed:t,size:i}=e,r=BigInt(s);let n;i?t?n=(1n<<BigInt(i)*8n-1n)-1n:n=2n**(BigInt(i)*8n)-1n:typeof s=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&t?-n-1n:0;if(n&&r>n||r<o){const c=typeof s=="bigint"?"n":"";throw new FD({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:t,size:i,value:`${s}${c}`})}const a=`0x${(t&&r<0?(1n<<BigInt(i*8))+BigInt(r):r).toString(16)}`;return i?Kn(a,{size:i}):a}const VD=new TextEncoder;function KD(s,e={}){const t=VD.encode(s);return cm(t,e)}const GD=new TextEncoder;function YD(s,e={}){return typeof s=="number"||typeof s=="bigint"?JD(s,e):typeof s=="boolean"?QD(s,e):Qo(s)?hm(s,e):um(s,e)}function QD(s,e={}){const t=new Uint8Array(1);return t[0]=Number(s),typeof e.size=="number"?(Gn(t,{size:e.size}),Kn(t,{size:e.size})):t}const hi={zero:48,nine:57,A:65,F:70,a:97,f:102};function yg(s){if(s>=hi.zero&&s<=hi.nine)return s-hi.zero;if(s>=hi.A&&s<=hi.F)return s-(hi.A-10);if(s>=hi.a&&s<=hi.f)return s-(hi.a-10)}function hm(s,e={}){let t=s;e.size&&(Gn(t,{size:e.size}),t=Kn(t,{dir:"right",size:e.size}));let i=t.slice(2);i.length%2&&(i=`0${i}`);const r=i.length/2,n=new Uint8Array(r);for(let o=0,a=0;o<r;o++){const c=yg(i.charCodeAt(a++)),l=yg(i.charCodeAt(a++));if(c===void 0||l===void 0)throw new Ar(`Invalid byte sequence ("${i[a-2]}${i[a-1]}" in "${i}").`);n[o]=c*16+l}return n}function JD(s,e){const t=lm(s,e);return hm(t)}function um(s,e={}){const t=GD.encode(s);return typeof e.size=="number"?(Gn(t,{size:e.size}),Kn(t,{dir:"right",size:e.size})):t}function Ic(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function ZD(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function wa(s,...e){if(!ZD(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function XD(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ic(s.outputLen),Ic(s.blockLen)}function Mh(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function dm(s,e){wa(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Wa=BigInt(2**32-1),mg=BigInt(32);function ek(s,e=!1){return e?{h:Number(s&Wa),l:Number(s>>mg&Wa)}:{h:Number(s>>mg&Wa)|0,l:Number(s&Wa)|0}}function tk(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=ek(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const sk=(s,e,t)=>s<<t|e>>>32-t,ik=(s,e,t)=>e<<t|s>>>32-t,rk=(s,e,t)=>e<<t-32|s>>>64-t,nk=(s,e,t)=>s<<t-32|e>>>64-t,en=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ok(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function ak(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function ck(s,e){return s<<32-e|s>>>e}const bg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function lk(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function vg(s){for(let e=0;e<s.length;e++)s[e]=lk(s[e])}function hk(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function Pu(s){return typeof s=="string"&&(s=hk(s)),wa(s),s}function uk(...s){let e=0;for(let i=0;i<s.length;i++){const r=s[i];wa(r),e+=r.length}const t=new Uint8Array(e);for(let i=0,r=0;i<s.length;i++){const n=s[i];t.set(n,r),r+=n.length}return t}class pm{clone(){return this._cloneInto()}}function gm(s){const e=i=>s().update(Pu(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function dk(s=32){if(en&&typeof en.getRandomValues=="function")return en.getRandomValues(new Uint8Array(s));if(en&&typeof en.randomBytes=="function")return en.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const fm=[],wm=[],ym=[],pk=BigInt(0),po=BigInt(1),gk=BigInt(2),fk=BigInt(7),wk=BigInt(256),yk=BigInt(113);for(let s=0,e=po,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],fm.push(2*(5*i+t)),wm.push((s+1)*(s+2)/2%64);let r=pk;for(let n=0;n<7;n++)e=(e<<po^(e>>fk)*yk)%wk,e&gk&&(r^=po<<(po<<BigInt(n))-po);ym.push(r)}const[mk,bk]=tk(ym,!0),Ig=(s,e,t)=>t>32?rk(s,e,t):sk(s,e,t),Eg=(s,e,t)=>t>32?nk(s,e,t):ik(s,e,t);function vk(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=Ig(l,h,1)^t[a],p=Eg(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=wm[o],c=Ig(r,n,a),l=Eg(r,n,a),h=fm[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=mk[i],s[1]^=bk[i]}t.fill(0)}class xu extends pm{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ic(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=ok(this.state)}keccak(){bg||vg(this.state32),vk(this.state32,this.rounds),bg||vg(this.state32),this.posOut=0,this.pos=0}update(e){Mh(this);const{blockLen:t,state:i}=this;e=Pu(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Mh(this,!1),wa(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ic(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(dm(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new xu(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}}const Ik=(s,e,t)=>gm(()=>new xu(e,s,t)),Ek=Ik(1,136,256/8);function mm(s,e){const t=e||"hex",i=Ek(Qo(s,{strict:!1})?YD(s):s);return t==="bytes"?i:Oh(i)}class Ak extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const i=this.keys().next().value;i&&this.delete(i)}return this}}const kl=new Ak(8192);function _k(s,e){if(kl.has(`${s}.${e}`))return kl.get(`${s}.${e}`);const t=s.substring(2).toLowerCase(),i=mm(um(t),"bytes"),r=t.split("");for(let o=0;o<40;o+=2)i[o>>1]>>4>=8&&r[o]&&(r[o]=r[o].toUpperCase()),(i[o>>1]&15)>=8&&r[o+1]&&(r[o+1]=r[o+1].toUpperCase());const n=`0x${r.join("")}`;return kl.set(`${s}.${e}`,n),n}function Nk(s){const e=mm(`0x${s.substring(4)}`).substring(26);return _k(`0x${e}`)}async function Ck({hash:s,signature:e}){const t=Qo(s)?s:Oh(s),{secp256k1:i}=await Promise.resolve().then(()=>require("./secp256k1-jJLvhP5o.js"));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:h,v:d,yParity:p}=e,f=Number(p??d),g=Ag(f);return new i.Signature(xh(l),xh(h)).addRecoveryBit(g)}const o=Qo(e)?e:Oh(e),a=BD(`0x${o.slice(130)}`),c=Ag(a);return i.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(t.substring(2)).toHex(!1)}`}function Ag(s){if(s===0||s===1)return s;if(s===27)return 0;if(s===28)return 1;throw new Error("Invalid yParityOrV value")}async function Sk({hash:s,signature:e}){return Nk(await Ck({hash:s,signature:e}))}function $k(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var Tk="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const bm=$k(Tk),Pk=":";function Mn(s){const[e,t]=s.split(Pk);return{namespace:e,reference:t}}function vm(s,e){return s.includes(":")?[s]:e.chains||[]}const xk="ReactNative",us={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Ok="js";function Ec(){return typeof P.process$1<"u"&&typeof P.process$1.versions<"u"&&typeof P.process$1.versions.node<"u"}function Ki(){return!u.cjsExports$2.getDocument()&&!!u.cjsExports$2.getNavigator()&&navigator.product===xk}function Mk(){return Ki()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="android"}function Dk(){return Ki()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"&&(P.global==null?void 0:P.global.Platform.OS)==="ios"}function ya(){return!Ec()&&!!u.cjsExports$2.getNavigator()&&!!u.cjsExports$2.getDocument()}function ma(){return Ki()?us.reactNative:Ec()?us.node:ya()?us.browser:us.unknown}function _g(){var s;try{return Ki()&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Application)<"u"?(s=P.global.Application)==null?void 0:s.applicationId:void 0}catch{return}}function kk(s,e){const t=new URLSearchParams(s);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const r=e[i];r!==void 0&&t.set(i,r)}return t.toString()}function Im(){return u.cjsExports.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function jk(){if(ma()===us.reactNative&&typeof P.global<"u"&&typeof(P.global==null?void 0:P.global.Platform)<"u"){const{OS:t,Version:i}=P.global.Platform;return[t,i].join("-")}const s=u.detect();if(s===null)return"unknown";const e=s.os?s.os.replace(" ","").toLowerCase():"unknown";return s.type==="browser"?[e,s.name,s.version].join("-"):[e,s.version].join("-")}function Rk(){var s;const e=ma();return e===us.browser?[e,((s=u.cjsExports$2.getLocation())==null?void 0:s.host)||"unknown"].join(":"):e}function Em(s,e,t){const i=jk(),r=Rk();return[[s,e].join("-"),[Ok,t].join("-"),i,r].join("/")}function Uk({protocol:s,version:e,relayUrl:t,sdkVersion:i,auth:r,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=t.split("?"),h=Em(s,e,i),d={auth:r,ua:h,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},p=kk(l[1]||"",d);return l[0]+"?"+p}function fr(s,e){return s.filter(t=>e.includes(t)).length===s.length}function Dh(s){return Object.fromEntries(s.entries())}function kh(s){return new Map(Object.entries(s))}function or(s=u.cjsExports$1.FIVE_MINUTES,e){const t=u.cjsExports$1.toMiliseconds(s||u.cjsExports$1.FIVE_MINUTES);let i,r,n,o;return{resolve:a=>{n&&i&&(clearTimeout(n),i(a),o=Promise.resolve(a))},reject:a=>{n&&r&&(clearTimeout(n),r(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},t),i=a,r=c})}}function Li(s,e,t){return new Promise(async(i,r)=>{const n=setTimeout(()=>r(new Error(t)),e);try{const o=await s;i(o)}catch(o){r(o)}clearTimeout(n)})}function Am(s,e){if(typeof e=="string"&&e.startsWith(`${s}:`))return e;if(s.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(s.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: ${s}`)}function Lk(s){return Am("topic",s)}function zk(s){return Am("id",s)}function _m(s){const[e,t]=s.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function gt(s,e){return u.cjsExports$1.fromMiliseconds(Date.now()+u.cjsExports$1.toMiliseconds(s))}function Di(s){return Date.now()>=u.cjsExports$1.toMiliseconds(s)}function Pe(s,e){return`${s}${e?`:${e}`:""}`}function oc(s=[],e=[]){return[...new Set([...s,...e])]}async function Fk({id:s,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const r=typeof t=="string"?JSON.parse(t):t,n=r?.href;if(typeof n!="string")return;const o=qk(n,s,e),a=ma();if(a===us.browser){if(!((i=u.cjsExports$2.getDocument())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}Bk(o)}else a===us.reactNative&&typeof(P.global==null?void 0:P.global.Linking)<"u"&&await P.global.Linking.openURL(o)}catch(r){console.error(r)}}function qk(s,e,t){const i=`requestId=${e}&sessionTopic=${t}`;s.endsWith("/")&&(s=s.slice(0,-1));let r=`${s}`;if(s.startsWith("https://t.me")){const n=s.includes("?")?"&startapp=":"?startapp=";r=`${r}${n}${Kk(i,!0)}`}else r=`${r}/wc?${i}`;return r}function Bk(s){let e="_self";Vk()?e="_top":(Wk()||s.startsWith("https://")||s.startsWith("http://"))&&(e="_blank"),window.open(s,e,"noreferrer noopener")}async function Hk(s,e){let t="";try{if(ya()&&(t=localStorage.getItem(e),t))return t;t=await s.getItem(e)}catch(i){console.error(i)}return t}function Ng(s,e){if(!s.includes(e))return null;const t=s.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function Cg(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,s=>{const e=Math.random()*16|0;return(s==="x"?e:e&3|8).toString(16)})}function Ou(){return typeof P.process$1<"u"&&P.process$1.env.IS_VITEST==="true"}function Wk(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Vk(){try{return window.self!==window.top}catch{return!1}}function Kk(s,e=!1){const t=P.Buffer.from(s).toString("base64");return e?t.replace(/[=]/g,""):t}function Nm(s){return P.Buffer.from(s,"base64").toString("utf-8")}function Gk(s){return new Promise(e=>setTimeout(e,s))}function Jo(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function Yk(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function Kc(s,...e){if(!Yk(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function Mu(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Jo(s.outputLen),Jo(s.blockLen)}function Ln(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Cm(s,e){Kc(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Va=BigInt(2**32-1),Sg=BigInt(32);function Qk(s,e=!1){return e?{h:Number(s&Va),l:Number(s>>Sg&Va)}:{h:Number(s>>Sg&Va)|0,l:Number(s&Va)|0}}function Jk(s,e=!1){let t=new Uint32Array(s.length),i=new Uint32Array(s.length);for(let r=0;r<s.length;r++){const{h:n,l:o}=Qk(s[r],e);[t[r],i[r]]=[n,o]}return[t,i]}const Zk=(s,e,t)=>s<<t|e>>>32-t,Xk=(s,e,t)=>e<<t|s>>>32-t,e3=(s,e,t)=>e<<t-32|s>>>64-t,t3=(s,e,t)=>s<<t-32|e>>>64-t,tn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function s3(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function jl(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Gs(s,e){return s<<32-e|s>>>e}const $g=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function i3(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function Tg(s){for(let e=0;e<s.length;e++)s[e]=i3(s[e])}function r3(s){if(typeof s!="string")throw new Error("utf8ToBytes expected string, got "+typeof s);return new Uint8Array(new TextEncoder().encode(s))}function zn(s){return typeof s=="string"&&(s=r3(s)),Kc(s),s}let Du=class{clone(){return this._cloneInto()}};function Sm(s){const e=i=>s().update(zn(i)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function ba(s=32){if(tn&&typeof tn.getRandomValues=="function")return tn.getRandomValues(new Uint8Array(s));if(tn&&typeof tn.randomBytes=="function")return tn.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}const $m=[],Tm=[],Pm=[],n3=BigInt(0),go=BigInt(1),o3=BigInt(2),a3=BigInt(7),c3=BigInt(256),l3=BigInt(113);for(let s=0,e=go,t=1,i=0;s<24;s++){[t,i]=[i,(2*t+3*i)%5],$m.push(2*(5*i+t)),Tm.push((s+1)*(s+2)/2%64);let r=n3;for(let n=0;n<7;n++)e=(e<<go^(e>>a3)*l3)%c3,e&o3&&(r^=go<<(go<<BigInt(n))-go);Pm.push(r)}const[h3,u3]=Jk(Pm,!0),Pg=(s,e,t)=>t>32?e3(s,e,t):Zk(s,e,t),xg=(s,e,t)=>t>32?t3(s,e,t):Xk(s,e,t);function d3(s,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=s[o]^s[o+10]^s[o+20]^s[o+30]^s[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=t[c],h=t[c+1],d=Pg(l,h,1)^t[a],p=xg(l,h,1)^t[a+1];for(let f=0;f<50;f+=10)s[o+f]^=d,s[o+f+1]^=p}let r=s[2],n=s[3];for(let o=0;o<24;o++){const a=Tm[o],c=Pg(r,n,a),l=xg(r,n,a),h=$m[o];r=s[h],n=s[h+1],s[h]=c,s[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=s[o+a];for(let a=0;a<10;a++)s[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}s[0]^=h3[i],s[1]^=u3[i]}t.fill(0)}let p3=class xm extends Du{constructor(e,t,i,r=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Jo(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=s3(this.state)}keccak(){$g||Tg(this.state32),d3(this.state32,this.rounds),$g||Tg(this.state32),this.posOut=0,this.pos=0}update(e){Ln(this);const{blockLen:t,state:i}=this;e=zn(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(t-this.pos,r-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(t&128)!==0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Ln(this,!1),Kc(e),this.finish();const t=this.state,{blockLen:i}=this;for(let r=0,n=e.length;r<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Jo(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Cm(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:t,suffix:i,outputLen:r,rounds:n,enableXOF:o}=this;return e||(e=new xm(t,i,r,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const g3=(s,e,t)=>Sm(()=>new p3(e,s,t)),f3=g3(1,136,256/8),w3="https://rpc.walletconnect.org/v1";function Om(s){const e=`Ethereum Signed Message:
|
|
13
13
|
${s.length}`,t=new TextEncoder().encode(e+s);return"0x"+P.Buffer.from(f3(t)).toString("hex")}async function y3(s,e,t,i,r,n){switch(t.t){case"eip191":return await m3(s,e,t.s);case"eip1271":return await b3(s,e,t.s,i,r,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}async function m3(s,e,t){return(await Sk({hash:Om(e),signature:t})).toLowerCase()===s.toLowerCase()}async function b3(s,e,t,i,r,n){const o=Mn(i);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",h=t.substring(2),d=Om(e).substring(2),p=a+d+c+l+h,f=await fetch(`${n||w3}/?chainId=${i}&projectId=${r}`,{method:"POST",body:JSON.stringify({id:v3(),jsonrpc:"2.0",method:"eth_call",params:[{to:s,data:p},"latest"]})}),{result:g}=await f.json();return g?g.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function v3(){return Date.now()+Math.floor(Math.random()*1e3)}function I3(s){const e=atob(s),t=new Uint8Array(e.length);for(let o=0;o<e.length;o++)t[o]=e.charCodeAt(o);const i=t[0];if(i===0)throw new Error("No signatures found");const r=1+i*64;if(t.length<r)throw new Error("Transaction data too short for claimed signature count");if(t.length<100)throw new Error("Transaction too short");const n=P.Buffer.from(s,"base64").slice(1,65);return bm.encode(n)}var E3=Object.defineProperty,A3=Object.defineProperties,_3=Object.getOwnPropertyDescriptors,Og=Object.getOwnPropertySymbols,N3=Object.prototype.hasOwnProperty,C3=Object.prototype.propertyIsEnumerable,Mg=(s,e,t)=>e in s?E3(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,S3=(s,e)=>{for(var t in e||(e={}))N3.call(e,t)&&Mg(s,t,e[t]);if(Og)for(var t of Og(e))C3.call(e,t)&&Mg(s,t,e[t]);return s},$3=(s,e)=>A3(s,_3(e));const T3="did:pkh:",ku=s=>s?.split(":"),P3=s=>{const e=s&&ku(s);if(e)return s.includes(T3)?e[3]:e[1]},jh=s=>{const e=s&&ku(s);if(e)return e[2]+":"+e[3]},Ac=s=>{const e=s&&ku(s);if(e)return e.pop()};async function Dg(s){const{cacao:e,projectId:t}=s,{s:i,p:r}=e,n=Mm(r,r.iss),o=Ac(r.iss);return await y3(o,n,i,jh(r.iss),t)}const Mm=(s,e)=>{const t=`${s.domain} wants you to sign in with your Ethereum account:`,i=Ac(e);if(!s.aud&&!s.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let r=s.statement||void 0;const n=`URI: ${s.aud||s.uri}`,o=`Version: ${s.version}`,a=`Chain ID: ${P3(e)}`,c=`Nonce: ${s.nonce}`,l=`Issued At: ${s.iat}`,h=s.exp?`Expiration Time: ${s.exp}`:void 0,d=s.nbf?`Not Before: ${s.nbf}`:void 0,p=s.requestId?`Request ID: ${s.requestId}`:void 0,f=s.resources?`Resources:${s.resources.map(w=>`
|
|
14
14
|
- ${w}`).join("")}`:void 0,g=ac(s.resources);if(g){const w=Zo(g);r=L3(r,w)}return[t,i,"",r,"",n,o,a,c,l,h,d,p,f].filter(w=>w!=null).join(`
|
|
15
15
|
`)};function x3(s){return P.Buffer.from(JSON.stringify(s)).toString("base64")}function O3(s){return JSON.parse(P.Buffer.from(s,"base64").toString("utf-8"))}function _r(s){if(!s)throw new Error("No recap provided, value is undefined");if(!s.att)throw new Error("No `att` property found");const e=Object.keys(s.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const i=s.att[t];if(Array.isArray(i))throw new Error(`Resource must be an object: ${t}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(i).forEach(r=>{const n=i[r];if(!Array.isArray(n))throw new Error(`Ability limits ${r} must be an array of objects, found: ${n}`);if(!n.length)throw new Error(`Value of ${r} is empty array, must be an array with objects`);n.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${r}) must be an array of objects, found: ${o}`)})})})}function M3(s,e,t,i={}){return t?.sort((r,n)=>r.localeCompare(n)),{att:{[s]:D3(e,t,i)}}}function D3(s,e,t={}){e=e?.sort((r,n)=>r.localeCompare(n));const i=e.map(r=>({[`${s}/${r}`]:[t]}));return Object.assign({},...i)}function Dm(s){return _r(s),`urn:recap:${x3(s).replace(/=/g,"")}`}function Zo(s){const e=O3(s.replace("urn:recap:",""));return _r(e),e}function k3(s,e,t){const i=M3(s,e,t);return Dm(i)}function j3(s){return s&&s.includes("urn:recap:")}function R3(s,e){const t=Zo(s),i=Zo(e),r=U3(t,i);return Dm(r)}function U3(s,e){_r(s),_r(e);const t=Object.keys(s.att).concat(Object.keys(e.att)).sort((r,n)=>r.localeCompare(n)),i={att:{}};return t.forEach(r=>{var n,o;Object.keys(((n=s.att)==null?void 0:n[r])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[r])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,l;i.att[r]=$3(S3({},i.att[r]),{[a]:((c=s.att[r])==null?void 0:c[a])||((l=e.att[r])==null?void 0:l[a])})})}),i}function L3(s="",e){_r(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(s.includes(t))return s;const i=[];let r=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(d=>({ability:d.split("/")[0],action:d.split("/")[1]}));c.sort((d,p)=>d.action.localeCompare(p.action));const l={};c.forEach(d=>{l[d.ability]||(l[d.ability]=[]),l[d.ability].push(d.action)});const h=Object.keys(l).map(d=>(r++,`(${r}) '${d}': '${l[d].join("', '")}' for '${a}'.`));i.push(h.join(", ").replace(".,","."))});const n=i.join(" "),o=`${t}${n}`;return`${s?s+" ":""}${o}`}function kg(s){var e;const t=Zo(s);_r(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(r=>r.split("/")[1]):[]}function jg(s){const e=Zo(s);_r(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(r=>{var n;(n=r?.[0])!=null&&n.chains&&t.push(r[0].chains)})}),[...new Set(t.flat())]}function ac(s){if(!s)return;const e=s?.[s.length-1];return j3(e)?e:void 0}function Rl(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function km(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function ls(s,...e){if(!km(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function Rg(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function z3(s,e){ls(s);const t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Ug(s){if(typeof s!="boolean")throw new Error(`boolean expected, not ${s}`)}const qi=s=>new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4)),F3=s=>new DataView(s.buffer,s.byteOffset,s.byteLength),q3=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!q3)throw new Error("Non little-endian hardware is not supported");function B3(s){if(typeof s!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(s))}function Rh(s){if(typeof s=="string")s=B3(s);else if(km(s))s=Uh(s);else throw new Error("Uint8Array expected, got "+typeof s);return s}function H3(s,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(s,e)}function W3(s,e){if(s.length!==e.length)return!1;let t=0;for(let i=0;i<s.length;i++)t|=s[i]^e[i];return t===0}const V3=(s,e)=>{function t(i,...r){if(ls(i),s.nonceLength!==void 0){const l=r[0];if(!l)throw new Error("nonce / iv required");s.varSizeNonce?ls(l):ls(l,s.nonceLength)}const n=s.tagLength;n&&r[1]!==void 0&&ls(r[1]);const o=e(i,...r),a=(l,h)=>{if(h!==void 0){if(l!==2)throw new Error("cipher output not supported");ls(h)}};let c=!1;return{encrypt(l,h){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,ls(l),a(o.encrypt.length,h),o.encrypt(l,h)},decrypt(l,h){if(ls(l),n&&l.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,h),o.decrypt(l,h)}}}return Object.assign(t,s),t};function Lg(s,e,t=!0){if(e===void 0)return new Uint8Array(s);if(e.length!==s)throw new Error("invalid output length, expected "+s+", got: "+e.length);if(t&&!K3(e))throw new Error("invalid output, must be aligned");return e}function zg(s,e,t,i){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,i);const r=BigInt(32),n=BigInt(4294967295),o=Number(t>>r&n),a=Number(t&n);s.setUint32(e+4,o,i),s.setUint32(e+0,a,i)}function K3(s){return s.byteOffset%4===0}function Uh(s){return Uint8Array.from(s)}function Fn(...s){for(let e=0;e<s.length;e++)s[e].fill(0)}const jm=s=>Uint8Array.from(s.split("").map(e=>e.charCodeAt(0))),G3=jm("expand 16-byte k"),Y3=jm("expand 32-byte k"),Q3=qi(G3),J3=qi(Y3);function Ae(s,e){return s<<e|s>>>32-e}function Lh(s){return s.byteOffset%4===0}const Ka=64,Z3=16,Rm=2**32-1,Fg=new Uint32Array;function X3(s,e,t,i,r,n,o,a){const c=r.length,l=new Uint8Array(Ka),h=qi(l),d=Lh(r)&&Lh(n),p=d?qi(r):Fg,f=d?qi(n):Fg;for(let g=0;g<c;o++){if(s(e,t,i,h,o,a),o>=Rm)throw new Error("arx: counter overflow");const w=Math.min(Ka,c-g);if(d&&w===Ka){const v=g/4;if(g%4!==0)throw new Error("arx: invalid block position");for(let b=0,m;b<Z3;b++)m=v+b,f[m]=p[m]^h[b];g+=Ka;continue}for(let v=0,b;v<w;v++)b=g+v,n[b]=r[b]^l[v];g+=w}}function ej(s,e){const{allowShortKeys:t,extendNonceFn:i,counterLength:r,counterRight:n,rounds:o}=H3({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof s!="function")throw new Error("core must be a function");return Rl(r),Rl(o),Ug(n),Ug(t),(a,c,l,h,d=0)=>{ls(a),ls(c),ls(l);const p=l.length;if(h===void 0&&(h=new Uint8Array(p)),ls(h),Rl(d),d<0||d>=Rm)throw new Error("arx: counter overflow");if(h.length<p)throw new Error(`arx: output (${h.length}) is shorter than data (${p})`);const f=[];let g=a.length,w,v;if(g===32)f.push(w=Uh(a)),v=J3;else if(g===16&&t)w=new Uint8Array(32),w.set(a),w.set(a,16),v=Q3,f.push(w);else throw new Error(`arx: invalid 32-byte key, got length=${g}`);Lh(c)||f.push(c=Uh(c));const b=qi(w);if(i){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");i(v,b,qi(c.subarray(0,16)),b),c=c.subarray(16)}const m=16-r;if(m!==c.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(m!==12){const C=new Uint8Array(12);C.set(c,n?0:12-c.length),c=C,f.push(c)}const _=qi(c);return X3(s,v,b,_,l,h,d,o),Fn(...f),h}}const Tt=(s,e)=>s[e++]&255|(s[e++]&255)<<8;let tj=class{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=Rh(e),ls(e,32);const t=Tt(e,0),i=Tt(e,2),r=Tt(e,4),n=Tt(e,6),o=Tt(e,8),a=Tt(e,10),c=Tt(e,12),l=Tt(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|i<<3)&8191,this.r[2]=(i>>>10|r<<6)&7939,this.r[3]=(r>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let h=0;h<8;h++)this.pad[h]=Tt(e,16+2*h)}process(e,t,i=!1){const r=i?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],l=o[2],h=o[3],d=o[4],p=o[5],f=o[6],g=o[7],w=o[8],v=o[9],b=Tt(e,t+0),m=Tt(e,t+2),_=Tt(e,t+4),C=Tt(e,t+6),T=Tt(e,t+8),x=Tt(e,t+10),M=Tt(e,t+12),j=Tt(e,t+14);let A=n[0]+(b&8191),$=n[1]+((b>>>13|m<<3)&8191),N=n[2]+((m>>>10|_<<6)&8191),R=n[3]+((_>>>7|C<<9)&8191),L=n[4]+((C>>>4|T<<12)&8191),B=n[5]+(T>>>1&8191),H=n[6]+((T>>>14|x<<2)&8191),U=n[7]+((x>>>11|M<<5)&8191),K=n[8]+((M>>>8|j<<8)&8191),Y=n[9]+(j>>>5|r),S=0,W=S+A*a+$*(5*v)+N*(5*w)+R*(5*g)+L*(5*f);S=W>>>13,W&=8191,W+=B*(5*p)+H*(5*d)+U*(5*h)+K*(5*l)+Y*(5*c),S+=W>>>13,W&=8191;let X=S+A*c+$*a+N*(5*v)+R*(5*w)+L*(5*g);S=X>>>13,X&=8191,X+=B*(5*f)+H*(5*p)+U*(5*d)+K*(5*h)+Y*(5*l),S+=X>>>13,X&=8191;let Q=S+A*l+$*c+N*a+R*(5*v)+L*(5*w);S=Q>>>13,Q&=8191,Q+=B*(5*g)+H*(5*f)+U*(5*p)+K*(5*d)+Y*(5*h),S+=Q>>>13,Q&=8191;let be=S+A*h+$*l+N*c+R*a+L*(5*v);S=be>>>13,be&=8191,be+=B*(5*w)+H*(5*g)+U*(5*f)+K*(5*p)+Y*(5*d),S+=be>>>13,be&=8191;let de=S+A*d+$*h+N*l+R*c+L*a;S=de>>>13,de&=8191,de+=B*(5*v)+H*(5*w)+U*(5*g)+K*(5*f)+Y*(5*p),S+=de>>>13,de&=8191;let ee=S+A*p+$*d+N*h+R*l+L*c;S=ee>>>13,ee&=8191,ee+=B*a+H*(5*v)+U*(5*w)+K*(5*g)+Y*(5*f),S+=ee>>>13,ee&=8191;let it=S+A*f+$*p+N*d+R*h+L*l;S=it>>>13,it&=8191,it+=B*c+H*a+U*(5*v)+K*(5*w)+Y*(5*g),S+=it>>>13,it&=8191;let Ue=S+A*g+$*f+N*p+R*d+L*h;S=Ue>>>13,Ue&=8191,Ue+=B*l+H*c+U*a+K*(5*v)+Y*(5*w),S+=Ue>>>13,Ue&=8191;let ve=S+A*w+$*g+N*f+R*p+L*d;S=ve>>>13,ve&=8191,ve+=B*h+H*l+U*c+K*a+Y*(5*v),S+=ve>>>13,ve&=8191;let De=S+A*v+$*w+N*g+R*f+L*p;S=De>>>13,De&=8191,De+=B*d+H*h+U*l+K*c+Y*a,S+=De>>>13,De&=8191,S=(S<<2)+S|0,S=S+W|0,W=S&8191,S=S>>>13,X+=S,n[0]=W,n[1]=X,n[2]=Q,n[3]=be,n[4]=de,n[5]=ee,n[6]=it,n[7]=Ue,n[8]=ve,n[9]=De}finalize(){const{h:e,pad:t}=this,i=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=r,r=e[a]>>>13,e[a]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,i[0]=e[0]+5,r=i[0]>>>13,i[0]&=8191;for(let a=1;a<10;a++)i[a]=e[a]+r,r=i[a]>>>13,i[a]&=8191;i[9]-=8192;let n=(r^1)-1;for(let a=0;a<10;a++)i[a]&=n;n=~n;for(let a=0;a<10;a++)e[a]=e[a]&n|i[a];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 o=e[0]+t[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+t[a]|0)+(o>>>16)|0,e[a]=o&65535;Fn(i)}update(e){Rg(this);const{buffer:t,blockLen:i}=this;e=Rh(e);const r=e.length;for(let n=0;n<r;){const o=Math.min(i-this.pos,r-n);if(o===i){for(;i<=r-n;n+=i)this.process(e,n);continue}t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){Fn(this.h,this.r,this.buffer,this.pad)}digestInto(e){Rg(this),z3(e,this),this.finished=!0;const{buffer:t,h:i}=this;let{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=i[o]>>>0,e[n++]=i[o]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}};function sj(s){const e=(i,r)=>s(r).update(Rh(i)).digest(),t=s(new Uint8Array(32));return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=i=>s(i),e}const ij=sj(s=>new tj(s));function rj(s,e,t,i,r,n=20){let o=s[0],a=s[1],c=s[2],l=s[3],h=e[0],d=e[1],p=e[2],f=e[3],g=e[4],w=e[5],v=e[6],b=e[7],m=r,_=t[0],C=t[1],T=t[2],x=o,M=a,j=c,A=l,$=h,N=d,R=p,L=f,B=g,H=w,U=v,K=b,Y=m,S=_,W=C,X=T;for(let be=0;be<n;be+=2)x=x+$|0,Y=Ae(Y^x,16),B=B+Y|0,$=Ae($^B,12),x=x+$|0,Y=Ae(Y^x,8),B=B+Y|0,$=Ae($^B,7),M=M+N|0,S=Ae(S^M,16),H=H+S|0,N=Ae(N^H,12),M=M+N|0,S=Ae(S^M,8),H=H+S|0,N=Ae(N^H,7),j=j+R|0,W=Ae(W^j,16),U=U+W|0,R=Ae(R^U,12),j=j+R|0,W=Ae(W^j,8),U=U+W|0,R=Ae(R^U,7),A=A+L|0,X=Ae(X^A,16),K=K+X|0,L=Ae(L^K,12),A=A+L|0,X=Ae(X^A,8),K=K+X|0,L=Ae(L^K,7),x=x+N|0,X=Ae(X^x,16),U=U+X|0,N=Ae(N^U,12),x=x+N|0,X=Ae(X^x,8),U=U+X|0,N=Ae(N^U,7),M=M+R|0,Y=Ae(Y^M,16),K=K+Y|0,R=Ae(R^K,12),M=M+R|0,Y=Ae(Y^M,8),K=K+Y|0,R=Ae(R^K,7),j=j+L|0,S=Ae(S^j,16),B=B+S|0,L=Ae(L^B,12),j=j+L|0,S=Ae(S^j,8),B=B+S|0,L=Ae(L^B,7),A=A+$|0,W=Ae(W^A,16),H=H+W|0,$=Ae($^H,12),A=A+$|0,W=Ae(W^A,8),H=H+W|0,$=Ae($^H,7);let Q=0;i[Q++]=o+x|0,i[Q++]=a+M|0,i[Q++]=c+j|0,i[Q++]=l+A|0,i[Q++]=h+$|0,i[Q++]=d+N|0,i[Q++]=p+R|0,i[Q++]=f+L|0,i[Q++]=g+B|0,i[Q++]=w+H|0,i[Q++]=v+U|0,i[Q++]=b+K|0,i[Q++]=m+Y|0,i[Q++]=_+S|0,i[Q++]=C+W|0,i[Q++]=T+X|0}const nj=ej(rj,{counterRight:!1,counterLength:4,allowShortKeys:!1}),oj=new Uint8Array(16),qg=(s,e)=>{s.update(e);const t=e.length%16;t&&s.update(oj.subarray(t))},aj=new Uint8Array(32);function Bg(s,e,t,i,r){const n=s(e,t,aj),o=ij.create(n);r&&qg(o,r),qg(o,i);const a=new Uint8Array(16),c=F3(a);zg(c,0,BigInt(r?r.length:0),!0),zg(c,8,BigInt(i.length),!0),o.update(a);const l=o.digest();return Fn(n,a),l}const cj=s=>(e,t,i)=>({encrypt(r,n){const o=r.length;n=Lg(o+16,n,!1),n.set(r);const a=n.subarray(0,-16);s(e,t,a,a,1);const c=Bg(s,e,t,a,i);return n.set(c,o),Fn(c),n},decrypt(r,n){n=Lg(r.length-16,n,!1);const o=r.subarray(0,-16),a=r.subarray(-16),c=Bg(s,e,t,o,i);if(!W3(a,c))throw new Error("invalid tag");return n.set(r.subarray(0,-16)),s(e,t,n,n,1),Fn(c),n}}),Um=V3({blockSize:64,nonceLength:12,tagLength:16},cj(nj));let Lm=class extends Du{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Mu(e);const i=zn(t);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 r=this.blockLen,n=new Uint8Array(r);n.set(i.length>r?e.create().update(i).digest():i);for(let o=0;o<n.length;o++)n[o]^=54;this.iHash.update(n),this.oHash=e.create();for(let o=0;o<n.length;o++)n[o]^=106;this.oHash.update(n),n.fill(0)}update(e){return Ln(this),this.iHash.update(e),this}digestInto(e){Ln(this),Kc(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:t,iHash:i,finished:r,destroyed:n,blockLen:o,outputLen:a}=this;return e=e,e.finished=r,e.destroyed=n,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const ju=(s,e,t)=>new Lm(s,e).update(t).digest();ju.create=(s,e)=>new Lm(s,e);function lj(s,e,t){return Mu(s),t===void 0&&(t=new Uint8Array(s.outputLen)),ju(s,zn(t),zn(e))}const Ul=new Uint8Array([0]),Hg=new Uint8Array;function hj(s,e,t,i=32){if(Mu(s),Jo(i),i>255*s.outputLen)throw new Error("Length should be <= 255*HashLen");const r=Math.ceil(i/s.outputLen);t===void 0&&(t=Hg);const n=new Uint8Array(r*s.outputLen),o=ju.create(s,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let l=0;l<r;l++)Ul[0]=l+1,a.update(l===0?Hg:c).update(t).update(Ul).digestInto(c),n.set(c,s.outputLen*l),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Ul.fill(0),n.slice(0,i)}const uj=(s,e,t,i,r)=>hj(s,lj(s,e,t),i,r);function dj(s,e,t,i){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,i);const r=BigInt(32),n=BigInt(4294967295),o=Number(t>>r&n),a=Number(t&n),c=i?4:0,l=i?0:4;s.setUint32(e+c,o,i),s.setUint32(e+l,a,i)}function pj(s,e,t){return s&e^~s&t}function gj(s,e,t){return s&e^s&t^e&t}class fj extends Du{constructor(e,t,i,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=jl(this.buffer)}update(e){Ln(this);const{view:t,buffer:i,blockLen:r}=this;e=zn(e);const n=e.length;for(let o=0;o<n;){const a=Math.min(r-this.pos,n-o);if(a===r){const c=jl(e);for(;r<=n-o;o+=r)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ln(this),Cm(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:r,isLE:n}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(i,0),o=0);for(let d=o;d<r;d++)t[d]=0;dj(i,r-8,BigInt(this.length*8),n),this.process(i,0);const a=jl(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,h[d],n)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:r,finished:n,destroyed:o,pos:a}=this;return e.length=r,e.pos=a,e.finished=n,e.destroyed=o,r%t&&e.buffer.set(i),e}}const wj=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]),$i=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ti=new Uint32Array(64);let yj=class extends fj{constructor(){super(64,32,8,!1),this.A=$i[0]|0,this.B=$i[1]|0,this.C=$i[2]|0,this.D=$i[3]|0,this.E=$i[4]|0,this.F=$i[5]|0,this.G=$i[6]|0,this.H=$i[7]|0}get(){const{A:e,B:t,C:i,D:r,E:n,F:o,G:a,H:c}=this;return[e,t,i,r,n,o,a,c]}set(e,t,i,r,n,o,a,c){this.A=e|0,this.B=t|0,this.C=i|0,this.D=r|0,this.E=n|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)Ti[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){const p=Ti[d-15],f=Ti[d-2],g=Gs(p,7)^Gs(p,18)^p>>>3,w=Gs(f,17)^Gs(f,19)^f>>>10;Ti[d]=w+Ti[d-7]+g+Ti[d-16]|0}let{A:i,B:r,C:n,D:o,E:a,F:c,G:l,H:h}=this;for(let d=0;d<64;d++){const p=Gs(a,6)^Gs(a,11)^Gs(a,25),f=h+p+pj(a,c,l)+wj[d]+Ti[d]|0,g=(Gs(i,2)^Gs(i,13)^Gs(i,22))+gj(i,r,n)|0;h=l,l=c,c=a,a=o+f|0,o=n,n=r,r=i,i=f+g|0}i=i+this.A|0,r=r+this.B|0,n=n+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,h=h+this.H|0,this.set(i,r,n,o,a,c,l,h)}roundClean(){Ti.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Gc=Sm(()=>new yj);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const zm=BigInt(0);function Ru(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function Fm(s){if(!Ru(s))throw new Error("Uint8Array expected")}const mj=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function bj(s){Fm(s);let e="";for(let t=0;t<s.length;t++)e+=mj[s[t]];return e}function vj(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);return s===""?zm:BigInt("0x"+s)}const ui={_0:48,_9:57,A:65,F:70,a:97,f:102};function Wg(s){if(s>=ui._0&&s<=ui._9)return s-ui._0;if(s>=ui.A&&s<=ui.F)return s-(ui.A-10);if(s>=ui.a&&s<=ui.f)return s-(ui.a-10)}function qm(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);const e=s.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let r=0,n=0;r<t;r++,n+=2){const o=Wg(s.charCodeAt(n)),a=Wg(s.charCodeAt(n+1));if(o===void 0||a===void 0){const c=s[n]+s[n+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+n)}i[r]=o*16+a}return i}function Vg(s){return Fm(s),vj(bj(Uint8Array.from(s).reverse()))}function Ij(s,e){return qm(s.toString(16).padStart(e*2,"0"))}function Ej(s,e){return Ij(s,e).reverse()}function Kg(s,e,t){let i;if(typeof e=="string")try{i=qm(e)}catch(n){throw new Error(s+" must be hex string or Uint8Array, cause: "+n)}else if(Ru(e))i=Uint8Array.from(e);else throw new Error(s+" must be hex string or Uint8Array");const r=i.length;if(typeof t=="number"&&r!==t)throw new Error(s+" of length "+t+" expected, got "+r);return i}const Ll=s=>typeof s=="bigint"&&zm<=s;function Aj(s,e,t){return Ll(s)&&Ll(e)&&Ll(t)&&e<=s&&s<t}function Gg(s,e,t,i){if(!Aj(e,t,i))throw new Error("expected valid "+s+": "+t+" <= n < "+i+", got "+e)}const _j={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||Ru(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Nj(s,e,t={}){const i=(r,n,o)=>{const a=_j[n];if(typeof a!="function")throw new Error("invalid validator function");const c=s[r];if(!(o&&c===void 0)&&!a(c,s))throw new Error("param "+String(r)+" is invalid. Expected "+n+", got "+c)};for(const[r,n]of Object.entries(e))i(r,n,!1);for(const[r,n]of Object.entries(t))i(r,n,!0);return s}const Sn=BigInt(0),Ga=BigInt(1);function Bm(s,e){const t=s%e;return t>=Sn?t:e+t}function Cj(s,e,t){if(e<Sn)throw new Error("invalid exponent, negatives unsupported");if(t<=Sn)throw new Error("invalid modulus");if(t===Ga)return Sn;let i=Ga;for(;e>Sn;)e&Ga&&(i=i*s%t),s=s*s%t,e>>=Ga;return i}function Us(s,e,t){let i=s;for(;e-- >Sn;)i*=i,i%=t;return i}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const sn=BigInt(0),zl=BigInt(1);function Sj(s){return Nj(s,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...s})}function $j(s){const e=Sj(s),{P:t}=e,i=m=>Bm(m,t),r=e.montgomeryBits,n=Math.ceil(r/8),o=e.nByteLength,a=e.adjustScalarBytes||(m=>m),c=e.powPminus2||(m=>Cj(m,t-BigInt(2),t));function l(m,_,C){const T=i(m*(_-C));return _=i(_-T),C=i(C+T),[_,C]}const h=(e.a-BigInt(2))/BigInt(4);function d(m,_){Gg("u",m,sn,t),Gg("scalar",_,sn,t);const C=_,T=m;let x=zl,M=sn,j=m,A=zl,$=sn,N;for(let L=BigInt(r-1);L>=sn;L--){const B=C>>L&zl;$^=B,N=l($,x,j),x=N[0],j=N[1],N=l($,M,A),M=N[0],A=N[1],$=B;const H=x+M,U=i(H*H),K=x-M,Y=i(K*K),S=U-Y,W=j+A,X=j-A,Q=i(X*H),be=i(W*K),de=Q+be,ee=Q-be;j=i(de*de),A=i(T*i(ee*ee)),x=i(U*Y),M=i(S*(U+i(h*S)))}N=l($,x,j),x=N[0],j=N[1],N=l($,M,A),M=N[0],A=N[1];const R=c(M);return i(x*R)}function p(m){return Ej(i(m),n)}function f(m){const _=Kg("u coordinate",m,n);return o===32&&(_[31]&=127),Vg(_)}function g(m){const _=Kg("scalar",m),C=_.length;if(C!==n&&C!==o){let T=""+n+" or "+o;throw new Error("invalid scalar, expected "+T+" bytes, got "+C)}return Vg(a(_))}function w(m,_){const C=f(_),T=g(m),x=d(C,T);if(x===sn)throw new Error("invalid private or public key received");return p(x)}const v=p(e.Gu);function b(m){return w(m,v)}return{scalarMult:w,scalarMultBase:b,getSharedSecret:(m,_)=>w(m,_),getPublicKey:m=>b(m),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:v}}const zh=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const Tj=BigInt(1),Yg=BigInt(2),Pj=BigInt(3),xj=BigInt(5);BigInt(8);function Oj(s){const e=BigInt(10),t=BigInt(20),i=BigInt(40),r=BigInt(80),n=zh,o=s*s%n*s%n,a=Us(o,Yg,n)*o%n,c=Us(a,Tj,n)*s%n,l=Us(c,xj,n)*c%n,h=Us(l,e,n)*l%n,d=Us(h,t,n)*h%n,p=Us(d,i,n)*d%n,f=Us(p,r,n)*p%n,g=Us(f,r,n)*p%n,w=Us(g,e,n)*l%n;return{pow_p_5_8:Us(w,Yg,n)*s%n,b2:o}}function Mj(s){return s[0]&=248,s[31]&=127,s[31]|=64,s}const Fh=$j({P:zh,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:s=>{const e=zh,{pow_p_5_8:t,b2:i}=Oj(s);return Bm(Us(t,Pj,e)*i,e)},adjustScalarBytes:Mj,randomBytes:ba}),Hm="base10",Bt="base16",zi="base64pad",fo="base64url",va="utf8",Wm=0,vi=1,Ia=2,Dj=0,Qg=1,ko=12,Uu=32;function kj(){const s=Fh.utils.randomPrivateKey(),e=Fh.getPublicKey(s);return{privateKey:u.toString(s,Bt),publicKey:u.toString(e,Bt)}}function qh(){const s=ba(Uu);return u.toString(s,Bt)}function jj(s,e){const t=Fh.getSharedSecret(u.fromString(s,Bt),u.fromString(e,Bt)),i=uj(Gc,t,void 0,void 0,Uu);return u.toString(i,Bt)}function cc(s){const e=Gc(u.fromString(s,Bt));return u.toString(e,Bt)}function Xs(s){const e=Gc(u.fromString(s,va));return u.toString(e,Bt)}function Vm(s){return u.fromString(`${s}`,Hm)}function Nr(s){return Number(u.toString(s,Hm))}function Rj(s){const e=Vm(typeof s.type<"u"?s.type:Wm);if(Nr(e)===vi&&typeof s.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof s.senderPublicKey<"u"?u.fromString(s.senderPublicKey,Bt):void 0,i=typeof s.iv<"u"?u.fromString(s.iv,Bt):ba(ko),r=u.fromString(s.symKey,Bt),n=Um(r,i).encrypt(u.fromString(s.message,va));return Km({type:e,sealed:n,iv:i,senderPublicKey:t,encoding:s.encoding})}function Uj(s){const e=u.fromString(s.symKey,Bt),{sealed:t,iv:i}=Xo(s),r=Um(e,i).decrypt(t);if(r===null)throw new Error("Failed to decrypt");return u.toString(r,va)}function Lj(s,e){const t=Vm(Ia),i=ba(ko),r=u.fromString(s,va);return Km({type:t,sealed:r,iv:i,encoding:e})}function zj(s,e){const{sealed:t}=Xo({encoded:s,encoding:e});return u.toString(t,va)}function Km(s){const{encoding:e=zi}=s;if(Nr(s.type)===Ia)return u.toString(u.concat([s.type,s.sealed]),e);if(Nr(s.type)===vi){if(typeof s.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return u.toString(u.concat([s.type,s.senderPublicKey,s.iv,s.sealed]),e)}return u.toString(u.concat([s.type,s.iv,s.sealed]),e)}function Xo(s){const{encoded:e,encoding:t=zi}=s,i=u.fromString(e,t),r=i.slice(Dj,Qg),n=Qg;if(Nr(r)===vi){const l=n+Uu,h=l+ko,d=i.slice(n,l),p=i.slice(l,h),f=i.slice(h);return{type:r,sealed:f,iv:p,senderPublicKey:d}}if(Nr(r)===Ia){const l=i.slice(n),h=ba(ko);return{type:r,sealed:l,iv:h}}const o=n+ko,a=i.slice(n,o),c=i.slice(o);return{type:r,sealed:c,iv:a}}function Fj(s,e){const t=Xo({encoded:s,encoding:e?.encoding});return Gm({type:Nr(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?u.toString(t.senderPublicKey,Bt):void 0,receiverPublicKey:e?.receiverPublicKey})}function Gm(s){const e=s?.type||Wm;if(e===vi){if(typeof s?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof s?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:s?.senderPublicKey,receiverPublicKey:s?.receiverPublicKey}}function Jg(s){return s.type===vi&&typeof s.senderPublicKey=="string"&&typeof s.receiverPublicKey=="string"}function Zg(s){return s.type===Ia}function qj(s){return new Ow.ec("p256").keyFromPublic({x:P.Buffer.from(s.x,"base64").toString("hex"),y:P.Buffer.from(s.y,"base64").toString("hex")},"hex")}function Bj(s){let e=s.replace(/-/g,"+").replace(/_/g,"/");const t=e.length%4;return t>0&&(e+="=".repeat(4-t)),e}function Hj(s){return P.Buffer.from(Bj(s),"base64")}function Wj(s,e){const[t,i,r]=s.split("."),n=Hj(r);if(n.length!==64)throw new Error("Invalid signature length");const o=n.slice(0,32).toString("hex"),a=n.slice(32,64).toString("hex"),c=`${t}.${i}`,l=Gc(c),h=qj(e),d=u.toString(l,Bt);if(!h.verify(d,{r:o,s:a}))throw new Error("Invalid signature");return u.sn(s).payload}const Vj="irn";function _c(s){return s?.relay||{protocol:Vj}}function So(s){const e=u.C[s];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${s}`);return e}function Kj(s,e="-"){const t={},i="relay"+e;return Object.keys(s).forEach(r=>{if(r.startsWith(i)){const n=r.replace(i,""),o=s[r];t[n]=o}}),t}function Xg(s){if(!s.includes("wc:")){const l=Nm(s);l!=null&&l.includes("wc:")&&(s=l)}s=s.includes("wc://")?s.replace("wc://",""):s,s=s.includes("wc:")?s.replace("wc:",""):s;const e=s.indexOf(":"),t=s.indexOf("?")!==-1?s.indexOf("?"):void 0,i=s.substring(0,e),r=s.substring(e+1,t).split("@"),n=typeof t<"u"?s.substring(t):"",o=new URLSearchParams(n),a={};o.forEach((l,h)=>{a[h]=l});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:i,topic:Gj(r[0]),version:parseInt(r[1],10),symKey:a.symKey,relay:Kj(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function Gj(s){return s.startsWith("//")?s.substring(2):s}function Yj(s,e="-"){const t="relay",i={};return Object.keys(s).forEach(r=>{const n=r,o=t+e+n;s[n]&&(i[o]=s[n])}),i}function ef(s){const e=new URLSearchParams,t=Yj(s.relay);Object.keys(t).sort().forEach(r=>{e.set(r,t[r])}),e.set("symKey",s.symKey),s.expiryTimestamp&&e.set("expiryTimestamp",s.expiryTimestamp.toString()),s.methods&&e.set("methods",s.methods.join(","));const i=e.toString();return`${s.protocol}:${s.topic}@${s.version}?${i}`}function Ya(s,e,t){return`${s}?wc_ev=${t}&topic=${e}`}function Yn(s){const e=[];return s.forEach(t=>{const[i,r]=t.split(":");e.push(`${i}:${r}`)}),e}function Qj(s){const e=[];return Object.values(s).forEach(t=>{e.push(...Yn(t.accounts))}),e}function Jj(s,e){const t=[];return Object.values(s).forEach(i=>{Yn(i.accounts).includes(e)&&t.push(...i.methods)}),t}function Zj(s,e){const t=[];return Object.values(s).forEach(i=>{Yn(i.accounts).includes(e)&&t.push(...i.events)}),t}function Lu(s){return s.includes(":")}function $o(s){return Lu(s)?s.split(":")[0]:s}function Xj(s){const e={};return s?.forEach(t=>{var i;const[r,n]=t.split(":");e[r]||(e[r]={accounts:[],chains:[],events:[],methods:[]}),e[r].accounts.push(t),(i=e[r].chains)==null||i.push(`${r}:${n}`)}),e}function tf(s,e){e=e.map(i=>i.replace("did:pkh:",""));const t=Xj(e);for(const[i,r]of Object.entries(t))r.methods?r.methods=oc(r.methods,s):r.methods=s,r.events=["chainChanged","accountsChanged"];return t}const eR={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}},tR={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 q(s,e){const{message:t,code:i}=tR[s];return{message:e?`${t} ${e}`:t,code:i}}function Re(s,e){const{message:t,code:i}=eR[s];return{message:e?`${t} ${e}`:t,code:i}}function Cr(s,e){return!!Array.isArray(s)}function ea(s){return Object.getPrototypeOf(s)===Object.prototype&&Object.keys(s).length}function Mt(s){return typeof s>"u"}function ut(s,e){return e&&Mt(s)?!0:typeof s=="string"&&!!s.trim().length}function zu(s,e){return e&&Mt(s)?!0:typeof s=="number"&&!isNaN(s)}function sR(s,e){const{requiredNamespaces:t}=e,i=Object.keys(s.namespaces),r=Object.keys(t);let n=!0;return fr(r,i)?(i.forEach(o=>{const{accounts:a,methods:c,events:l}=s.namespaces[o],h=Yn(a),d=t[o];(!fr(vm(o,d),h)||!fr(d.methods,c)||!fr(d.events,l))&&(n=!1)}),n):!1}function Nc(s){return ut(s,!1)&&s.includes(":")?s.split(":").length===2:!1}function iR(s){if(ut(s,!1)&&s.includes(":")){const e=s.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&Nc(t)}}return!1}function rR(s){function e(t){try{return typeof new URL(t)<"u"}catch{return!1}}try{if(ut(s,!1)){if(e(s))return!0;const t=Nm(s);return e(t)}}catch{}return!1}function nR(s){var e;return(e=s?.proposer)==null?void 0:e.publicKey}function oR(s){return s?.topic}function aR(s,e){let t=null;return ut(s?.publicKey,!1)||(t=q("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function sf(s){let e=!0;return Cr(s)?s.length&&(e=s.every(t=>ut(t,!1))):e=!1,e}function cR(s,e,t){let i=null;return Cr(e)&&e.length?e.forEach(r=>{i||Nc(r)||(i=Re("UNSUPPORTED_CHAINS",`${t}, chain ${r} should be a string and conform to "namespace:chainId" format`))}):Nc(s)||(i=Re("UNSUPPORTED_CHAINS",`${t}, 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"] }`)),i}function lR(s,e,t){let i=null;return Object.entries(s).forEach(([r,n])=>{if(i)return;const o=cR(r,vm(r,n),`${e} ${t}`);o&&(i=o)}),i}function hR(s,e){let t=null;return Cr(s)?s.forEach(i=>{t||iR(i)||(t=Re("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=Re("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function uR(s,e){let t=null;return Object.values(s).forEach(i=>{if(t)return;const r=hR(i?.accounts,`${e} namespace`);r&&(t=r)}),t}function dR(s,e){let t=null;return sf(s?.methods)?sf(s?.events)||(t=Re("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=Re("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function Ym(s,e){let t=null;return Object.values(s).forEach(i=>{if(t)return;const r=dR(i,`${e}, namespace`);r&&(t=r)}),t}function pR(s,e,t){let i=null;if(s&&ea(s)){const r=Ym(s,e);r&&(i=r);const n=lR(s,e,t);n&&(i=n)}else i=q("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function Fl(s,e){let t=null;if(s&&ea(s)){const i=Ym(s,e);i&&(t=i);const r=uR(s,e);r&&(t=r)}else t=q("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function Qm(s){return ut(s.protocol,!0)}function gR(s,e){let t=!1;return s?s&&Cr(s)&&s.length&&s.forEach(i=>{t=Qm(i)}):t=!0,t}function fR(s){return typeof s=="number"}function Xt(s){return typeof s<"u"&&typeof s!==null}function wR(s){return!(!s||typeof s!="object"||!s.code||!zu(s.code,!1)||!s.message||!ut(s.message,!1))}function yR(s){return!(Mt(s)||!ut(s.method,!1))}function mR(s){return!(Mt(s)||Mt(s.result)&&Mt(s.error)||!zu(s.id,!1)||!ut(s.jsonrpc,!1))}function bR(s){return!(Mt(s)||!ut(s.name,!1))}function rf(s,e){return!(!Nc(e)||!Qj(s).includes(e))}function vR(s,e,t){return ut(t,!1)?Jj(s,e).includes(t):!1}function IR(s,e,t){return ut(t,!1)?Zj(s,e).includes(t):!1}function nf(s,e,t){let i=null;const r=ER(s),n=AR(e),o=Object.keys(r),a=Object.keys(n),c=of(Object.keys(s)),l=of(Object.keys(e)),h=c.filter(d=>!l.includes(d));return h.length&&(i=q("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces.
|
|
@@ -912,4 +912,4 @@ ${s.length}`,t=new TextEncoder().encode(e+s);return"0x"+P.Buffer.from(f3(t)).toS
|
|
|
912
912
|
.wui-color-fg-350 {
|
|
913
913
|
background-color: var(--wui-color-fg-350);
|
|
914
914
|
}
|
|
915
|
-
`,tc={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};function _a(s){return{formatters:void 0,fees:void 0,serializers:void 0,...s}}const au=_a({id:"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",name:"Solana",network:"solana-mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!1,chainNamespace:"solana",caipNetworkId:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",deprecatedCaipNetworkId:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ"}),cu=_a({id:"EtWTRABZaYq6iMfeYKouRu166VU2xqa1",name:"Solana Devnet",network:"solana-devnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",deprecatedCaipNetworkId:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"}),X8=_a({id:"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",name:"Solana Testnet",network:"solana-testnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"});_a({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});_a({id:"000000000933ea01ad0ee984209779ba",caipNetworkId:"bip122:000000000933ea01ad0ee984209779ba",chainNamespace:"bip122",name:"Bitcoin Testnet",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},testnet:!0});const e6={solana:["solana_signMessage","solana_signTransaction","solana_requestAccounts","solana_getAccounts","solana_signAllTransactions","solana_signAndSendTransaction"],eip155:["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_showCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],bip122:["sendTransfer","signMessage","signPsbt","getAccountAddresses"]},jb={getMethodsByChainNamespace(s){return e6[s]||[]},createDefaultNamespace(s){return{methods:this.getMethodsByChainNamespace(s),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(s,e){if(!e)return{...s};const t={...s},i=new Set;if(e.methods&&Object.keys(e.methods).forEach(r=>i.add(r)),e.chains&&Object.keys(e.chains).forEach(r=>i.add(r)),e.events&&Object.keys(e.events).forEach(r=>i.add(r)),e.rpcMap&&Object.keys(e.rpcMap).forEach(r=>{const[n]=r.split(":");n&&i.add(n)}),i.forEach(r=>{t[r]||(t[r]=this.createDefaultNamespace(r))}),e.methods&&Object.entries(e.methods).forEach(([r,n])=>{t[r]&&(t[r].methods=n)}),e.chains&&Object.entries(e.chains).forEach(([r,n])=>{t[r]&&(t[r].chains=n)}),e.events&&Object.entries(e.events).forEach(([r,n])=>{t[r]&&(t[r].events=n)}),e.rpcMap){const r=new Set;Object.entries(e.rpcMap).forEach(([n,o])=>{const[a,c]=n.split(":");!a||!c||!t[a]||(t[a].rpcMap||(t[a].rpcMap={}),r.has(a)||(t[a].rpcMap={},r.add(a)),t[a].rpcMap[c]=o)})}return t},createNamespaces(s,e){const t=s.reduce((i,r)=>{const{id:n,chainNamespace:o,rpcUrls:a}=r,c=a.default.http[0];i[o]||(i[o]=this.createDefaultNamespace(o));const l=`${o}:${n}`,h=i[o];switch(h.chains.push(l),l){case au.caipNetworkId:h.chains.push(au.deprecatedCaipNetworkId);break;case cu.caipNetworkId:h.chains.push(cu.deprecatedCaipNetworkId);break}return h?.rpcMap&&c&&(h.rpcMap[n]=c),i},{});return this.applyNamespaceOverrides(t,e)},resolveReownName:async s=>{const e=await rm.resolveName(s);return(Object.values(e?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(s={}){return Object.values(s).flatMap(e=>{const t=e.chains||[],i=e.accounts.map(r=>{const[n,o]=r.split(":");return`${n}:${o}`});return Array.from(new Set([...t,...i]))})},isSessionEventData(s){return typeof s=="object"&&s!==null&&"id"in s&&"topic"in s&&"params"in s&&typeof s.params=="object"&&s.params!==null&&"chainId"in s.params&&"event"in s.params&&typeof s.params.event=="object"&&s.params.event!==null}};class Rb{constructor({provider:e,caipNetworks:t,namespace:i}){this.id=te.CONNECTOR_ID.WALLET_CONNECT,this.name=Cc.ConnectorNamesMap[te.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=Cc.ConnectorImageIds[te.CONNECTOR_ID.WALLET_CONNECT],this.caipNetworks=t,this.provider=e,this.chain=i}get chains(){return this.caipNetworks}async connectWalletConnect(){if(!await this.authenticate()){const t=z.state.universalProviderConfigOverride,i=jb.createNamespaces(this.caipNetworks,t);await this.provider.connect({optionalNamespaces:i})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(t=>t.caipNetworkId);return On.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:t6})}}const t6=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"];class s6{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,e&&this.construct(e)}construct(e){this.caipNetworks=e.networks,this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.caipNetworks||[]}setAuthProvider(e){this.addConnector({id:te.CONNECTOR_ID.AUTH,type:"AUTH",name:te.CONNECTOR_NAMES.AUTH,provider:e,imageId:Cc.ConnectorImageIds[te.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){const t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(i=>t.has(i.id)?!1:(t.add(i.id),!0)),this.emit("connectors",this.availableConnectors)}setStatus(e,t){se.setStatus(e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){const i=this.eventListeners.get(e);i&&i.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){const i=this.eventListeners.get(e);i&&i.forEach(r=>r(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){const{caipNetwork:t,providerType:i}=e;if(!e.provider)return;const r="provider"in e.provider?e.provider.provider:e.provider;if(i==="WALLET_CONNECT"){r.setDefaultChain(t.caipNetworkId);return}if(r&&i==="AUTH"){const n=r;await n.switchNetwork(t.caipNetworkId);const o=await n.getUser({chainId:t.caipNetworkId,preferredAccountType:z.state.defaultAccountTypes[t.chainNamespace]});this.emit("switchNetwork",o)}}getWalletConnectConnector(){const e=this.connectors.find(t=>t instanceof Rb);if(!e)throw new Error("WalletConnectConnector not found");return e}}class i6 extends s6{setUniversalProvider(e){this.addConnector(new Rb({provider:e,caipNetworks:this.caipNetworks||[],namespace:this.namespace}))}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}}async getAccounts({namespace:e}){const i=this.provider?.session?.namespaces?.[e]?.accounts?.map(r=>{const[,,n]=r.split(":");return n}).filter((r,n,o)=>o.indexOf(r)===n)||[];return Promise.resolve({accounts:i.map(r=>le.createAccount(e,r,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&Vt.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};if(se.state.balanceLoading&&e.chainId===I.state.activeCaipNetwork?.id)return{balance:se.state.balance||"0.00",symbol:se.state.balanceSymbol||""};const r=(await se.fetchTokenBalance()).find(n=>n.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&n.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:r?.quantity.numeric||"0.00",symbol:r?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){const{provider:t,message:i,address:r}=e;if(!t)throw new Error("UniversalAdapter:signMessage - provider is undefined");let n="";return I.state.activeCaipNetwork?.chainNamespace===te.CHAIN.SOLANA?n=(await t.request({method:"solana_signMessage",params:{message:bm.encode(new TextEncoder().encode(i)),pubkey:r}},I.state.activeCaipNetwork?.caipNetworkId)).signature:n=await t.request({method:"personal_sign",params:[i,r]},I.state.activeCaipNetwork?.caipNetworkId),{signature:n}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async getProfile(){return Promise.resolve({profileImage:"",profileName:""})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}async getEnsAddress(){return Promise.resolve({address:!1})}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){const{caipNetwork:t}=e,i=this.getWalletConnectConnector();if(t.chainNamespace===te.CHAIN.EVM)try{await i.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Pn.toHex(t.id)}]})}catch(r){if(r.code===tc.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||r.code===tc.ERROR_INVALID_CHAIN_ID||r.code===tc.ERROR_CODE_DEFAULT||r?.data?.originalError?.code===tc.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await i.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Pn.toHex(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw new Error("Chain is not supported")}}i.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(i=>i.type==="WALLET_CONNECT")?.provider}}class r6{constructor(e){this.hasSwitchedToPreferredAccountTypeOnConnect=!1,this.chainNamespaces=[],this.reportedAlertErrors={},this.getCaipNetwork=t=>{if(t){const i=I.getNetworkData(t)?.caipNetwork;return i||I.getRequestedCaipNetworks(t).filter(r=>r.chainNamespace===t)?.[0]}return I.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const t=this.getCaipNetwork();if(t)return t.id},this.getCaipNetworks=t=>I.getRequestedCaipNetworks(t),this.getActiveChainNamespace=()=>I.state.activeChain,this.setRequestedCaipNetworks=(t,i)=>{I.setRequestedCaipNetworks(t,i)},this.getApprovedCaipNetworkIds=()=>I.getAllApprovedCaipNetworkIds(),this.getCaipAddress=t=>I.state.activeChain===t||!t?I.state.activeCaipAddress:I.getAccountProp("caipAddress",t),this.setClientId=t=>{re.setClientId(t)},this.getProvider=t=>tt.getProvider(t),this.getProviderType=t=>tt.getProviderId(t),this.getPreferredAccountType=()=>se.state.preferredAccountType,this.setCaipAddress=(t,i)=>{se.setCaipAddress(t,i)},this.setBalance=(t,i,r)=>{se.setBalance(t,i,r)},this.setProfileName=(t,i)=>{se.setProfileName(t,i)},this.setProfileImage=(t,i)=>{se.setProfileImage(t,i)},this.setUser=(t,i)=>{se.setUser(t,i),z.state.enableEmbedded&&at.close()},this.resetAccount=t=>{se.resetAccount(t)},this.setCaipNetwork=t=>{I.setActiveCaipNetwork(t)},this.setCaipNetworkOfNamespace=(t,i)=>{I.setChainNetworkData(i,{caipNetwork:t})},this.setAllAccounts=(t,i)=>{se.setAllAccounts(t,i),z.setHasMultipleAddresses(t?.length>1)},this.setStatus=(t,i)=>{se.setStatus(t,i),ce.isConnected()?Z.setConnectionStatus("connected"):Z.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=t=>I.getAccountProp("address",t),this.setConnectors=t=>{const i=[...ce.getConnectors(),...t];ce.setConnectors(i)},this.fetchIdentity=t=>re.fetchIdentity(t),this.getReownName=t=>rm.getNamesForAddress(t),this.getConnectors=()=>ce.getConnectors(),this.getConnectorImage=t=>Tu.getConnectorImage(t),this.setConnectedWalletInfo=(t,i)=>{const r=tt.getProviderId(i),n=t?{...t,type:r}:void 0;se.setConnectedWalletInfo(n,i)},this.getIsConnectedState=()=>!!I.state.activeCaipAddress,this.addAddressLabel=(t,i,r)=>{se.addAddressLabel(t,i,r)},this.removeAddressLabel=(t,i)=>{se.removeAddressLabel(t,i)},this.getAddress=t=>I.state.activeChain===t||!t?se.state.address:I.getAccountProp("address",t),this.setApprovedCaipNetworksData=t=>I.setApprovedCaipNetworksData(t),this.resetNetwork=t=>{I.resetNetwork(t)},this.addConnector=t=>{ce.addConnector(t)},this.resetWcConnection=()=>{Fe.resetWcConnection()},this.setAddressExplorerUrl=(t,i)=>{se.setAddressExplorerUrl(t,i)},this.setSmartAccountDeployed=(t,i)=>{se.setSmartAccountDeployed(t,i)},this.setSmartAccountEnabledNetworks=(t,i)=>{I.setSmartAccountEnabledNetworks(t,i)},this.setPreferredAccountType=(t,i)=>{se.setPreferredAccountType(t,i)},this.setEIP6963Enabled=t=>{z.setEIP6963Enabled(t)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else this.open({view:"ApproveTransaction"})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=[...new Set(this.caipNetworks?.map(t=>t.chainNamespace))],this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.initialize(e),this.sendInitializeEvent(e)}async initialize(e){this.initControllers(e),await this.initChainAdapters(),await this.injectModalUi(),await this.syncExistingConnection(),bi.set({initialized:!0})}sendInitializeEvent(e){const{...t}=e;delete t.adapters,qe.sendEvent({type:"track",event:"INITIALIZE",properties:{...t,networks:e.networks.map(i=>i.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&Ft.setThemeMode(e.themeMode),e.themeVariables&&Ft.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");I.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const t=this.getDefaultNetwork();t&&I.setActiveCaipNetwork(t)}initializeConnectionController(e){Fe.setWcBasic(e.basic??!1)}initializeConnectorController(){ce.initialize(this.chainNamespaces)}initializeOptionsController(e){z.setDebug(e.debug!==!1),z.setEnableWalletConnect(e.enableWalletConnect!==!1),z.setEnableWalletGuide(e.enableWalletGuide!==!1),z.setEnableWallets(e.enableWallets!==!1),z.setEIP6963Enabled(e.enableEIP6963!==!1),z.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),z.setEnableAuthLogger(e.enableAuthLogger!==!1),z.setCustomRpcUrls(e.customRpcUrls),z.setSdkVersion(e.sdkVersion),z.setProjectId(e.projectId),z.setEnableEmbedded(e.enableEmbedded),z.setAllWallets(e.allWallets),z.setIncludeWalletIds(e.includeWalletIds),z.setExcludeWalletIds(e.excludeWalletIds),z.setFeaturedWalletIds(e.featuredWalletIds),z.setTokens(e.tokens),z.setTermsConditionsUrl(e.termsConditionsUrl),z.setPrivacyPolicyUrl(e.privacyPolicyUrl),z.setCustomWallets(e.customWallets),z.setFeatures(e.features),z.setAllowUnsupportedChain(e.allowUnsupportedChain),z.setDefaultAccountTypes(e.defaultAccountTypes),z.setUniversalProviderConfigOverride(e.universalProviderConfigOverride);const t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),z.setMetadata(e.metadata),z.setDisableAppend(e.disableAppend),z.setEnableEmbedded(e.enableEmbedded),z.setSIWX(e.siwx),!e.projectId){Do.open(ec.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(r=>r.namespace===te.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");z.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return typeof window<"u"&&typeof document<"u"?{name:document.getElementsByTagName("title")?.[0]?.textContent||"",description:document.querySelector('meta[property="og:description"]')?.content||"",url:window.location.origin,icons:[document.querySelector('link[rel~="icon"]')?.href||""]}:null}setUnsupportedNetwork(e){const t=this.getActiveChainNamespace();if(t){const i=An.getUnsupportedNetwork(`${t}:${e}`);I.setActiveCaipNetwork(i)}}getDefaultNetwork(){return An.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return An.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return An.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const t=e.networks.find(r=>r.id===e.defaultNetwork?.id);return t?An.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{const e=I.state.activeChain,t=this.getAdapter(e),i=this.getCaipNetwork(e)?.id;if(!t)throw new Error("Adapter not found");const r=await t.connectWalletConnect(i);this.close(),this.setClientId(r?.clientId||null),Z.setConnectedNamespaces([...I.state.chains.keys()]),this.chainNamespaces.forEach(n=>{ce.setConnectorId(Pi.CONNECTOR_TYPE_WALLET_CONNECT,n)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:t,type:i,provider:r,chain:n,caipNetwork:o})=>{const a=I.state.activeChain,c=n||a,l=this.getAdapter(c);if(n&&n!==a&&!o){const f=this.caipNetworks?.find(g=>g.chainNamespace===n);f&&this.setCaipNetwork(f)}if(!l)throw new Error("Adapter not found");const h=this.getCaipNetwork(c),d=await l.connect({id:e,info:t,type:i,provider:r,chainId:o?.id||h?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||h?.rpcUrls?.default?.http?.[0]});if(!d)return;Z.addConnectedNamespace(c),this.syncProvider({...d,chainNamespace:c}),await this.syncAccount({...d,chainNamespace:c});const{accounts:p}=await l.getAccounts({namespace:c,id:e});this.setAllAccounts(p,c)},reconnectExternal:async({id:e,info:t,type:i,provider:r})=>{const n=I.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:t,type:i,provider:r,chainId:this.getCaipNetwork()?.id}),Z.addConnectedNamespace(n))},disconnect:async e=>{const t=e||I.state.activeChain,i=this.getAdapter(t),r=tt.getProvider(t),n=tt.getProviderId(t);await i?.disconnect({provider:r,providerType:n}),Z.removeConnectedNamespace(t),tt.resetChain(t),this.setUser(void 0,t),this.setStatus("disconnected",t),this.hasSwitchedToPreferredAccountTypeOnConnect=!1},checkInstalled:e=>e?e.some(t=>!!window.ethereum?.[String(t)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(I.state.activeChain)?.signMessage({message:e,address:se.state.address,provider:tt.getProvider(I.state.activeChain)}))?.signature||"",sendTransaction:async e=>{if(e.chainNamespace===te.CHAIN.EVM){const t=this.getAdapter(I.state.activeChain),i=tt.getProvider(I.state.activeChain);return(await t?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===te.CHAIN.EVM){const t=this.getAdapter(I.state.activeChain),i=tt.getProvider(I.state.activeChain),r=this.getCaipNetwork();if(!r)throw new Error("CaipNetwork is undefined");return(await t?.estimateGas({...e,provider:i,caipNetwork:r}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.getAdapter(I.state.activeChain)?.getProfile({address:se.state.address,chainId:Number(this.getCaipNetwork()?.id)}))?.profileImage||!1,getEnsAddress:async e=>{const t=this.getAdapter(I.state.activeChain),i=this.getCaipNetwork();return i&&(await t?.getEnsAddress({name:e,caipNetwork:i}))?.address||!1},writeContract:async e=>{const t=this.getAdapter(I.state.activeChain),i=this.getCaipNetwork(),r=this.getCaipAddress(),n=tt.getProvider(I.state.activeChain);if(!i||!r)throw new Error("CaipNetwork or CaipAddress is undefined");return(await t?.writeContract({...e,caipNetwork:i,provider:n,caipAddress:r}))?.hash},parseUnits:(e,t)=>this.getAdapter(I.state.activeChain)?.parseUnits({value:e,decimals:t})??0n,formatUnits:(e,t)=>this.getAdapter(I.state.activeChain)?.formatUnits({value:e,decimals:t})??"0",getCapabilities:async e=>await this.getAdapter(I.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(I.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const t=this.getAdapter(I.state.activeChain);return t?.revokePermissions?await t.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(I.state.activeChain)?.walletGetAssets(e)??{}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},Fe.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(tt.getProviderId(I.state.activeChain)===Pi.CONNECTOR_TYPE_WALLET_CONNECT){const t=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(t)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;const t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const r=tt.getProvider(t),n=tt.getProviderId(t);if(e.chainNamespace===I.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:r,providerType:n});else if(this.setCaipNetwork(e),n===Pi.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const o=this.getAddressByChainNamespace(t);o&&this.syncAccount({address:o,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(t=>{const i=t.chains||[],r=t.accounts.map(n=>{const{chainId:o,chainNamespace:a}=Ci.parseCaipAddress(n);return`${a}:${o}`});return Array.from(new Set([...i,...r]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,i)=>{const r=e?.find(n=>n.namespace===i);return r?(t[i]=r,t[i].namespace=i,t[i].construct({namespace:i,projectId:this.options?.projectId,networks:this.caipNetworks})):t[i]=new i6({namespace:i,networks:this.caipNetworks}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const t=this.getAdapter(e);if(!t)return;const i=Z.getConnectionStatus();i==="connected"?this.setStatus("connecting",e):i==="disconnected"?(Z.clearAddressCache(),this.setStatus(i,e)):this.setStatus(i,e),t.on("switchNetwork",({address:r,chainId:n})=>{const o=this.caipNetworks?.find(l=>l.id===n||l.caipNetworkId===n),a=I.state.activeChain===e,c=I.getAccountProp("address",e);if(o){const l=a&&r?r:c;l&&this.syncAccount({address:l,chainId:n,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on("disconnect",this.disconnect.bind(this,e)),t.on("pendingTransactions",()=>{const r=se.state.address,n=I.state.activeCaipNetwork;!r||!n?.id||this.updateNativeBalance(r,n.id,n.chainNamespace)}),t.on("accountChanged",({address:r,chainId:n})=>{const o=I.state.activeChain===e;o&&n?this.syncAccount({address:r,chainId:n,chainNamespace:e}):o&&I.state.activeCaipNetwork?.id?this.syncAccount({address:r,chainId:I.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(r,n,e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{const t=ce.getConnectorId(e);switch(this.setStatus("connecting",e),t){case te.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case te.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(t){console.warn("AppKit couldn't sync existing connection",t),this.setStatus("disconnected",e)}}async syncAdapterConnection(e){const t=this.getAdapter(e),i=ce.getConnectorId(e),r=this.getCaipNetwork(e),n=ce.getConnectors(e).find(o=>o.id===i);try{if(!t||!n)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw new Error("CaipNetwork not found");const o=await t?.syncConnection({namespace:e,id:n.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});if(o){const a=await t?.getAccounts({namespace:e,id:n.id});a&&a.accounts.length>0?this.setAllAccounts(a.accounts,e):this.setAllAccounts([le.createAccount(e,o.address,"eoa")],e),this.syncProvider({...o,chainNamespace:e}),await this.syncAccount({...o,chainNamespace:e}),this.setStatus("connected",e)}else this.setStatus("disconnected",e)}catch{this.setStatus("disconnected",e)}}async syncWalletConnectAccount(){const e=this.chainNamespaces.map(async t=>{const i=this.getAdapter(t),r=this.universalProvider?.session?.namespaces?.[t]?.accounts||[],n=I.state.activeCaipNetwork?.id,o=r.find(a=>{const{chainId:c}=Ci.parseCaipAddress(a);return c===n?.toString()})||r[0];if(o){const a=Ci.validateCaipAddress(o),{chainId:c,address:l}=Ci.parseCaipAddress(a);if(tt.setProviderId(t,Pi.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&I.state.activeCaipNetwork&&i?.namespace!==te.CHAIN.EVM){const h=i?.getWalletConnectProvider({caipNetworks:this.caipNetworks,provider:this.universalProvider,activeCaipNetwork:I.state.activeCaipNetwork});tt.setProvider(t,h)}else tt.setProvider(t,this.universalProvider);ce.setConnectorId(te.CONNECTOR_ID.WALLET_CONNECT,t),Z.addConnectedNamespace(t),this.syncWalletConnectAccounts(t),await this.syncAccount({address:l,chainId:c,chainNamespace:t})}else this.setStatus("disconnected",t);await I.setApprovedCaipNetworksData(t)});await Promise.all(e)}syncWalletConnectAccounts(e){const t=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(i=>{const{address:r}=Ci.parseCaipAddress(i);return r}).filter((i,r,n)=>n.indexOf(i)===r);t&&this.setAllAccounts(t.map(i=>le.createAccount(e,i,e==="bip122"?"payment":"eoa")),e)}syncProvider({type:e,provider:t,id:i,chainNamespace:r}){tt.setProviderId(r,e),tt.setProvider(r,t),ce.setConnectorId(i,r)}async syncAccount(e){const t=e.chainNamespace===I.state.activeChain,i=I.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:n,chainNamespace:o}=e,{chainId:a}=Z.getActiveNetworkProps(),c=n||a,l=I.state.activeCaipNetwork?.name===te.UNSUPPORTED_NETWORK_NAME,h=I.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!h)&&c){let d=this.caipNetworks?.find(g=>g.id.toString()===c.toString()),p=this.caipNetworks?.find(g=>g.chainNamespace===o);if(!h&&!d&&!p){const g=this.getApprovedCaipNetworkIds()||[],w=g.find(b=>Ci.parseCaipNetworkId(b)?.chainId===c.toString()),v=g.find(b=>Ci.parseCaipNetworkId(b)?.chainNamespace===o);d=this.caipNetworks?.find(b=>b.caipNetworkId===w),p=this.caipNetworks?.find(b=>b.caipNetworkId===v||"deprecatedCaipNetworkId"in b&&b.deprecatedCaipNetworkId===v)}const f=d||p;f?.chainNamespace===I.state.activeChain?z.state.enableNetworkSwitch&&!z.state.allowUnsupportedChain&&I.state.activeCaipNetwork?.name===te.UNSUPPORTED_NETWORK_NAME?I.showUnsupportedChainUI():this.setCaipNetwork(f):t||i&&this.setCaipNetworkOfNamespace(i,o),this.syncConnectedWalletInfo(o),Sb.isLowerCaseMatch(r,se.state.address)||this.syncAccountInfo(r,f?.id,o),t?await this.syncBalance({address:r,chainId:f?.id,chainNamespace:o}):await this.syncBalance({address:r,chainId:i?.id,chainNamespace:o})}}async syncAccountInfo(e,t,i){const r=this.getCaipAddress(i),n=t||r?.split(":")[1];if(!n)return;const o=`${i}:${n}:${e}`;this.setCaipAddress(o,i),await this.syncIdentity({address:e,chainId:n,chainNamespace:i})}async syncReownName(e,t){try{const i=await this.getReownName(e);if(i[0]){const r=i[0];this.setProfileName(r.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){const t=ce.getConnectorId(e),i=tt.getProviderId(e);if(i===Pi.CONNECTOR_TYPE_ANNOUNCED||i===Pi.CONNECTOR_TYPE_INJECTED){if(t){const r=this.getConnectors().find(n=>n.id===t);if(r){const{info:n,name:o,imageUrl:a}=r,c=a||this.getConnectorImage(r);this.setConnectedWalletInfo({name:o,icon:c,...n},e)}}}else if(i===Pi.CONNECTOR_TYPE_WALLET_CONNECT){const r=tt.getProvider(e);r?.session&&this.setConnectedWalletInfo({...r.session.peer.metadata,name:r.session.peer.metadata.name,icon:r.session.peer.metadata.icons?.[0]},e)}else if(t)if(t===te.CONNECTOR_ID.COINBASE){const r=this.getConnectors().find(n=>n.id===te.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(r)},e)}else this.setConnectedWalletInfo({name:t},e)}async syncBalance(e){!tm.getNetworksByNamespace(this.caipNetworks,e.chainNamespace).find(i=>i.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async updateNativeBalance(e,t,i){const r=this.getAdapter(i);if(r){const n=await r.getBalance({address:e,chainId:t,caipNetwork:this.getCaipNetwork(i),tokens:this.options.tokens});this.setBalance(n.balance,n.symbol,i)}}async initializeUniversalAdapter(){const e=f8.createLogger((i,...r)=>{i&&this.handleAlertError(i),console.error(...r)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:"",description:this.options?.metadata?this.options?.metadata.description:"",url:this.options?.metadata?this.options?.metadata.url:"",icons:this.options?.metadata?this.options?.metadata.icons:[""]},logger:e};z.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await p8.init(t),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{Fe.setUri(e)}),this.universalProvider.on("connect",Fe.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),Fe.resetWcConnection()}),this.universalProvider.on("chainChanged",e=>{const t=this.caipNetworks?.find(r=>r.id==e),i=this.getCaipNetwork();if(!t){this.setUnsupportedNetwork(e);return}i?.id!==t?.id&&this.setCaipNetwork(t)}),this.universalProvider.on("session_event",e=>{if(jb.isSessionEventData(e)){const{name:t,data:i}=e.params.event;t==="accountsChanged"&&Array.isArray(i)&&le.isCaipAddress(i[0])&&this.syncAccount(Ci.parseCaipAddress(i[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&le.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){qe.sendEvent({type:"error",event:"INTERNAL_SDK_ERROR",properties:{errorType:"UniversalProviderInitError",errorMessage:e instanceof Error?e.message:"Unknown",uncaught:!1}}),console.error("AppKit:getUniversalProvider - Cannot create provider",e)}return this.universalProvider}handleAlertError(e){const t=Object.entries(ec.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[i,r]=t??[],{message:n,alertErrorKey:o}=r??{};if(i&&n&&!this.reportedAlertErrors[i]){const a=ec.ALERT_ERRORS[o];a&&(Do.open(a,"error"),this.reportedAlertErrors[i]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;const t=e.namespace;if(!t)return;this.createClients();const i=e;i.namespace=t,i.construct({namespace:t,projectId:this.options?.projectId,networks:this.caipNetworks}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=i)}async open(e){await this.injectModalUi(),e?.uri&&Fe.setUri(e.uri),await at.open(e)}async close(){await this.injectModalUi(),at.close()}setLoading(e,t){at.setLoading(e,t)}async disconnect(e){await Fe.disconnect(e)}getError(){return""}getChainId(){return I.state.activeCaipNetwork?.id}async switchNetwork(e){const t=this.caipNetworks?.find(i=>i.id===e.id);if(!t){Do.open(ec.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await I.switchActiveNetwork(t)}getWalletProvider(){return I.state.activeChain?tt.state.providers[I.state.activeChain]:null}getWalletProviderType(){return tt.getProviderId(I.state.activeChain)}subscribeProviders(e){return tt.subscribeProviders(e)}getThemeMode(){return Ft.state.themeMode}getThemeVariables(){return Ft.state.themeVariables}setThemeMode(e){Ft.setThemeMode(e),kb(Ft.state.themeMode)}setTermsConditionsUrl(e){z.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){z.setPrivacyPolicyUrl(e)}setThemeVariables(e){Ft.setThemeVariables(e),Y8(Ft.state.themeVariables)}subscribeTheme(e){return Ft.subscribe(e)}getWalletInfo(){return se.state.connectedWalletInfo}getAccount(e){const t=ce.getAuthConnector(e),i=I.getAccountData(e);if(i)return{allAccounts:i.allAccounts,caipAddress:i.caipAddress,address:le.getPlainAddress(i.caipAddress),isConnected:!!i.caipAddress,status:i.status,embeddedWalletInfo:t?{user:i.user,authProvider:i.socialProvider||"email",accountType:i.preferredAccountType,isSmartAccountDeployed:!!i.smartAccountDeployed}:void 0}}subscribeAccount(e,t){const i=()=>{const r=this.getAccount(t);r&&e(r)};t?I.subscribeChainProp("accountState",i,t):I.subscribe(i),ce.subscribe(i)}subscribeNetwork(e){return I.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e){return se.subscribeKey("connectedWalletInfo",e)}subscribeShouldUpdateToAddress(e){se.subscribeKey("shouldUpdateToAddress",e)}subscribeCaipNetworkChange(e){I.subscribeKey("activeCaipNetwork",e)}getState(){return bi.state}subscribeState(e){return bi.subscribe(e)}showErrorMessage(e){Et.showError(e)}showSuccessMessage(e){Et.showSuccess(e)}getEvent(){return{...qe.state}}subscribeEvents(e){return qe.subscribe(e)}replace(e){xe.replace(e)}redirect(e){xe.push(e)}popTransactionStack(e){xe.popTransactionStack(e)}isOpen(){return at.state.open}isTransactionStackEmpty(){return xe.state.transactionStack.length===0}isTransactionShouldReplaceView(){return xe.state.transactionStack[xe.state.transactionStack.length-1]?.replace}static getInstance(){return this.instance}updateFeatures(e){z.setFeatures(e)}updateOptions(e){const i={...z.state||{},...e};z.setOptions(i)}setConnectMethodsOrder(e){z.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){z.setWalletFeaturesOrder(e)}setCollapseWallets(e){z.setCollapseWallets(e)}setSocialsOrder(e){z.setSocialsOrder(e)}getConnectMethodsOrder(){return $c.getConnectOrderMethod(z.state.features,ce.getConnectors())}removeAdapter(e){const t=this.getIsConnectedState(),i=this.getAdapter(e);if(!i||!this.chainAdapters||t)return;const r=this.caipNetworks?.filter(n=>n.chainNamespace!==e);I.removeAdapter(e),ce.removeAdapter(e),this.chainNamespaces=this.chainNamespaces.filter(n=>n!==e),this.caipNetworks=r,i.removeAllEventListeners(),Reflect.deleteProperty(this.chainAdapters,e)}addAdapter(e,t){const i=e.namespace;if(!this.connectionControllerClient||!this.networkControllerClient||!this.chainAdapters||!i)return;const r=this.extendCaipNetworks({...this.options,networks:t});this.caipNetworks=[...this.caipNetworks||[],...r],this.createAdapter(e),this.initChainAdapter(i),I.addAdapter(e,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient},r)}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const i=this.extendCaipNetwork(t,this.options);I.addNetwork(i),this.caipNetworks&&!this.caipNetworks?.find(r=>r.id===i.id)&&this.caipNetworks.push(i)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);if(!this.caipNetworks?.find(n=>n.id===t))throw new Error(`Network with ID ${t} not found`);if(!this.caipNetworks)return;const r=this.caipNetworks.filter(n=>n.chainNamespace===e&&n.id!==t);if(!r?.length)throw new Error("Cannot remove last network for a namespace");I.removeNetwork(e,t),this.caipNetworks=[...r]}}let ow=!1;class n6 extends r6{async open(e){ce.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&Fe.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!ow&&le.isClient()){if(await Promise.resolve().then(()=>require("./basic-BP0JVvfk.js")),await Promise.resolve().then(()=>require("./w3m-modal-Cl7qBei3.js")),!document.querySelector("w3m-modal")){const t=document.createElement("w3m-modal");!z.state.disableAppend&&!z.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",t)}ow=!0}}}const o6="1.7.2";function a6(s){return new n6({...s,basic:!0,sdkVersion:`html-core-${o6}`})}function c6(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var l6="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const ih=c6(l6);class Tn extends Error{constructor(){super(),Object.setPrototypeOf(this,Tn.prototype)}}class aw extends Error{constructor(e){super(`WalletConnect Adapter - Method ${e} is not supported by the wallet`),this.name="WalletConnectFeatureNotSupportedError"}}function h6(s){let e=[s];return s===ft.Mainnet||s===ft.Deprecated_Mainnet?(e=[ft.Mainnet,ft.Deprecated_Mainnet],s===ft.Deprecated_Mainnet&&console.warn(xc.mainnet)):(s===ft.Deprecated_Devnet||s===ft.Devnet)&&(e=[ft.Devnet,ft.Deprecated_Devnet],console.warn(xc.devnet)),e}const xc={mainnet:`You are using a deprecated chain ID for Solana Mainnet, please use ${ft.Mainnet} instead.`,devnet:`You are using a deprecated chain ID for Solana Devnet, please use ${ft.Devnet} instead.`,wallet:"The connected wallet is using a deprecated chain ID for Solana. Please, contact them to upgrade. You can learn more at https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip10.md#chain-ids"};function cw(s,e){const t=s.namespaces.solana?.accounts.map(i=>`solana:${i.split(":")[1]}`);if(e===ft.Mainnet)return t?.find(i=>i===ft.Mainnet)?ft.Mainnet:(console.warn(xc.wallet),ft.Deprecated_Mainnet);if(e===ft.Devnet)return t?.find(i=>i===ft.Devnet)?ft.Devnet:(console.warn(xc.wallet),ft.Deprecated_Devnet);throw Error("WalletConnect Solana Adapter: Unable to get a default chain from the session.")}function u6(s){return{optionalNamespaces:{solana:{chains:h6(s),methods:[_s.signTransaction,_s.signMessage],events:[]}}}}class Qu extends Error{constructor(){super("QR Code Modal was closed by user"),Object.setPrototypeOf(this,Qu.prototype),this.name="QRCodeModalError"}}class d6{_UniversalProvider;_session;_modal;_projectId;_network;_ConnectQueueResolver;constructor(e){if(this.initClient(e.options),this._network=e.network,!e.options.projectId)throw Error("WalletConnect Adapter: Project ID is undefined");this._projectId=e.options.projectId}async connect(){if(this._UniversalProvider||await new Promise(r=>{this._ConnectQueueResolver=r}),!this._UniversalProvider)throw new Error("WalletConnect Adapter - Universal Provider was undefined while calling 'connect()'");if(this._UniversalProvider.session){this._session=this._UniversalProvider.session;const r=cw(this._session,this._network);return this._network=r,this._UniversalProvider.setDefaultChain(r),{publicKey:this.publicKey}}await this.initModal();const e=u6(this._network);this._modal?.open();const t=new AbortController,i=t.signal;this._modal?.subscribeState(r=>{r.open||t.abort(new Qu)});try{const r=await Promise.race([this._UniversalProvider?.connect(e),new Promise((o,a)=>{i.addEventListener("abort",()=>{a(i.reason)})})]);if(this._modal?.close(),this._session=r,!r)throw new Dc;const n=cw(r,this._network);return this._network=n,this._UniversalProvider?.setDefaultChain(n),{publicKey:this.publicKey}}catch(r){throw this._modal?.close(),r}}async disconnect(){if(this._UniversalProvider?.session){if(await this.initModal(),!this._modal)throw Error("WalletConnect Adapter -Modal is undefined: unable to disconnect");await this.client.disconnect(),this._session=void 0}else throw new Tn}get client(){if(this._UniversalProvider)return this._UniversalProvider;throw new Tn}get session(){if(!this._session)throw new Tn;return this._session}get publicKey(){if(this._UniversalProvider?.session&&this._session){const{address:e}=xI(this._session?.namespaces.solana?.accounts[0]??"");return new Ve.PublicKey(e)}throw new Tn}async signTransaction(e){this.checkIfWalletSupportsMethod(_s.signTransaction);const t=yi(e),i=t?{}:e,{signature:r,transaction:n}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signTransaction,params:{...i,transaction:this.serialize(e)}}});return n?this.deserialize(n,t):(e.addSignature(this.publicKey,P.Buffer.from(ih.decode(r))),e)}async signMessage(e){this.checkIfWalletSupportsMethod(_s.signMessage);const{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signMessage,params:{pubkey:this.publicKey.toString(),message:ih.encode(e)}}});return ih.decode(t)}async signAndSendTransaction(e){this.checkIfWalletSupportsMethod(_s.signAndSendTransaction);const{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signAndSendTransaction,params:{transaction:this.serialize(e)}}});return t}async signAllTransactions(e){try{this.checkIfWalletSupportsMethod(_s.signAllTransactions);const t=e.map(r=>this.serialize(r)),{transactions:i}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signAllTransactions,params:{transactions:t}}});return e.map((r,n)=>yi(r)?this.deserialize(i[n]??"",!0):this.deserialize(i[n]??""))}catch(t){if(t instanceof aw){const i=e.map(n=>this.signTransaction(n));return await Promise.all(i)}throw t}}async initClient(e){const t=await GM.init(e);this._UniversalProvider=t,this._ConnectQueueResolver&&this._ConnectQueueResolver(!0)}async initModal(){if(!this._modal){if(!this._UniversalProvider)throw new Error("WalletConnect Adapter - cannot init modal when Universal Provider is undefined");this._modal=a6({projectId:this._projectId,universalProvider:this._UniversalProvider,networks:[au,cu,X8],manualWCControl:!0})}}serialize(e){return P.Buffer.from(e.serialize({verifySignatures:!1})).toString("base64")}deserialize(e,t=!1){return t?Ve.VersionedTransaction.deserialize(P.Buffer.from(e,"base64")):Ve.Transaction.from(P.Buffer.from(e,"base64"))}checkIfWalletSupportsMethod(e){if(!this.session.namespaces.solana?.methods.includes(e))throw new aw(e)}}const p6="WalletConnect";class g6 extends du{name=p6;url="https://walletconnect.org";icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE4NSIgdmlld0JveD0iMCAwIDMwMCAxODUiIHdpZHRoPSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTYxLjQzODU0MjkgMzYuMjU2MjYxMmM0OC45MTEyMjQxLTQ3Ljg4ODE2NjMgMTI4LjIxMTk4NzEtNDcuODg4MTY2MyAxNzcuMTIzMjA5MSAwbDUuODg2NTQ1IDUuNzYzNDE3NGMyLjQ0NTU2MSAyLjM5NDQwODEgMi40NDU1NjEgNi4yNzY1MTEyIDAgOC42NzA5MjA0bC0yMC4xMzY2OTUgMTkuNzE1NTAzYy0xLjIyMjc4MSAxLjE5NzIwNTEtMy4yMDUzIDEuMTk3MjA1MS00LjQyODA4MSAwbC04LjEwMDU4NC03LjkzMTE0NzljLTM0LjEyMTY5Mi0zMy40MDc5ODE3LTg5LjQ0Mzg4Ni0zMy40MDc5ODE3LTEyMy41NjU1Nzg4IDBsLTguNjc1MDU2MiA4LjQ5MzYwNTFjLTEuMjIyNzgxNiAxLjE5NzIwNDEtMy4yMDUzMDEgMS4xOTcyMDQxLTQuNDI4MDgwNiAwbC0yMC4xMzY2OTQ5LTE5LjcxNTUwMzFjLTIuNDQ1NTYxMi0yLjM5NDQwOTItMi40NDU1NjEyLTYuMjc2NTEyMiAwLTguNjcwOTIwNHptMjE4Ljc2Nzc5NjEgNDAuNzczNzQ0OSAxNy45MjE2OTcgMTcuNTQ2ODk3YzIuNDQ1NTQ5IDIuMzk0Mzk2OSAyLjQ0NTU2MyA2LjI3NjQ3NjkuMDAwMDMxIDguNjcwODg5OWwtODAuODEwMTcxIDc5LjEyMTEzNGMtMi40NDU1NDQgMi4zOTQ0MjYtNi40MTA1ODIgMi4zOTQ0NTMtOC44NTYxNi4wMDAwNjItLjAwMDAxLS4wMDAwMS0uMDAwMDIyLS4wMDAwMjItLjAwMDAzMi0uMDAwMDMybC01Ny4zNTQxNDMtNTYuMTU0NTcyYy0uNjExMzktLjU5ODYwMi0xLjYwMjY1LS41OTg2MDItMi4yMTQwNCAwLS4wMDAwMDQuMDAwMDA0LS4wMDAwMDcuMDAwMDA4LS4wMDAwMTEuMDAwMDExbC01Ny4zNTI5MjEyIDU2LjE1NDUzMWMtMi40NDU1MzY4IDIuMzk0NDMyLTYuNDEwNTc1NSAyLjM5NDQ3Mi04Ljg1NjE2MTIuMDAwMDg3LS4wMDAwMTQzLS4wMDAwMTQtLjAwMDAyOTYtLjAwMDAyOC0uMDAwMDQ0OS0uMDAwMDQ0bC04MC44MTI0MTk0My03OS4xMjIxODVjLTIuNDQ1NTYwMjEtMi4zOTQ0MDgtMi40NDU1NjAyMS02LjI3NjUxMTUgMC04LjY3MDkxOTdsMTcuOTIxNzI5NjMtMTcuNTQ2ODY3M2MyLjQ0NTU2MDItMi4zOTQ0MDgyIDYuNDEwNTk4OS0yLjM5NDQwODIgOC44NTYxNjAyIDBsNTcuMzU0OTc3NSA1Ni4xNTUzNTdjLjYxMTM5MDguNTk4NjAyIDEuNjAyNjQ5LjU5ODYwMiAyLjIxNDAzOTggMCAuMDAwMDA5Mi0uMDAwMDA5LjAwMDAxNzQtLjAwMDAxNy4wMDAwMjY1LS4wMDAwMjRsNTcuMzUyMTAzMS01Ni4xNTUzMzNjMi40NDU1MDUtMi4zOTQ0NjMzIDYuNDEwNTQ0LTIuMzk0NTUzMSA4Ljg1NjE2MS0uMDAwMi4wMDAwMzQuMDAwMDMzNi4wMDAwNjguMDAwMDY3My4wMDAxMDEuMDAwMTAxbDU3LjM1NDkwMiA1Ni4xNTU0MzJjLjYxMTM5LjU5ODYwMSAxLjYwMjY1LjU5ODYwMSAyLjIxNDA0IDBsNTcuMzUzOTc1LTU2LjE1NDMyNDljMi40NDU1NjEtMi4zOTQ0MDkyIDYuNDEwNTk5LTIuMzk0NDA5MiA4Ljg1NjE2IDB6IiBmaWxsPSIjM2I5OWZjIi8+PC9zdmc+";supportedTransactionVersions=new Set(["legacy",0]);_publicKey;_connecting;_wallet;_config;_readyState;_onDisconnect;constructor(e){super(),this._publicKey=null,this._connecting=!1,this._config=e,this._wallet=null,this._readyState=typeof window>"u"?pe.Unsupported:pe.Loadable,this._onDisconnect=this.disconnect.bind(this)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Loadable)throw new Wi;this._connecting=!0,this._wallet=new d6({network:this._config.network===Bo.Mainnet?pc.Mainnet:pc.Devnet,options:this._config.options});const{publicKey:e}=await this._wallet.connect();this._publicKey=e,this.emit("connect",e),this._wallet.client.on("session_delete",this._onDisconnect)}catch(e){throw e.constructor.name==="QRCodeModalError"||e instanceof Error&&e.name==="QRCodeModalError"?new r0:(this._connecting=!1,e)}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){e.client.off("session_delete",this._onDisconnect),this._publicKey=null;try{e.client.session&&await e.disconnect()}catch(t){console.error("WalletConnectWalletAdapter: disconnect error",t),this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signMessage(e)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAndSendTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAndSendTransaction(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const f6={icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMDM1XzExMDYpIj4KPHJlY3Qgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIGZpbGw9IiM1NEZGRjUiLz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZl8yMDM1XzExMDYpIj4KPHBhdGggZD0iTTEzLjQ4MDYgMTk4LjYwNUMtMjkuMzI3NiAzMTkuMDQzIDE5OS42NjEgMjg1LjAyNyAzMTkuNTA3IDI1Mi45NjRDNDQyLjE2NSAyMTIuMjU5IDM1Ny4zODYgMzIuODI2OSAyNjkuNDE1IDI4Ljg1NThDMTgxLjQ0MyAyNC44ODQ3IDI4MC4zMjIgMTExLjgyNCAyMDUuNTk1IDEzNi42NTZDMTMwLjg2OCAxNjEuNDg3IDY2Ljk5MDcgNDguMDU4MyAxMy40ODA2IDE5OC42MDVaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2ZfMjAzNV8xMTA2KSI+CjxwYXRoIGQ9Ik04NS41MTE4IC00NS44MjI1QzYzLjA1NjIgLTEwNy4xNzYgLTE2LjkxODkgLTIzLjk5NTMgLTU0LjA5OTUgMjUuMjY0M0MtODkuNTY1MiA3OC44NDc5IDMuMDA5MzcgMTI1LjE1MiAzOS4zMjA4IDEwMC4wMzdDNzUuNjMyMyA3NC45MjI3IDcuNzc0NDggNzAuMDM2MyAyOS4zNzA4IDM3LjM3ODVDNTAuOTY3MSA0LjcyMDc2IDExMy41ODEgMzAuODY5NSA4NS41MTE4IC00NS44MjI1WiIgZmlsbD0iIzAwRkZGMCIgZmlsbC1vcGFjaXR5PSIwLjY3Ii8+CjwvZz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjJfZl8yMDM1XzExMDYpIj4KPHBhdGggZD0iTTk2LjQ3OTYgMjI1LjQyNEM2NS44NTAyIDEyMi4zNjMgLTY2LjA4MTggMTc2LjYzNyAtMTI4LjIxOSAyMTYuNjU3Qy0xODcuOTkgMjY0LjA0MiAtNDYuMDcxMSA0MDAuMzQ4IDEyLjg3MjUgMzkzLjM3NkM3MS44MTYxIDM4Ni40MDMgLTM0LjQxMTggMzI3LjA2NSAxLjk4NzAyIDI5OC4xN0MzOC4zODU4IDI2OS4yNzYgMTM0Ljc2NiAzNTQuMjQ5IDk2LjQ3OTYgMjI1LjQyNFoiIGZpbGw9IiM5RDgxRkYiLz4KPC9nPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyM19mXzIwMzVfMTEwNikiPgo8cGF0aCBkPSJNMjgyLjEyIC0xMDcuMzUzQzIxNi4wNDcgLTE4Ni4wMzEgMTIxLjQ2MyAtMTIwLjk3IDgyLjQyOTYgLTc4LjYwNDdDNDguMjczOSAtMzAuNjQ0NiAyMjQuMjc1IDU3LjIzMTIgMjczLjEyMSA0Mi4xNzE0QzMyMS45NjggMjcuMTExNSAyMDYuNTEyIC00LjA1MDM4IDIyNy4yOTcgLTMzLjI4NzlDMjQ4LjA4MiAtNjIuNTI1NSAzNjQuNzEyIC05LjAwNTY2IDI4Mi4xMiAtMTA3LjM1M1oiIGZpbGw9IiM0RDk0RkYiLz4KPC9nPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkzLjE4OSAxNTIuODM2SDEzNi42NzRMODcuMjA4NiAxMDMuMDUxTDEzNy4zMSA1My4yNjYzTDE1MC45NTUgNDBIMTA1LjgxOUw0OC4zMzU5IDk3Ljc3NzNDNDUuNDM0OSAxMDAuNjg5IDQ1LjQ0OTggMTA1LjQwMiA0OC4zNjU2IDEwOC4yOTlMOTMuMTg5IDE1Mi44MzZaTTExOS4zMyAxMDMuMTY4SDExOC45OTVMMTE5LjMyNiAxMDMuMTY0TDExOS4zMyAxMDMuMTY4Wk0xMTkuMzMgMTAzLjE2OEwxNjguNzkxIDE1Mi45NDlMMTE4LjY5IDIwMi43MzRMMTA1LjA0NSAyMTZIMTUwLjE4TDIwNy42NjQgMTU4LjIyNkMyMTAuNTY1IDE1NS4zMTQgMjEwLjU1IDE1MC42MDIgMjA3LjYzNCAxNDcuNzA1TDE2Mi44MTEgMTAzLjE2OEgxMTkuMzNaIiBmaWxsPSJibGFjayIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2ZfMjAzNV8xMTA2IiB4PSItOTAuMjQxMSIgeT0iLTY5LjczNjkiIHdpZHRoPSI1NjkuNTU4IiBoZWlnaHQ9IjQ1MS40MzEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDkuMjMwOCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTEwNiIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyMV9mXzIwMzVfMTEwNiIgeD0iLTE2MC41MTEiIHk9Ii0xNjUuOTg3IiB3aWR0aD0iMzUxLjU5NiIgaGVpZ2h0PSIzNzEuNTA3IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQ5LjIzMDgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzExMDYiLz4KPC9maWx0ZXI+CjxmaWx0ZXIgaWQ9ImZpbHRlcjJfZl8yMDM1XzExMDYiIHg9Ii0yNDEuMDc4IiB5PSI2Ny42NDIiIHdpZHRoPSI0NDQuODUxIiBoZWlnaHQ9IjQyNC40NTIiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDkuMjMwOCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTEwNiIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyM19mXzIwMzVfMTEwNiIgeD0iLTIwLjM5NjgiIHk9Ii0yNDIuNzU4IiB3aWR0aD0iNDMwLjE5MSIgaGVpZ2h0PSIzODUuMTA1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQ5LjIzMDgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzExMDYiLz4KPC9maWx0ZXI+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjAzNV8xMTA2Ij4KPHJlY3Qgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==",name:"Bitget Wallet"},w6=[f6],y6=s=>w6.find(e=>e.name.toLocaleLowerCase().includes(s.name.toLocaleLowerCase()))||s,m6=(s,e,t)=>e[s]||t[s],lw=(s,e)=>m6(s,y6(e),e);class gi extends ni.Wallet{constructor(e,t){super(),this.adapter=e,this.connection=t}getAdapter(){return this.adapter}getName(){return lw("name",this.adapter)}getUrl(){return this.adapter.url}async connect(){if(this.isConnected())return this.getAddresses();const e=await new Promise((t,i)=>{this.adapter.on("connect",()=>{this.adapter.off("connect"),this.adapter.off("error"),t(this.getAddresses())}),this.adapter.on("error",r=>{this.adapter.off("connect"),this.adapter.off("error"),i(r)}),this.adapter.connect().catch(i)});return this.emit("connect"),this.adapter.on("disconnect",()=>this.emit("disconnect")),e}getNetworkInfo(){return{}}isConnected(){return this.adapter.connected}async disconnect(){this.isConnected()&&(await new Promise((e,t)=>{this.adapter.on("disconnect",()=>{this.adapter.off("disconnect"),this.adapter.off("error"),e(void 0)}),this.adapter.on("error",i=>{this.adapter.off("disconnect"),this.adapter.off("error"),t(i)}),this.adapter.disconnect().catch(t)}),this.adapter.removeAllListeners(),this.emit("disconnect"))}getChainId(){return ni.CHAIN_ID_SOLANA}getAddress(){return this.adapter.publicKey?.toString()}getAddresses(){const e=this.getAddress();return e?[e]:[]}setMainAddress(){throw new Error("Not supported")}getBalance(){throw new Error("Not supported")}async signTransaction(e){if(!this.adapter.signTransaction||!this.adapter.signAllTransactions)throw new Error("Not supported");return Array.isArray(e)?this.adapter.signAllTransactions(e):this.adapter.signTransaction(e)}async sendTransaction(e){const{transaction:t}=e,i=Array.isArray(t)?t:[t];if(i.length===0)throw new Error("Empty transactions array");const r=[];for(const n of i){const o=await this.adapter.sendTransaction(n,this.connection,{...e.options});r.push(o)}return await this.connection.confirmTransaction(r[0],e.options?.commitment),{id:r[0],data:r.length===1?r[0]:r}}async signAndSendTransaction(e){return this.sendTransaction(e)}signMessage(e){if(!this.adapter.signMessage)throw new Error("Not supported");return this.adapter.signMessage(e)}getIcon(){return lw("icon",this.adapter)}getWalletState(){const e=this.adapter.readyState;if(!(e in ni.WalletState))throw new Error(`Unknown wallet state ${e}`);return ni.WalletState[e]}getFeatures(){const e=[ni.BaseFeatures.SendTransaction,ni.BaseFeatures.SignAndSendTransaction];return this.adapter.signTransaction&&this.adapter.signAllTransactions&&e.push(ni.BaseFeatures.SignTransaction),this.adapter.signMessage&&e.push(ni.BaseFeatures.SignMessage),e}supportsChain(e){return e===ni.CHAIN_ID_SOLANA}}function b6(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var v6="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const I6=b6(v6);var J=function(s,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?s!==e||!i:!e.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(s):i?i.value:e.get(s)},ht=function(s,e,t,i,r){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?s!==e||!r:!e.has(s))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?r.call(s,t):r?r.value=t:e.set(s,t),t},Ot,es,yr,mr,cr,xo,Oc,Ne,Mc,lu,dc,hu,qo,uu,hw,uw,dw,pw;class E6 extends fw{get name(){return J(this,Ne,"f").name}get url(){return"https://github.com/solana-labs/wallet-standard"}get icon(){return J(this,Ne,"f").icon}get readyState(){return J(this,Mc,"f")}get publicKey(){return J(this,yr,"f")}get connecting(){return J(this,mr,"f")}get supportedTransactionVersions(){return J(this,Oc,"f")}get wallet(){return J(this,Ne,"f")}get standard(){return!0}constructor({wallet:e}){super(),Ot.add(this),es.set(this,void 0),yr.set(this,void 0),mr.set(this,void 0),cr.set(this,void 0),xo.set(this,void 0),Oc.set(this,void 0),Ne.set(this,void 0),Mc.set(this,typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.Installed),uu.set(this,t=>{if("accounts"in t){const i=J(this,Ne,"f").accounts[0];J(this,es,"f")&&!J(this,cr,"f")&&i!==J(this,es,"f")&&(i?J(this,Ot,"m",dc).call(this,i):(this.emit("error",new gw),J(this,Ot,"m",hu).call(this)))}"features"in t&&J(this,Ot,"m",qo).call(this)}),ht(this,Ne,e,"f"),ht(this,es,null,"f"),ht(this,yr,null,"f"),ht(this,mr,!1,"f"),ht(this,cr,!1,"f"),ht(this,xo,J(this,Ne,"f").features[ne.StandardEvents].on("change",J(this,uu,"f")),"f"),J(this,Ot,"m",qo).call(this)}destroy(){ht(this,es,null,"f"),ht(this,yr,null,"f"),ht(this,mr,!1,"f"),ht(this,cr,!1,"f");const e=J(this,xo,"f");e&&(ht(this,xo,null,"f"),e())}async autoConnect(){return J(this,Ot,"m",lu).call(this,{silent:!0})}async connect(){return J(this,Ot,"m",lu).call(this)}async disconnect(){if(ne.StandardDisconnect in J(this,Ne,"f").features)try{ht(this,cr,!0,"f"),await J(this,Ne,"f").features[ne.StandardDisconnect].disconnect()}catch(e){this.emit("error",new ra(e?.message,e))}finally{ht(this,cr,!1,"f")}J(this,Ot,"m",hu).call(this)}async sendTransaction(e,t,i={}){try{const r=J(this,es,"f");if(!r)throw new Ke;let n;if(ne.SolanaSignAndSendTransaction in J(this,Ne,"f").features)if(r.features.includes(ne.SolanaSignAndSendTransaction))n=ne.SolanaSignAndSendTransaction;else if(ne.SolanaSignTransaction in J(this,Ne,"f").features&&r.features.includes(ne.SolanaSignTransaction))n=ne.SolanaSignTransaction;else throw new Cs;else if(ne.SolanaSignTransaction in J(this,Ne,"f").features){if(!r.features.includes(ne.SolanaSignTransaction))throw new Cs;n=ne.SolanaSignTransaction}else throw new Nn;const o=v0(t.rpcEndpoint);if(!r.chains.includes(o))throw new pr;try{const{signers:a,...c}=i;let l;if(yi(e)?(a?.length&&e.sign(a),l=e.serialize()):(e=await this.prepareTransaction(e,t,c),a?.length&&e.partialSign(...a),l=new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))),n===ne.SolanaSignAndSendTransaction){const[h]=await J(this,Ne,"f").features[ne.SolanaSignAndSendTransaction].signAndSendTransaction({account:r,chain:o,transaction:l,options:{preflightCommitment:al(c.preflightCommitment||t.commitment),skipPreflight:c.skipPreflight,maxRetries:c.maxRetries,minContextSlot:c.minContextSlot}});return I6.encode(h.signature)}else{const[h]=await J(this,Ne,"f").features[ne.SolanaSignTransaction].signTransaction({account:r,chain:o,transaction:l,options:{preflightCommitment:al(c.preflightCommitment||t.commitment),minContextSlot:c.minContextSlot}});return await t.sendRawTransaction(h.signedTransaction,{...c,preflightCommitment:al(c.preflightCommitment||t.commitment)})}}catch(a){throw a instanceof Dt?a:new pr(a?.message,a)}}catch(r){throw this.emit("error",r),r}}}es=new WeakMap,yr=new WeakMap,mr=new WeakMap,cr=new WeakMap,xo=new WeakMap,Oc=new WeakMap,Ne=new WeakMap,Mc=new WeakMap,uu=new WeakMap,Ot=new WeakSet,lu=async function(e){try{if(this.connected||this.connecting)return;if(J(this,Mc,"f")!==pe.Installed)throw new Wi;if(ht(this,mr,!0,"f"),!J(this,Ne,"f").accounts.length)try{await J(this,Ne,"f").features[ne.StandardConnect].connect(e)}catch(i){throw new Dc(i?.message,i)}const t=J(this,Ne,"f").accounts[0];if(!t)throw new Cs;J(this,Ot,"m",dc).call(this,t)}catch(t){throw this.emit("error",t),t}finally{ht(this,mr,!1,"f")}},dc=function(e){let t;try{t=new Ve.PublicKey(e.address)}catch(i){throw new Tr(i?.message,i)}ht(this,es,e,"f"),ht(this,yr,t,"f"),J(this,Ot,"m",qo).call(this),this.emit("connect",t)},hu=function(){ht(this,es,null,"f"),ht(this,yr,null,"f"),J(this,Ot,"m",qo).call(this),this.emit("disconnect")},qo=function(){const e=ne.SolanaSignAndSendTransaction in J(this,Ne,"f").features?J(this,Ne,"f").features[ne.SolanaSignAndSendTransaction].supportedTransactionVersions:J(this,Ne,"f").features[ne.SolanaSignTransaction].supportedTransactionVersions;ht(this,Oc,Jv.arraysEqual(e,["legacy"])?null:new Set(e),"f"),ne.SolanaSignTransaction in J(this,Ne,"f").features&&J(this,es,"f")?.features.includes(ne.SolanaSignTransaction)?(this.signTransaction=J(this,Ot,"m",hw),this.signAllTransactions=J(this,Ot,"m",uw)):(delete this.signTransaction,delete this.signAllTransactions),ne.SolanaSignMessage in J(this,Ne,"f").features&&J(this,es,"f")?.features.includes(ne.SolanaSignMessage)?this.signMessage=J(this,Ot,"m",dw):delete this.signMessage,ne.SolanaSignIn in J(this,Ne,"f").features?this.signIn=J(this,Ot,"m",pw):delete this.signIn},hw=async function(e){try{const t=J(this,es,"f");if(!t)throw new Ke;if(!(ne.SolanaSignTransaction in J(this,Ne,"f").features))throw new Nn;if(!t.features.includes(ne.SolanaSignTransaction))throw new Cs;try{const r=(await J(this,Ne,"f").features[ne.SolanaSignTransaction].signTransaction({account:t,transaction:yi(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))}))[0].signedTransaction;return yi(e)?Ve.VersionedTransaction.deserialize(r):Ve.Transaction.from(r)}catch(i){throw i instanceof Dt?i:new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}},uw=async function(e){try{const t=J(this,es,"f");if(!t)throw new Ke;if(!(ne.SolanaSignTransaction in J(this,Ne,"f").features))throw new Nn;if(!t.features.includes(ne.SolanaSignTransaction))throw new Cs;try{const i=await J(this,Ne,"f").features[ne.SolanaSignTransaction].signTransaction(...e.map(r=>({account:t,transaction:yi(r)?r.serialize():new Uint8Array(r.serialize({requireAllSignatures:!1,verifySignatures:!1}))})));return e.map((r,n)=>{const o=i[n].signedTransaction;return yi(r)?Ve.VersionedTransaction.deserialize(o):Ve.Transaction.from(o)})}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}},dw=async function(e){try{const t=J(this,es,"f");if(!t)throw new Ke;if(!(ne.SolanaSignMessage in J(this,Ne,"f").features))throw new Nn;if(!t.features.includes(ne.SolanaSignMessage))throw new Cs;try{return(await J(this,Ne,"f").features[ne.SolanaSignMessage].signMessage({account:t,message:e}))[0].signature}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}},pw=async function(e={}){try{if(!(ne.SolanaSignIn in J(this,Ne,"f").features))throw new Nn;let t;try{[t]=await J(this,Ne,"f").features[ne.SolanaSignIn].signIn(e)}catch(i){throw new wd(i?.message,i)}if(!t)throw new wd;return J(this,Ot,"m",dc).call(this,t.account),t}catch(t){throw this.emit("error",t),t}};function Ub(s){return Zv.getWallets().get().filter(n0).map(e=>new gi(new E6({wallet:e}),s))}const A6=3e3,Lb=s=>s.getName().toLowerCase().replaceAll("wallet","").trim();function _6(s){if(s==="Solana")return zb();if(s==="Fogo")return Fb();throw new Error(`Unsupported chain: ${s}`)}function zb(){const s=wi.config.isMainnet?Bo.Mainnet:Bo.Devnet,e=new Ve.Connection(wi.config.rpcs.Solana||Ve.clusterApiUrl(s)),t=Ub(e).reduce((r,n)=>(r[Lb(n)]=n,r),{});let i={};return wi.config.ui.walletConnectProjectId&&(i={walletConnect:new gi(new g6({network:s,options:{projectId:wi.config.ui.walletConnectProjectId,customStoragePrefix:"wh-connect-solana-adapter"}}),e)}),{...t,bitget:new gi(new a0,e),clover:new gi(new l0,e),coin98:new gi(new p0,e),solong:new gi(new w0,e),torus:new gi(new m0,e),nightly:new gi(new ww,e),...i}}function Fb(){if(!wi.config.rpcs.Fogo)throw new Error("Fogo RPC not found");const s=new Ve.Connection(wi.config.rpcs.Fogo),e=Ub(s).reduce((t,i)=>{const r=Lb(i).toLowerCase();return r==="leap"&&(t.leap=i),r==="backpack"&&(t.backpack=i),t},{});return{nightly:new gi(new ww,s),...e}}async function N6(s,e,t){if(!e)throw new Error("Wallet not found");const i=wi.config.rpcs[s.chain];if(!i)throw new Error(`${s.chain} RPC not found`);let r=t?.commitment??"confirmed";const n=new Ve.Connection(i);(s.description==="Core.VerifySignature"||s.description==="Core.PostVAA")&&(r="finalized");const{blockhash:o,lastValidBlockHeight:a}=await n.getLatestBlockhash(r),{serializedTransaction:c,sendOptions:l}=await $6(s,e,n,o,a,r);return await C6(n,{serializedTransaction:c,sendOptions:l},o,a,r)}async function C6(s,e,t,i,r){let n=null;const o=await s.sendRawTransaction(e.serializedTransaction,e.sendOptions),a=s.confirmTransaction({signature:o,blockhash:t,lastValidBlockHeight:i},r);try{for(;!n&&(n=await Promise.race([a,new Promise(c=>setTimeout(()=>c(null),A6))]),!n);)await s.sendRawTransaction(e.serializedTransaction,e.sendOptions)}catch(c){if(c instanceof Error&&c.name==="TransactionExpiredBlockheightExceededError")return await S6(s,o),o;throw c}if(n?.value.err){const c=T6(n.value.err);throw new Error(`Transaction failed: ${c}`)}return o}async function S6(s,e,{retries:t=5,delay:i=2e3}={}){s0(async()=>{await s.getTransaction(e,{commitment:"confirmed",maxSupportedTransactionVersion:0})},{retries:t,delay:i})}async function $6(s,e,t,i,r,n){const o=await ne.setPriorityFeeInstructions(t,i,r,s);return{serializedTransaction:(await e.signTransaction(o)).serialize(),sendOptions:{skipPreflight:!0,maxRetries:0,preFlightCommitment:n}}}function T6(s){if(!s)return"Unknown error";if(typeof s=="object")try{return wi.stringifyWithBigInt(s)}catch{return"Unstringifiable error object"}return String(s)}const P6=Object.freeze(Object.defineProperty({__proto__:null,fetchFogoOptions:Fb,fetchOptions:_6,fetchSolanaOptions:zb,signAndSendTransactionWithResends:N6},Symbol.toStringTag,{value:"Module"}));exports.AccountController=se;exports.AlertController=Do;exports.ApiController=he;exports.AssetController=Ns;exports.AssetUtil=Tu;exports.ChainController=I;exports.ConnectionController=Fe;exports.ConnectorController=ce;exports.ConnectorUtil=Uo;exports.ConstantsUtil=te;exports.ConstantsUtil$1=Vt;exports.ConstantsUtil$2=$b;exports.CoreHelperUtil=le;exports.E=wt;exports.EventsController=qe;exports.Hash=Nw;exports.Hash$1=pm;exports.ModalController=at;exports.OptionsController=z;exports.RouterController=xe;exports.SIWXUtil=On;exports.SnackController=Et;exports.StorageUtil=Z;exports.T=$r;exports.ThemeController=Ft;exports.WalletUtil=$c;exports.abytes=ca;exports.abytes$1=wa;exports.aexists=ah;exports.aexists$1=Mh;exports.ahash=tI;exports.ahash$1=XD;exports.aoutput=_w;exports.aoutput$1=dm;exports.b=U8;exports.colorStyles=Z8;exports.concatBytes=pI;exports.concatBytes$1=uk;exports.createView=lI;exports.createView$1=ak;exports.elementStyles=J8;exports.f=Vu;exports.i=br;exports.i$1=zo;exports.initializeTheming=G8;exports.proxy=st;exports.randomBytes=gI;exports.randomBytes$1=dk;exports.resetStyles=Q8;exports.rotr=hI;exports.rotr$1=ck;exports.solana=P6;exports.subscribe=ts;exports.subscribeKey=gs;exports.toBytes=pu;exports.toBytes$1=Pu;exports.u=Tc;exports.wrapConstructor=Cw;exports.wrapConstructor$1=gm;exports.x=R8;
|
|
915
|
+
`,tc={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};function _a(s){return{formatters:void 0,fees:void 0,serializers:void 0,...s}}const au=_a({id:"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",name:"Solana",network:"solana-mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!1,chainNamespace:"solana",caipNetworkId:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",deprecatedCaipNetworkId:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ"}),cu=_a({id:"EtWTRABZaYq6iMfeYKouRu166VU2xqa1",name:"Solana Devnet",network:"solana-devnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",deprecatedCaipNetworkId:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"}),X8=_a({id:"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",name:"Solana Testnet",network:"solana-testnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"});_a({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});_a({id:"000000000933ea01ad0ee984209779ba",caipNetworkId:"bip122:000000000933ea01ad0ee984209779ba",chainNamespace:"bip122",name:"Bitcoin Testnet",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},testnet:!0});const e6={solana:["solana_signMessage","solana_signTransaction","solana_requestAccounts","solana_getAccounts","solana_signAllTransactions","solana_signAndSendTransaction"],eip155:["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_showCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],bip122:["sendTransfer","signMessage","signPsbt","getAccountAddresses"]},jb={getMethodsByChainNamespace(s){return e6[s]||[]},createDefaultNamespace(s){return{methods:this.getMethodsByChainNamespace(s),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(s,e){if(!e)return{...s};const t={...s},i=new Set;if(e.methods&&Object.keys(e.methods).forEach(r=>i.add(r)),e.chains&&Object.keys(e.chains).forEach(r=>i.add(r)),e.events&&Object.keys(e.events).forEach(r=>i.add(r)),e.rpcMap&&Object.keys(e.rpcMap).forEach(r=>{const[n]=r.split(":");n&&i.add(n)}),i.forEach(r=>{t[r]||(t[r]=this.createDefaultNamespace(r))}),e.methods&&Object.entries(e.methods).forEach(([r,n])=>{t[r]&&(t[r].methods=n)}),e.chains&&Object.entries(e.chains).forEach(([r,n])=>{t[r]&&(t[r].chains=n)}),e.events&&Object.entries(e.events).forEach(([r,n])=>{t[r]&&(t[r].events=n)}),e.rpcMap){const r=new Set;Object.entries(e.rpcMap).forEach(([n,o])=>{const[a,c]=n.split(":");!a||!c||!t[a]||(t[a].rpcMap||(t[a].rpcMap={}),r.has(a)||(t[a].rpcMap={},r.add(a)),t[a].rpcMap[c]=o)})}return t},createNamespaces(s,e){const t=s.reduce((i,r)=>{const{id:n,chainNamespace:o,rpcUrls:a}=r,c=a.default.http[0];i[o]||(i[o]=this.createDefaultNamespace(o));const l=`${o}:${n}`,h=i[o];switch(h.chains.push(l),l){case au.caipNetworkId:h.chains.push(au.deprecatedCaipNetworkId);break;case cu.caipNetworkId:h.chains.push(cu.deprecatedCaipNetworkId);break}return h?.rpcMap&&c&&(h.rpcMap[n]=c),i},{});return this.applyNamespaceOverrides(t,e)},resolveReownName:async s=>{const e=await rm.resolveName(s);return(Object.values(e?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(s={}){return Object.values(s).flatMap(e=>{const t=e.chains||[],i=e.accounts.map(r=>{const[n,o]=r.split(":");return`${n}:${o}`});return Array.from(new Set([...t,...i]))})},isSessionEventData(s){return typeof s=="object"&&s!==null&&"id"in s&&"topic"in s&&"params"in s&&typeof s.params=="object"&&s.params!==null&&"chainId"in s.params&&"event"in s.params&&typeof s.params.event=="object"&&s.params.event!==null}};class Rb{constructor({provider:e,caipNetworks:t,namespace:i}){this.id=te.CONNECTOR_ID.WALLET_CONNECT,this.name=Cc.ConnectorNamesMap[te.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=Cc.ConnectorImageIds[te.CONNECTOR_ID.WALLET_CONNECT],this.caipNetworks=t,this.provider=e,this.chain=i}get chains(){return this.caipNetworks}async connectWalletConnect(){if(!await this.authenticate()){const t=z.state.universalProviderConfigOverride,i=jb.createNamespaces(this.caipNetworks,t);await this.provider.connect({optionalNamespaces:i})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(t=>t.caipNetworkId);return On.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:t6})}}const t6=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"];class s6{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,e&&this.construct(e)}construct(e){this.caipNetworks=e.networks,this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.caipNetworks||[]}setAuthProvider(e){this.addConnector({id:te.CONNECTOR_ID.AUTH,type:"AUTH",name:te.CONNECTOR_NAMES.AUTH,provider:e,imageId:Cc.ConnectorImageIds[te.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){const t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(i=>t.has(i.id)?!1:(t.add(i.id),!0)),this.emit("connectors",this.availableConnectors)}setStatus(e,t){se.setStatus(e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){const i=this.eventListeners.get(e);i&&i.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){const i=this.eventListeners.get(e);i&&i.forEach(r=>r(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){const{caipNetwork:t,providerType:i}=e;if(!e.provider)return;const r="provider"in e.provider?e.provider.provider:e.provider;if(i==="WALLET_CONNECT"){r.setDefaultChain(t.caipNetworkId);return}if(r&&i==="AUTH"){const n=r;await n.switchNetwork(t.caipNetworkId);const o=await n.getUser({chainId:t.caipNetworkId,preferredAccountType:z.state.defaultAccountTypes[t.chainNamespace]});this.emit("switchNetwork",o)}}getWalletConnectConnector(){const e=this.connectors.find(t=>t instanceof Rb);if(!e)throw new Error("WalletConnectConnector not found");return e}}class i6 extends s6{setUniversalProvider(e){this.addConnector(new Rb({provider:e,caipNetworks:this.caipNetworks||[],namespace:this.namespace}))}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}}async getAccounts({namespace:e}){const i=this.provider?.session?.namespaces?.[e]?.accounts?.map(r=>{const[,,n]=r.split(":");return n}).filter((r,n,o)=>o.indexOf(r)===n)||[];return Promise.resolve({accounts:i.map(r=>le.createAccount(e,r,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&Vt.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};if(se.state.balanceLoading&&e.chainId===I.state.activeCaipNetwork?.id)return{balance:se.state.balance||"0.00",symbol:se.state.balanceSymbol||""};const r=(await se.fetchTokenBalance()).find(n=>n.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&n.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:r?.quantity.numeric||"0.00",symbol:r?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){const{provider:t,message:i,address:r}=e;if(!t)throw new Error("UniversalAdapter:signMessage - provider is undefined");let n="";return I.state.activeCaipNetwork?.chainNamespace===te.CHAIN.SOLANA?n=(await t.request({method:"solana_signMessage",params:{message:bm.encode(new TextEncoder().encode(i)),pubkey:r}},I.state.activeCaipNetwork?.caipNetworkId)).signature:n=await t.request({method:"personal_sign",params:[i,r]},I.state.activeCaipNetwork?.caipNetworkId),{signature:n}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async getProfile(){return Promise.resolve({profileImage:"",profileName:""})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}async getEnsAddress(){return Promise.resolve({address:!1})}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){const{caipNetwork:t}=e,i=this.getWalletConnectConnector();if(t.chainNamespace===te.CHAIN.EVM)try{await i.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Pn.toHex(t.id)}]})}catch(r){if(r.code===tc.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||r.code===tc.ERROR_INVALID_CHAIN_ID||r.code===tc.ERROR_CODE_DEFAULT||r?.data?.originalError?.code===tc.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await i.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Pn.toHex(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw new Error("Chain is not supported")}}i.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(i=>i.type==="WALLET_CONNECT")?.provider}}class r6{constructor(e){this.hasSwitchedToPreferredAccountTypeOnConnect=!1,this.chainNamespaces=[],this.reportedAlertErrors={},this.getCaipNetwork=t=>{if(t){const i=I.getNetworkData(t)?.caipNetwork;return i||I.getRequestedCaipNetworks(t).filter(r=>r.chainNamespace===t)?.[0]}return I.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const t=this.getCaipNetwork();if(t)return t.id},this.getCaipNetworks=t=>I.getRequestedCaipNetworks(t),this.getActiveChainNamespace=()=>I.state.activeChain,this.setRequestedCaipNetworks=(t,i)=>{I.setRequestedCaipNetworks(t,i)},this.getApprovedCaipNetworkIds=()=>I.getAllApprovedCaipNetworkIds(),this.getCaipAddress=t=>I.state.activeChain===t||!t?I.state.activeCaipAddress:I.getAccountProp("caipAddress",t),this.setClientId=t=>{re.setClientId(t)},this.getProvider=t=>tt.getProvider(t),this.getProviderType=t=>tt.getProviderId(t),this.getPreferredAccountType=()=>se.state.preferredAccountType,this.setCaipAddress=(t,i)=>{se.setCaipAddress(t,i)},this.setBalance=(t,i,r)=>{se.setBalance(t,i,r)},this.setProfileName=(t,i)=>{se.setProfileName(t,i)},this.setProfileImage=(t,i)=>{se.setProfileImage(t,i)},this.setUser=(t,i)=>{se.setUser(t,i),z.state.enableEmbedded&&at.close()},this.resetAccount=t=>{se.resetAccount(t)},this.setCaipNetwork=t=>{I.setActiveCaipNetwork(t)},this.setCaipNetworkOfNamespace=(t,i)=>{I.setChainNetworkData(i,{caipNetwork:t})},this.setAllAccounts=(t,i)=>{se.setAllAccounts(t,i),z.setHasMultipleAddresses(t?.length>1)},this.setStatus=(t,i)=>{se.setStatus(t,i),ce.isConnected()?Z.setConnectionStatus("connected"):Z.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=t=>I.getAccountProp("address",t),this.setConnectors=t=>{const i=[...ce.getConnectors(),...t];ce.setConnectors(i)},this.fetchIdentity=t=>re.fetchIdentity(t),this.getReownName=t=>rm.getNamesForAddress(t),this.getConnectors=()=>ce.getConnectors(),this.getConnectorImage=t=>Tu.getConnectorImage(t),this.setConnectedWalletInfo=(t,i)=>{const r=tt.getProviderId(i),n=t?{...t,type:r}:void 0;se.setConnectedWalletInfo(n,i)},this.getIsConnectedState=()=>!!I.state.activeCaipAddress,this.addAddressLabel=(t,i,r)=>{se.addAddressLabel(t,i,r)},this.removeAddressLabel=(t,i)=>{se.removeAddressLabel(t,i)},this.getAddress=t=>I.state.activeChain===t||!t?se.state.address:I.getAccountProp("address",t),this.setApprovedCaipNetworksData=t=>I.setApprovedCaipNetworksData(t),this.resetNetwork=t=>{I.resetNetwork(t)},this.addConnector=t=>{ce.addConnector(t)},this.resetWcConnection=()=>{Fe.resetWcConnection()},this.setAddressExplorerUrl=(t,i)=>{se.setAddressExplorerUrl(t,i)},this.setSmartAccountDeployed=(t,i)=>{se.setSmartAccountDeployed(t,i)},this.setSmartAccountEnabledNetworks=(t,i)=>{I.setSmartAccountEnabledNetworks(t,i)},this.setPreferredAccountType=(t,i)=>{se.setPreferredAccountType(t,i)},this.setEIP6963Enabled=t=>{z.setEIP6963Enabled(t)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else this.open({view:"ApproveTransaction"})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=[...new Set(this.caipNetworks?.map(t=>t.chainNamespace))],this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.initialize(e),this.sendInitializeEvent(e)}async initialize(e){this.initControllers(e),await this.initChainAdapters(),await this.injectModalUi(),await this.syncExistingConnection(),bi.set({initialized:!0})}sendInitializeEvent(e){const{...t}=e;delete t.adapters,qe.sendEvent({type:"track",event:"INITIALIZE",properties:{...t,networks:e.networks.map(i=>i.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&Ft.setThemeMode(e.themeMode),e.themeVariables&&Ft.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");I.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const t=this.getDefaultNetwork();t&&I.setActiveCaipNetwork(t)}initializeConnectionController(e){Fe.setWcBasic(e.basic??!1)}initializeConnectorController(){ce.initialize(this.chainNamespaces)}initializeOptionsController(e){z.setDebug(e.debug!==!1),z.setEnableWalletConnect(e.enableWalletConnect!==!1),z.setEnableWalletGuide(e.enableWalletGuide!==!1),z.setEnableWallets(e.enableWallets!==!1),z.setEIP6963Enabled(e.enableEIP6963!==!1),z.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),z.setEnableAuthLogger(e.enableAuthLogger!==!1),z.setCustomRpcUrls(e.customRpcUrls),z.setSdkVersion(e.sdkVersion),z.setProjectId(e.projectId),z.setEnableEmbedded(e.enableEmbedded),z.setAllWallets(e.allWallets),z.setIncludeWalletIds(e.includeWalletIds),z.setExcludeWalletIds(e.excludeWalletIds),z.setFeaturedWalletIds(e.featuredWalletIds),z.setTokens(e.tokens),z.setTermsConditionsUrl(e.termsConditionsUrl),z.setPrivacyPolicyUrl(e.privacyPolicyUrl),z.setCustomWallets(e.customWallets),z.setFeatures(e.features),z.setAllowUnsupportedChain(e.allowUnsupportedChain),z.setDefaultAccountTypes(e.defaultAccountTypes),z.setUniversalProviderConfigOverride(e.universalProviderConfigOverride);const t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),z.setMetadata(e.metadata),z.setDisableAppend(e.disableAppend),z.setEnableEmbedded(e.enableEmbedded),z.setSIWX(e.siwx),!e.projectId){Do.open(ec.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(r=>r.namespace===te.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");z.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return typeof window<"u"&&typeof document<"u"?{name:document.getElementsByTagName("title")?.[0]?.textContent||"",description:document.querySelector('meta[property="og:description"]')?.content||"",url:window.location.origin,icons:[document.querySelector('link[rel~="icon"]')?.href||""]}:null}setUnsupportedNetwork(e){const t=this.getActiveChainNamespace();if(t){const i=An.getUnsupportedNetwork(`${t}:${e}`);I.setActiveCaipNetwork(i)}}getDefaultNetwork(){return An.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return An.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return An.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const t=e.networks.find(r=>r.id===e.defaultNetwork?.id);return t?An.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{const e=I.state.activeChain,t=this.getAdapter(e),i=this.getCaipNetwork(e)?.id;if(!t)throw new Error("Adapter not found");const r=await t.connectWalletConnect(i);this.close(),this.setClientId(r?.clientId||null),Z.setConnectedNamespaces([...I.state.chains.keys()]),this.chainNamespaces.forEach(n=>{ce.setConnectorId(Pi.CONNECTOR_TYPE_WALLET_CONNECT,n)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:t,type:i,provider:r,chain:n,caipNetwork:o})=>{const a=I.state.activeChain,c=n||a,l=this.getAdapter(c);if(n&&n!==a&&!o){const f=this.caipNetworks?.find(g=>g.chainNamespace===n);f&&this.setCaipNetwork(f)}if(!l)throw new Error("Adapter not found");const h=this.getCaipNetwork(c),d=await l.connect({id:e,info:t,type:i,provider:r,chainId:o?.id||h?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||h?.rpcUrls?.default?.http?.[0]});if(!d)return;Z.addConnectedNamespace(c),this.syncProvider({...d,chainNamespace:c}),await this.syncAccount({...d,chainNamespace:c});const{accounts:p}=await l.getAccounts({namespace:c,id:e});this.setAllAccounts(p,c)},reconnectExternal:async({id:e,info:t,type:i,provider:r})=>{const n=I.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:t,type:i,provider:r,chainId:this.getCaipNetwork()?.id}),Z.addConnectedNamespace(n))},disconnect:async e=>{const t=e||I.state.activeChain,i=this.getAdapter(t),r=tt.getProvider(t),n=tt.getProviderId(t);await i?.disconnect({provider:r,providerType:n}),Z.removeConnectedNamespace(t),tt.resetChain(t),this.setUser(void 0,t),this.setStatus("disconnected",t),this.hasSwitchedToPreferredAccountTypeOnConnect=!1},checkInstalled:e=>e?e.some(t=>!!window.ethereum?.[String(t)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(I.state.activeChain)?.signMessage({message:e,address:se.state.address,provider:tt.getProvider(I.state.activeChain)}))?.signature||"",sendTransaction:async e=>{if(e.chainNamespace===te.CHAIN.EVM){const t=this.getAdapter(I.state.activeChain),i=tt.getProvider(I.state.activeChain);return(await t?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===te.CHAIN.EVM){const t=this.getAdapter(I.state.activeChain),i=tt.getProvider(I.state.activeChain),r=this.getCaipNetwork();if(!r)throw new Error("CaipNetwork is undefined");return(await t?.estimateGas({...e,provider:i,caipNetwork:r}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.getAdapter(I.state.activeChain)?.getProfile({address:se.state.address,chainId:Number(this.getCaipNetwork()?.id)}))?.profileImage||!1,getEnsAddress:async e=>{const t=this.getAdapter(I.state.activeChain),i=this.getCaipNetwork();return i&&(await t?.getEnsAddress({name:e,caipNetwork:i}))?.address||!1},writeContract:async e=>{const t=this.getAdapter(I.state.activeChain),i=this.getCaipNetwork(),r=this.getCaipAddress(),n=tt.getProvider(I.state.activeChain);if(!i||!r)throw new Error("CaipNetwork or CaipAddress is undefined");return(await t?.writeContract({...e,caipNetwork:i,provider:n,caipAddress:r}))?.hash},parseUnits:(e,t)=>this.getAdapter(I.state.activeChain)?.parseUnits({value:e,decimals:t})??0n,formatUnits:(e,t)=>this.getAdapter(I.state.activeChain)?.formatUnits({value:e,decimals:t})??"0",getCapabilities:async e=>await this.getAdapter(I.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(I.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const t=this.getAdapter(I.state.activeChain);return t?.revokePermissions?await t.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(I.state.activeChain)?.walletGetAssets(e)??{}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},Fe.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(tt.getProviderId(I.state.activeChain)===Pi.CONNECTOR_TYPE_WALLET_CONNECT){const t=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(t)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;const t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const r=tt.getProvider(t),n=tt.getProviderId(t);if(e.chainNamespace===I.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:r,providerType:n});else if(this.setCaipNetwork(e),n===Pi.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const o=this.getAddressByChainNamespace(t);o&&this.syncAccount({address:o,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(t=>{const i=t.chains||[],r=t.accounts.map(n=>{const{chainId:o,chainNamespace:a}=Ci.parseCaipAddress(n);return`${a}:${o}`});return Array.from(new Set([...i,...r]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,i)=>{const r=e?.find(n=>n.namespace===i);return r?(t[i]=r,t[i].namespace=i,t[i].construct({namespace:i,projectId:this.options?.projectId,networks:this.caipNetworks})):t[i]=new i6({namespace:i,networks:this.caipNetworks}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const t=this.getAdapter(e);if(!t)return;const i=Z.getConnectionStatus();i==="connected"?this.setStatus("connecting",e):i==="disconnected"?(Z.clearAddressCache(),this.setStatus(i,e)):this.setStatus(i,e),t.on("switchNetwork",({address:r,chainId:n})=>{const o=this.caipNetworks?.find(l=>l.id===n||l.caipNetworkId===n),a=I.state.activeChain===e,c=I.getAccountProp("address",e);if(o){const l=a&&r?r:c;l&&this.syncAccount({address:l,chainId:n,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on("disconnect",this.disconnect.bind(this,e)),t.on("pendingTransactions",()=>{const r=se.state.address,n=I.state.activeCaipNetwork;!r||!n?.id||this.updateNativeBalance(r,n.id,n.chainNamespace)}),t.on("accountChanged",({address:r,chainId:n})=>{const o=I.state.activeChain===e;o&&n?this.syncAccount({address:r,chainId:n,chainNamespace:e}):o&&I.state.activeCaipNetwork?.id?this.syncAccount({address:r,chainId:I.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(r,n,e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{const t=ce.getConnectorId(e);switch(this.setStatus("connecting",e),t){case te.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case te.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(t){console.warn("AppKit couldn't sync existing connection",t),this.setStatus("disconnected",e)}}async syncAdapterConnection(e){const t=this.getAdapter(e),i=ce.getConnectorId(e),r=this.getCaipNetwork(e),n=ce.getConnectors(e).find(o=>o.id===i);try{if(!t||!n)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw new Error("CaipNetwork not found");const o=await t?.syncConnection({namespace:e,id:n.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});if(o){const a=await t?.getAccounts({namespace:e,id:n.id});a&&a.accounts.length>0?this.setAllAccounts(a.accounts,e):this.setAllAccounts([le.createAccount(e,o.address,"eoa")],e),this.syncProvider({...o,chainNamespace:e}),await this.syncAccount({...o,chainNamespace:e}),this.setStatus("connected",e)}else this.setStatus("disconnected",e)}catch{this.setStatus("disconnected",e)}}async syncWalletConnectAccount(){const e=this.chainNamespaces.map(async t=>{const i=this.getAdapter(t),r=this.universalProvider?.session?.namespaces?.[t]?.accounts||[],n=I.state.activeCaipNetwork?.id,o=r.find(a=>{const{chainId:c}=Ci.parseCaipAddress(a);return c===n?.toString()})||r[0];if(o){const a=Ci.validateCaipAddress(o),{chainId:c,address:l}=Ci.parseCaipAddress(a);if(tt.setProviderId(t,Pi.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&I.state.activeCaipNetwork&&i?.namespace!==te.CHAIN.EVM){const h=i?.getWalletConnectProvider({caipNetworks:this.caipNetworks,provider:this.universalProvider,activeCaipNetwork:I.state.activeCaipNetwork});tt.setProvider(t,h)}else tt.setProvider(t,this.universalProvider);ce.setConnectorId(te.CONNECTOR_ID.WALLET_CONNECT,t),Z.addConnectedNamespace(t),this.syncWalletConnectAccounts(t),await this.syncAccount({address:l,chainId:c,chainNamespace:t})}else this.setStatus("disconnected",t);await I.setApprovedCaipNetworksData(t)});await Promise.all(e)}syncWalletConnectAccounts(e){const t=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(i=>{const{address:r}=Ci.parseCaipAddress(i);return r}).filter((i,r,n)=>n.indexOf(i)===r);t&&this.setAllAccounts(t.map(i=>le.createAccount(e,i,e==="bip122"?"payment":"eoa")),e)}syncProvider({type:e,provider:t,id:i,chainNamespace:r}){tt.setProviderId(r,e),tt.setProvider(r,t),ce.setConnectorId(i,r)}async syncAccount(e){const t=e.chainNamespace===I.state.activeChain,i=I.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:n,chainNamespace:o}=e,{chainId:a}=Z.getActiveNetworkProps(),c=n||a,l=I.state.activeCaipNetwork?.name===te.UNSUPPORTED_NETWORK_NAME,h=I.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!h)&&c){let d=this.caipNetworks?.find(g=>g.id.toString()===c.toString()),p=this.caipNetworks?.find(g=>g.chainNamespace===o);if(!h&&!d&&!p){const g=this.getApprovedCaipNetworkIds()||[],w=g.find(b=>Ci.parseCaipNetworkId(b)?.chainId===c.toString()),v=g.find(b=>Ci.parseCaipNetworkId(b)?.chainNamespace===o);d=this.caipNetworks?.find(b=>b.caipNetworkId===w),p=this.caipNetworks?.find(b=>b.caipNetworkId===v||"deprecatedCaipNetworkId"in b&&b.deprecatedCaipNetworkId===v)}const f=d||p;f?.chainNamespace===I.state.activeChain?z.state.enableNetworkSwitch&&!z.state.allowUnsupportedChain&&I.state.activeCaipNetwork?.name===te.UNSUPPORTED_NETWORK_NAME?I.showUnsupportedChainUI():this.setCaipNetwork(f):t||i&&this.setCaipNetworkOfNamespace(i,o),this.syncConnectedWalletInfo(o),Sb.isLowerCaseMatch(r,se.state.address)||this.syncAccountInfo(r,f?.id,o),t?await this.syncBalance({address:r,chainId:f?.id,chainNamespace:o}):await this.syncBalance({address:r,chainId:i?.id,chainNamespace:o})}}async syncAccountInfo(e,t,i){const r=this.getCaipAddress(i),n=t||r?.split(":")[1];if(!n)return;const o=`${i}:${n}:${e}`;this.setCaipAddress(o,i),await this.syncIdentity({address:e,chainId:n,chainNamespace:i})}async syncReownName(e,t){try{const i=await this.getReownName(e);if(i[0]){const r=i[0];this.setProfileName(r.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){const t=ce.getConnectorId(e),i=tt.getProviderId(e);if(i===Pi.CONNECTOR_TYPE_ANNOUNCED||i===Pi.CONNECTOR_TYPE_INJECTED){if(t){const r=this.getConnectors().find(n=>n.id===t);if(r){const{info:n,name:o,imageUrl:a}=r,c=a||this.getConnectorImage(r);this.setConnectedWalletInfo({name:o,icon:c,...n},e)}}}else if(i===Pi.CONNECTOR_TYPE_WALLET_CONNECT){const r=tt.getProvider(e);r?.session&&this.setConnectedWalletInfo({...r.session.peer.metadata,name:r.session.peer.metadata.name,icon:r.session.peer.metadata.icons?.[0]},e)}else if(t)if(t===te.CONNECTOR_ID.COINBASE){const r=this.getConnectors().find(n=>n.id===te.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(r)},e)}else this.setConnectedWalletInfo({name:t},e)}async syncBalance(e){!tm.getNetworksByNamespace(this.caipNetworks,e.chainNamespace).find(i=>i.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async updateNativeBalance(e,t,i){const r=this.getAdapter(i);if(r){const n=await r.getBalance({address:e,chainId:t,caipNetwork:this.getCaipNetwork(i),tokens:this.options.tokens});this.setBalance(n.balance,n.symbol,i)}}async initializeUniversalAdapter(){const e=f8.createLogger((i,...r)=>{i&&this.handleAlertError(i),console.error(...r)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:"",description:this.options?.metadata?this.options?.metadata.description:"",url:this.options?.metadata?this.options?.metadata.url:"",icons:this.options?.metadata?this.options?.metadata.icons:[""]},logger:e};z.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await p8.init(t),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{Fe.setUri(e)}),this.universalProvider.on("connect",Fe.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),Fe.resetWcConnection()}),this.universalProvider.on("chainChanged",e=>{const t=this.caipNetworks?.find(r=>r.id==e),i=this.getCaipNetwork();if(!t){this.setUnsupportedNetwork(e);return}i?.id!==t?.id&&this.setCaipNetwork(t)}),this.universalProvider.on("session_event",e=>{if(jb.isSessionEventData(e)){const{name:t,data:i}=e.params.event;t==="accountsChanged"&&Array.isArray(i)&&le.isCaipAddress(i[0])&&this.syncAccount(Ci.parseCaipAddress(i[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&le.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){qe.sendEvent({type:"error",event:"INTERNAL_SDK_ERROR",properties:{errorType:"UniversalProviderInitError",errorMessage:e instanceof Error?e.message:"Unknown",uncaught:!1}}),console.error("AppKit:getUniversalProvider - Cannot create provider",e)}return this.universalProvider}handleAlertError(e){const t=Object.entries(ec.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[i,r]=t??[],{message:n,alertErrorKey:o}=r??{};if(i&&n&&!this.reportedAlertErrors[i]){const a=ec.ALERT_ERRORS[o];a&&(Do.open(a,"error"),this.reportedAlertErrors[i]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;const t=e.namespace;if(!t)return;this.createClients();const i=e;i.namespace=t,i.construct({namespace:t,projectId:this.options?.projectId,networks:this.caipNetworks}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=i)}async open(e){await this.injectModalUi(),e?.uri&&Fe.setUri(e.uri),await at.open(e)}async close(){await this.injectModalUi(),at.close()}setLoading(e,t){at.setLoading(e,t)}async disconnect(e){await Fe.disconnect(e)}getError(){return""}getChainId(){return I.state.activeCaipNetwork?.id}async switchNetwork(e){const t=this.caipNetworks?.find(i=>i.id===e.id);if(!t){Do.open(ec.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await I.switchActiveNetwork(t)}getWalletProvider(){return I.state.activeChain?tt.state.providers[I.state.activeChain]:null}getWalletProviderType(){return tt.getProviderId(I.state.activeChain)}subscribeProviders(e){return tt.subscribeProviders(e)}getThemeMode(){return Ft.state.themeMode}getThemeVariables(){return Ft.state.themeVariables}setThemeMode(e){Ft.setThemeMode(e),kb(Ft.state.themeMode)}setTermsConditionsUrl(e){z.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){z.setPrivacyPolicyUrl(e)}setThemeVariables(e){Ft.setThemeVariables(e),Y8(Ft.state.themeVariables)}subscribeTheme(e){return Ft.subscribe(e)}getWalletInfo(){return se.state.connectedWalletInfo}getAccount(e){const t=ce.getAuthConnector(e),i=I.getAccountData(e);if(i)return{allAccounts:i.allAccounts,caipAddress:i.caipAddress,address:le.getPlainAddress(i.caipAddress),isConnected:!!i.caipAddress,status:i.status,embeddedWalletInfo:t?{user:i.user,authProvider:i.socialProvider||"email",accountType:i.preferredAccountType,isSmartAccountDeployed:!!i.smartAccountDeployed}:void 0}}subscribeAccount(e,t){const i=()=>{const r=this.getAccount(t);r&&e(r)};t?I.subscribeChainProp("accountState",i,t):I.subscribe(i),ce.subscribe(i)}subscribeNetwork(e){return I.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e){return se.subscribeKey("connectedWalletInfo",e)}subscribeShouldUpdateToAddress(e){se.subscribeKey("shouldUpdateToAddress",e)}subscribeCaipNetworkChange(e){I.subscribeKey("activeCaipNetwork",e)}getState(){return bi.state}subscribeState(e){return bi.subscribe(e)}showErrorMessage(e){Et.showError(e)}showSuccessMessage(e){Et.showSuccess(e)}getEvent(){return{...qe.state}}subscribeEvents(e){return qe.subscribe(e)}replace(e){xe.replace(e)}redirect(e){xe.push(e)}popTransactionStack(e){xe.popTransactionStack(e)}isOpen(){return at.state.open}isTransactionStackEmpty(){return xe.state.transactionStack.length===0}isTransactionShouldReplaceView(){return xe.state.transactionStack[xe.state.transactionStack.length-1]?.replace}static getInstance(){return this.instance}updateFeatures(e){z.setFeatures(e)}updateOptions(e){const i={...z.state||{},...e};z.setOptions(i)}setConnectMethodsOrder(e){z.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){z.setWalletFeaturesOrder(e)}setCollapseWallets(e){z.setCollapseWallets(e)}setSocialsOrder(e){z.setSocialsOrder(e)}getConnectMethodsOrder(){return $c.getConnectOrderMethod(z.state.features,ce.getConnectors())}removeAdapter(e){const t=this.getIsConnectedState(),i=this.getAdapter(e);if(!i||!this.chainAdapters||t)return;const r=this.caipNetworks?.filter(n=>n.chainNamespace!==e);I.removeAdapter(e),ce.removeAdapter(e),this.chainNamespaces=this.chainNamespaces.filter(n=>n!==e),this.caipNetworks=r,i.removeAllEventListeners(),Reflect.deleteProperty(this.chainAdapters,e)}addAdapter(e,t){const i=e.namespace;if(!this.connectionControllerClient||!this.networkControllerClient||!this.chainAdapters||!i)return;const r=this.extendCaipNetworks({...this.options,networks:t});this.caipNetworks=[...this.caipNetworks||[],...r],this.createAdapter(e),this.initChainAdapter(i),I.addAdapter(e,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient},r)}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const i=this.extendCaipNetwork(t,this.options);I.addNetwork(i),this.caipNetworks&&!this.caipNetworks?.find(r=>r.id===i.id)&&this.caipNetworks.push(i)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);if(!this.caipNetworks?.find(n=>n.id===t))throw new Error(`Network with ID ${t} not found`);if(!this.caipNetworks)return;const r=this.caipNetworks.filter(n=>n.chainNamespace===e&&n.id!==t);if(!r?.length)throw new Error("Cannot remove last network for a namespace");I.removeNetwork(e,t),this.caipNetworks=[...r]}}let ow=!1;class n6 extends r6{async open(e){ce.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&Fe.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!ow&&le.isClient()){if(await Promise.resolve().then(()=>require("./basic-BJyZdZ9-.js")),await Promise.resolve().then(()=>require("./w3m-modal--0Rp9fNB.js")),!document.querySelector("w3m-modal")){const t=document.createElement("w3m-modal");!z.state.disableAppend&&!z.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",t)}ow=!0}}}const o6="1.7.2";function a6(s){return new n6({...s,basic:!0,sdkVersion:`html-core-${o6}`})}function c6(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var l6="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const ih=c6(l6);class Tn extends Error{constructor(){super(),Object.setPrototypeOf(this,Tn.prototype)}}class aw extends Error{constructor(e){super(`WalletConnect Adapter - Method ${e} is not supported by the wallet`),this.name="WalletConnectFeatureNotSupportedError"}}function h6(s){let e=[s];return s===ft.Mainnet||s===ft.Deprecated_Mainnet?(e=[ft.Mainnet,ft.Deprecated_Mainnet],s===ft.Deprecated_Mainnet&&console.warn(xc.mainnet)):(s===ft.Deprecated_Devnet||s===ft.Devnet)&&(e=[ft.Devnet,ft.Deprecated_Devnet],console.warn(xc.devnet)),e}const xc={mainnet:`You are using a deprecated chain ID for Solana Mainnet, please use ${ft.Mainnet} instead.`,devnet:`You are using a deprecated chain ID for Solana Devnet, please use ${ft.Devnet} instead.`,wallet:"The connected wallet is using a deprecated chain ID for Solana. Please, contact them to upgrade. You can learn more at https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip10.md#chain-ids"};function cw(s,e){const t=s.namespaces.solana?.accounts.map(i=>`solana:${i.split(":")[1]}`);if(e===ft.Mainnet)return t?.find(i=>i===ft.Mainnet)?ft.Mainnet:(console.warn(xc.wallet),ft.Deprecated_Mainnet);if(e===ft.Devnet)return t?.find(i=>i===ft.Devnet)?ft.Devnet:(console.warn(xc.wallet),ft.Deprecated_Devnet);throw Error("WalletConnect Solana Adapter: Unable to get a default chain from the session.")}function u6(s){return{optionalNamespaces:{solana:{chains:h6(s),methods:[_s.signTransaction,_s.signMessage],events:[]}}}}class Qu extends Error{constructor(){super("QR Code Modal was closed by user"),Object.setPrototypeOf(this,Qu.prototype),this.name="QRCodeModalError"}}class d6{_UniversalProvider;_session;_modal;_projectId;_network;_ConnectQueueResolver;constructor(e){if(this.initClient(e.options),this._network=e.network,!e.options.projectId)throw Error("WalletConnect Adapter: Project ID is undefined");this._projectId=e.options.projectId}async connect(){if(this._UniversalProvider||await new Promise(r=>{this._ConnectQueueResolver=r}),!this._UniversalProvider)throw new Error("WalletConnect Adapter - Universal Provider was undefined while calling 'connect()'");if(this._UniversalProvider.session){this._session=this._UniversalProvider.session;const r=cw(this._session,this._network);return this._network=r,this._UniversalProvider.setDefaultChain(r),{publicKey:this.publicKey}}await this.initModal();const e=u6(this._network);this._modal?.open();const t=new AbortController,i=t.signal;this._modal?.subscribeState(r=>{r.open||t.abort(new Qu)});try{const r=await Promise.race([this._UniversalProvider?.connect(e),new Promise((o,a)=>{i.addEventListener("abort",()=>{a(i.reason)})})]);if(this._modal?.close(),this._session=r,!r)throw new Dc;const n=cw(r,this._network);return this._network=n,this._UniversalProvider?.setDefaultChain(n),{publicKey:this.publicKey}}catch(r){throw this._modal?.close(),r}}async disconnect(){if(this._UniversalProvider?.session){if(await this.initModal(),!this._modal)throw Error("WalletConnect Adapter -Modal is undefined: unable to disconnect");await this.client.disconnect(),this._session=void 0}else throw new Tn}get client(){if(this._UniversalProvider)return this._UniversalProvider;throw new Tn}get session(){if(!this._session)throw new Tn;return this._session}get publicKey(){if(this._UniversalProvider?.session&&this._session){const{address:e}=xI(this._session?.namespaces.solana?.accounts[0]??"");return new Ve.PublicKey(e)}throw new Tn}async signTransaction(e){this.checkIfWalletSupportsMethod(_s.signTransaction);const t=yi(e),i=t?{}:e,{signature:r,transaction:n}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signTransaction,params:{...i,transaction:this.serialize(e)}}});return n?this.deserialize(n,t):(e.addSignature(this.publicKey,P.Buffer.from(ih.decode(r))),e)}async signMessage(e){this.checkIfWalletSupportsMethod(_s.signMessage);const{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signMessage,params:{pubkey:this.publicKey.toString(),message:ih.encode(e)}}});return ih.decode(t)}async signAndSendTransaction(e){this.checkIfWalletSupportsMethod(_s.signAndSendTransaction);const{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signAndSendTransaction,params:{transaction:this.serialize(e)}}});return t}async signAllTransactions(e){try{this.checkIfWalletSupportsMethod(_s.signAllTransactions);const t=e.map(r=>this.serialize(r)),{transactions:i}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:_s.signAllTransactions,params:{transactions:t}}});return e.map((r,n)=>yi(r)?this.deserialize(i[n]??"",!0):this.deserialize(i[n]??""))}catch(t){if(t instanceof aw){const i=e.map(n=>this.signTransaction(n));return await Promise.all(i)}throw t}}async initClient(e){const t=await GM.init(e);this._UniversalProvider=t,this._ConnectQueueResolver&&this._ConnectQueueResolver(!0)}async initModal(){if(!this._modal){if(!this._UniversalProvider)throw new Error("WalletConnect Adapter - cannot init modal when Universal Provider is undefined");this._modal=a6({projectId:this._projectId,universalProvider:this._UniversalProvider,networks:[au,cu,X8],manualWCControl:!0})}}serialize(e){return P.Buffer.from(e.serialize({verifySignatures:!1})).toString("base64")}deserialize(e,t=!1){return t?Ve.VersionedTransaction.deserialize(P.Buffer.from(e,"base64")):Ve.Transaction.from(P.Buffer.from(e,"base64"))}checkIfWalletSupportsMethod(e){if(!this.session.namespaces.solana?.methods.includes(e))throw new aw(e)}}const p6="WalletConnect";class g6 extends du{name=p6;url="https://walletconnect.org";icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE4NSIgdmlld0JveD0iMCAwIDMwMCAxODUiIHdpZHRoPSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTYxLjQzODU0MjkgMzYuMjU2MjYxMmM0OC45MTEyMjQxLTQ3Ljg4ODE2NjMgMTI4LjIxMTk4NzEtNDcuODg4MTY2MyAxNzcuMTIzMjA5MSAwbDUuODg2NTQ1IDUuNzYzNDE3NGMyLjQ0NTU2MSAyLjM5NDQwODEgMi40NDU1NjEgNi4yNzY1MTEyIDAgOC42NzA5MjA0bC0yMC4xMzY2OTUgMTkuNzE1NTAzYy0xLjIyMjc4MSAxLjE5NzIwNTEtMy4yMDUzIDEuMTk3MjA1MS00LjQyODA4MSAwbC04LjEwMDU4NC03LjkzMTE0NzljLTM0LjEyMTY5Mi0zMy40MDc5ODE3LTg5LjQ0Mzg4Ni0zMy40MDc5ODE3LTEyMy41NjU1Nzg4IDBsLTguNjc1MDU2MiA4LjQ5MzYwNTFjLTEuMjIyNzgxNiAxLjE5NzIwNDEtMy4yMDUzMDEgMS4xOTcyMDQxLTQuNDI4MDgwNiAwbC0yMC4xMzY2OTQ5LTE5LjcxNTUwMzFjLTIuNDQ1NTYxMi0yLjM5NDQwOTItMi40NDU1NjEyLTYuMjc2NTEyMiAwLTguNjcwOTIwNHptMjE4Ljc2Nzc5NjEgNDAuNzczNzQ0OSAxNy45MjE2OTcgMTcuNTQ2ODk3YzIuNDQ1NTQ5IDIuMzk0Mzk2OSAyLjQ0NTU2MyA2LjI3NjQ3NjkuMDAwMDMxIDguNjcwODg5OWwtODAuODEwMTcxIDc5LjEyMTEzNGMtMi40NDU1NDQgMi4zOTQ0MjYtNi40MTA1ODIgMi4zOTQ0NTMtOC44NTYxNi4wMDAwNjItLjAwMDAxLS4wMDAwMS0uMDAwMDIyLS4wMDAwMjItLjAwMDAzMi0uMDAwMDMybC01Ny4zNTQxNDMtNTYuMTU0NTcyYy0uNjExMzktLjU5ODYwMi0xLjYwMjY1LS41OTg2MDItMi4yMTQwNCAwLS4wMDAwMDQuMDAwMDA0LS4wMDAwMDcuMDAwMDA4LS4wMDAwMTEuMDAwMDExbC01Ny4zNTI5MjEyIDU2LjE1NDUzMWMtMi40NDU1MzY4IDIuMzk0NDMyLTYuNDEwNTc1NSAyLjM5NDQ3Mi04Ljg1NjE2MTIuMDAwMDg3LS4wMDAwMTQzLS4wMDAwMTQtLjAwMDAyOTYtLjAwMDAyOC0uMDAwMDQ0OS0uMDAwMDQ0bC04MC44MTI0MTk0My03OS4xMjIxODVjLTIuNDQ1NTYwMjEtMi4zOTQ0MDgtMi40NDU1NjAyMS02LjI3NjUxMTUgMC04LjY3MDkxOTdsMTcuOTIxNzI5NjMtMTcuNTQ2ODY3M2MyLjQ0NTU2MDItMi4zOTQ0MDgyIDYuNDEwNTk4OS0yLjM5NDQwODIgOC44NTYxNjAyIDBsNTcuMzU0OTc3NSA1Ni4xNTUzNTdjLjYxMTM5MDguNTk4NjAyIDEuNjAyNjQ5LjU5ODYwMiAyLjIxNDAzOTggMCAuMDAwMDA5Mi0uMDAwMDA5LjAwMDAxNzQtLjAwMDAxNy4wMDAwMjY1LS4wMDAwMjRsNTcuMzUyMTAzMS01Ni4xNTUzMzNjMi40NDU1MDUtMi4zOTQ0NjMzIDYuNDEwNTQ0LTIuMzk0NTUzMSA4Ljg1NjE2MS0uMDAwMi4wMDAwMzQuMDAwMDMzNi4wMDAwNjguMDAwMDY3My4wMDAxMDEuMDAwMTAxbDU3LjM1NDkwMiA1Ni4xNTU0MzJjLjYxMTM5LjU5ODYwMSAxLjYwMjY1LjU5ODYwMSAyLjIxNDA0IDBsNTcuMzUzOTc1LTU2LjE1NDMyNDljMi40NDU1NjEtMi4zOTQ0MDkyIDYuNDEwNTk5LTIuMzk0NDA5MiA4Ljg1NjE2IDB6IiBmaWxsPSIjM2I5OWZjIi8+PC9zdmc+";supportedTransactionVersions=new Set(["legacy",0]);_publicKey;_connecting;_wallet;_config;_readyState;_onDisconnect;constructor(e){super(),this._publicKey=null,this._connecting=!1,this._config=e,this._wallet=null,this._readyState=typeof window>"u"?pe.Unsupported:pe.Loadable,this._onDisconnect=this.disconnect.bind(this)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==pe.Loadable)throw new Wi;this._connecting=!0,this._wallet=new d6({network:this._config.network===Bo.Mainnet?pc.Mainnet:pc.Devnet,options:this._config.options});const{publicKey:e}=await this._wallet.connect();this._publicKey=e,this.emit("connect",e),this._wallet.client.on("session_delete",this._onDisconnect)}catch(e){throw e.constructor.name==="QRCodeModalError"||e instanceof Error&&e.name==="QRCodeModalError"?new r0:(this._connecting=!1,e)}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){e.client.off("session_delete",this._onDisconnect),this._publicKey=null;try{e.client.session&&await e.disconnect()}catch(t){console.error("WalletConnectWalletAdapter: disconnect error",t),this.emit("error",new ra(t?.message,t))}}this.emit("disconnect")}async signTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signTransaction(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signMessage(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signMessage(e)}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAndSendTransaction(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAndSendTransaction(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new Ke;try{return await t.signAllTransactions(e)}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}}}const f6={icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMDM1XzExMDYpIj4KPHJlY3Qgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIGZpbGw9IiM1NEZGRjUiLz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZl8yMDM1XzExMDYpIj4KPHBhdGggZD0iTTEzLjQ4MDYgMTk4LjYwNUMtMjkuMzI3NiAzMTkuMDQzIDE5OS42NjEgMjg1LjAyNyAzMTkuNTA3IDI1Mi45NjRDNDQyLjE2NSAyMTIuMjU5IDM1Ny4zODYgMzIuODI2OSAyNjkuNDE1IDI4Ljg1NThDMTgxLjQ0MyAyNC44ODQ3IDI4MC4zMjIgMTExLjgyNCAyMDUuNTk1IDEzNi42NTZDMTMwLjg2OCAxNjEuNDg3IDY2Ljk5MDcgNDguMDU4MyAxMy40ODA2IDE5OC42MDVaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2ZfMjAzNV8xMTA2KSI+CjxwYXRoIGQ9Ik04NS41MTE4IC00NS44MjI1QzYzLjA1NjIgLTEwNy4xNzYgLTE2LjkxODkgLTIzLjk5NTMgLTU0LjA5OTUgMjUuMjY0M0MtODkuNTY1MiA3OC44NDc5IDMuMDA5MzcgMTI1LjE1MiAzOS4zMjA4IDEwMC4wMzdDNzUuNjMyMyA3NC45MjI3IDcuNzc0NDggNzAuMDM2MyAyOS4zNzA4IDM3LjM3ODVDNTAuOTY3MSA0LjcyMDc2IDExMy41ODEgMzAuODY5NSA4NS41MTE4IC00NS44MjI1WiIgZmlsbD0iIzAwRkZGMCIgZmlsbC1vcGFjaXR5PSIwLjY3Ii8+CjwvZz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjJfZl8yMDM1XzExMDYpIj4KPHBhdGggZD0iTTk2LjQ3OTYgMjI1LjQyNEM2NS44NTAyIDEyMi4zNjMgLTY2LjA4MTggMTc2LjYzNyAtMTI4LjIxOSAyMTYuNjU3Qy0xODcuOTkgMjY0LjA0MiAtNDYuMDcxMSA0MDAuMzQ4IDEyLjg3MjUgMzkzLjM3NkM3MS44MTYxIDM4Ni40MDMgLTM0LjQxMTggMzI3LjA2NSAxLjk4NzAyIDI5OC4xN0MzOC4zODU4IDI2OS4yNzYgMTM0Ljc2NiAzNTQuMjQ5IDk2LjQ3OTYgMjI1LjQyNFoiIGZpbGw9IiM5RDgxRkYiLz4KPC9nPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyM19mXzIwMzVfMTEwNikiPgo8cGF0aCBkPSJNMjgyLjEyIC0xMDcuMzUzQzIxNi4wNDcgLTE4Ni4wMzEgMTIxLjQ2MyAtMTIwLjk3IDgyLjQyOTYgLTc4LjYwNDdDNDguMjczOSAtMzAuNjQ0NiAyMjQuMjc1IDU3LjIzMTIgMjczLjEyMSA0Mi4xNzE0QzMyMS45NjggMjcuMTExNSAyMDYuNTEyIC00LjA1MDM4IDIyNy4yOTcgLTMzLjI4NzlDMjQ4LjA4MiAtNjIuNTI1NSAzNjQuNzEyIC05LjAwNTY2IDI4Mi4xMiAtMTA3LjM1M1oiIGZpbGw9IiM0RDk0RkYiLz4KPC9nPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkzLjE4OSAxNTIuODM2SDEzNi42NzRMODcuMjA4NiAxMDMuMDUxTDEzNy4zMSA1My4yNjYzTDE1MC45NTUgNDBIMTA1LjgxOUw0OC4zMzU5IDk3Ljc3NzNDNDUuNDM0OSAxMDAuNjg5IDQ1LjQ0OTggMTA1LjQwMiA0OC4zNjU2IDEwOC4yOTlMOTMuMTg5IDE1Mi44MzZaTTExOS4zMyAxMDMuMTY4SDExOC45OTVMMTE5LjMyNiAxMDMuMTY0TDExOS4zMyAxMDMuMTY4Wk0xMTkuMzMgMTAzLjE2OEwxNjguNzkxIDE1Mi45NDlMMTE4LjY5IDIwMi43MzRMMTA1LjA0NSAyMTZIMTUwLjE4TDIwNy42NjQgMTU4LjIyNkMyMTAuNTY1IDE1NS4zMTQgMjEwLjU1IDE1MC42MDIgMjA3LjYzNCAxNDcuNzA1TDE2Mi44MTEgMTAzLjE2OEgxMTkuMzNaIiBmaWxsPSJibGFjayIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2ZfMjAzNV8xMTA2IiB4PSItOTAuMjQxMSIgeT0iLTY5LjczNjkiIHdpZHRoPSI1NjkuNTU4IiBoZWlnaHQ9IjQ1MS40MzEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDkuMjMwOCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTEwNiIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyMV9mXzIwMzVfMTEwNiIgeD0iLTE2MC41MTEiIHk9Ii0xNjUuOTg3IiB3aWR0aD0iMzUxLjU5NiIgaGVpZ2h0PSIzNzEuNTA3IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQ5LjIzMDgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzExMDYiLz4KPC9maWx0ZXI+CjxmaWx0ZXIgaWQ9ImZpbHRlcjJfZl8yMDM1XzExMDYiIHg9Ii0yNDEuMDc4IiB5PSI2Ny42NDIiIHdpZHRoPSI0NDQuODUxIiBoZWlnaHQ9IjQyNC40NTIiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDkuMjMwOCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTEwNiIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyM19mXzIwMzVfMTEwNiIgeD0iLTIwLjM5NjgiIHk9Ii0yNDIuNzU4IiB3aWR0aD0iNDMwLjE5MSIgaGVpZ2h0PSIzODUuMTA1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQ5LjIzMDgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzExMDYiLz4KPC9maWx0ZXI+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjAzNV8xMTA2Ij4KPHJlY3Qgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==",name:"Bitget Wallet"},w6=[f6],y6=s=>w6.find(e=>e.name.toLocaleLowerCase().includes(s.name.toLocaleLowerCase()))||s,m6=(s,e,t)=>e[s]||t[s],lw=(s,e)=>m6(s,y6(e),e);class gi extends ni.Wallet{constructor(e,t){super(),this.adapter=e,this.connection=t}getAdapter(){return this.adapter}getName(){return lw("name",this.adapter)}getUrl(){return this.adapter.url}async connect(){if(this.isConnected())return this.getAddresses();const e=await new Promise((t,i)=>{this.adapter.on("connect",()=>{this.adapter.off("connect"),this.adapter.off("error"),t(this.getAddresses())}),this.adapter.on("error",r=>{this.adapter.off("connect"),this.adapter.off("error"),i(r)}),this.adapter.connect().catch(i)});return this.emit("connect"),this.adapter.on("disconnect",()=>this.emit("disconnect")),e}getNetworkInfo(){return{}}isConnected(){return this.adapter.connected}async disconnect(){this.isConnected()&&(await new Promise((e,t)=>{this.adapter.on("disconnect",()=>{this.adapter.off("disconnect"),this.adapter.off("error"),e(void 0)}),this.adapter.on("error",i=>{this.adapter.off("disconnect"),this.adapter.off("error"),t(i)}),this.adapter.disconnect().catch(t)}),this.adapter.removeAllListeners(),this.emit("disconnect"))}getChainId(){return ni.CHAIN_ID_SOLANA}getAddress(){return this.adapter.publicKey?.toString()}getAddresses(){const e=this.getAddress();return e?[e]:[]}setMainAddress(){throw new Error("Not supported")}getBalance(){throw new Error("Not supported")}async signTransaction(e){if(!this.adapter.signTransaction||!this.adapter.signAllTransactions)throw new Error("Not supported");return Array.isArray(e)?this.adapter.signAllTransactions(e):this.adapter.signTransaction(e)}async sendTransaction(e){const{transaction:t}=e,i=Array.isArray(t)?t:[t];if(i.length===0)throw new Error("Empty transactions array");const r=[];for(const n of i){const o=await this.adapter.sendTransaction(n,this.connection,{...e.options});r.push(o)}return await this.connection.confirmTransaction(r[0],e.options?.commitment),{id:r[0],data:r.length===1?r[0]:r}}async signAndSendTransaction(e){return this.sendTransaction(e)}signMessage(e){if(!this.adapter.signMessage)throw new Error("Not supported");return this.adapter.signMessage(e)}getIcon(){return lw("icon",this.adapter)}getWalletState(){const e=this.adapter.readyState;if(!(e in ni.WalletState))throw new Error(`Unknown wallet state ${e}`);return ni.WalletState[e]}getFeatures(){const e=[ni.BaseFeatures.SendTransaction,ni.BaseFeatures.SignAndSendTransaction];return this.adapter.signTransaction&&this.adapter.signAllTransactions&&e.push(ni.BaseFeatures.SignTransaction),this.adapter.signMessage&&e.push(ni.BaseFeatures.SignMessage),e}supportsChain(e){return e===ni.CHAIN_ID_SOLANA}}function b6(s){if(s.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<s.length;l++){const h=s.charAt(l),d=h.charCodeAt(0);if(e[d]!==255)throw new TypeError(h+" is ambiguous");e[d]=l}const t=s.length,i=s.charAt(0),r=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let h=0,d=0,p=0;const f=l.length;for(;p!==f&&l[p]===0;)p++,h++;const g=(f-p)*n+1>>>0,w=new Uint8Array(g);for(;p!==f;){let m=l[p],_=0;for(let C=g-1;(m!==0||_<d)&&C!==-1;C--,_++)m+=256*w[C]>>>0,w[C]=m%t>>>0,m=m/t>>>0;if(m!==0)throw new Error("Non-zero carry");d=_,p++}let v=g-d;for(;v!==g&&w[v]===0;)v++;let b=i.repeat(h);for(;v<g;++v)b+=s.charAt(w[v]);return b}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let h=0,d=0,p=0;for(;l[h]===i;)d++,h++;const f=(l.length-h)*r+1>>>0,g=new Uint8Array(f);for(;h<l.length;){const m=l.charCodeAt(h);if(m>255)return;let _=e[m];if(_===255)return;let C=0;for(let T=f-1;(_!==0||C<p)&&T!==-1;T--,C++)_+=t*g[T]>>>0,g[T]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");p=C,h++}let w=f-p;for(;w!==f&&g[w]===0;)w++;const v=new Uint8Array(d+(f-w));let b=d;for(;w!==f;)v[b++]=g[w++];return v}function c(l){const h=a(l);if(h)return h;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var v6="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const I6=b6(v6);var J=function(s,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?s!==e||!i:!e.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(s):i?i.value:e.get(s)},ht=function(s,e,t,i,r){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?s!==e||!r:!e.has(s))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?r.call(s,t):r?r.value=t:e.set(s,t),t},Ot,es,yr,mr,cr,xo,Oc,Ne,Mc,lu,dc,hu,qo,uu,hw,uw,dw,pw;class E6 extends fw{get name(){return J(this,Ne,"f").name}get url(){return"https://github.com/solana-labs/wallet-standard"}get icon(){return J(this,Ne,"f").icon}get readyState(){return J(this,Mc,"f")}get publicKey(){return J(this,yr,"f")}get connecting(){return J(this,mr,"f")}get supportedTransactionVersions(){return J(this,Oc,"f")}get wallet(){return J(this,Ne,"f")}get standard(){return!0}constructor({wallet:e}){super(),Ot.add(this),es.set(this,void 0),yr.set(this,void 0),mr.set(this,void 0),cr.set(this,void 0),xo.set(this,void 0),Oc.set(this,void 0),Ne.set(this,void 0),Mc.set(this,typeof window>"u"||typeof document>"u"?pe.Unsupported:pe.Installed),uu.set(this,t=>{if("accounts"in t){const i=J(this,Ne,"f").accounts[0];J(this,es,"f")&&!J(this,cr,"f")&&i!==J(this,es,"f")&&(i?J(this,Ot,"m",dc).call(this,i):(this.emit("error",new gw),J(this,Ot,"m",hu).call(this)))}"features"in t&&J(this,Ot,"m",qo).call(this)}),ht(this,Ne,e,"f"),ht(this,es,null,"f"),ht(this,yr,null,"f"),ht(this,mr,!1,"f"),ht(this,cr,!1,"f"),ht(this,xo,J(this,Ne,"f").features[ne.StandardEvents].on("change",J(this,uu,"f")),"f"),J(this,Ot,"m",qo).call(this)}destroy(){ht(this,es,null,"f"),ht(this,yr,null,"f"),ht(this,mr,!1,"f"),ht(this,cr,!1,"f");const e=J(this,xo,"f");e&&(ht(this,xo,null,"f"),e())}async autoConnect(){return J(this,Ot,"m",lu).call(this,{silent:!0})}async connect(){return J(this,Ot,"m",lu).call(this)}async disconnect(){if(ne.StandardDisconnect in J(this,Ne,"f").features)try{ht(this,cr,!0,"f"),await J(this,Ne,"f").features[ne.StandardDisconnect].disconnect()}catch(e){this.emit("error",new ra(e?.message,e))}finally{ht(this,cr,!1,"f")}J(this,Ot,"m",hu).call(this)}async sendTransaction(e,t,i={}){try{const r=J(this,es,"f");if(!r)throw new Ke;let n;if(ne.SolanaSignAndSendTransaction in J(this,Ne,"f").features)if(r.features.includes(ne.SolanaSignAndSendTransaction))n=ne.SolanaSignAndSendTransaction;else if(ne.SolanaSignTransaction in J(this,Ne,"f").features&&r.features.includes(ne.SolanaSignTransaction))n=ne.SolanaSignTransaction;else throw new Cs;else if(ne.SolanaSignTransaction in J(this,Ne,"f").features){if(!r.features.includes(ne.SolanaSignTransaction))throw new Cs;n=ne.SolanaSignTransaction}else throw new Nn;const o=v0(t.rpcEndpoint);if(!r.chains.includes(o))throw new pr;try{const{signers:a,...c}=i;let l;if(yi(e)?(a?.length&&e.sign(a),l=e.serialize()):(e=await this.prepareTransaction(e,t,c),a?.length&&e.partialSign(...a),l=new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))),n===ne.SolanaSignAndSendTransaction){const[h]=await J(this,Ne,"f").features[ne.SolanaSignAndSendTransaction].signAndSendTransaction({account:r,chain:o,transaction:l,options:{preflightCommitment:al(c.preflightCommitment||t.commitment),skipPreflight:c.skipPreflight,maxRetries:c.maxRetries,minContextSlot:c.minContextSlot}});return I6.encode(h.signature)}else{const[h]=await J(this,Ne,"f").features[ne.SolanaSignTransaction].signTransaction({account:r,chain:o,transaction:l,options:{preflightCommitment:al(c.preflightCommitment||t.commitment),minContextSlot:c.minContextSlot}});return await t.sendRawTransaction(h.signedTransaction,{...c,preflightCommitment:al(c.preflightCommitment||t.commitment)})}}catch(a){throw a instanceof Dt?a:new pr(a?.message,a)}}catch(r){throw this.emit("error",r),r}}}es=new WeakMap,yr=new WeakMap,mr=new WeakMap,cr=new WeakMap,xo=new WeakMap,Oc=new WeakMap,Ne=new WeakMap,Mc=new WeakMap,uu=new WeakMap,Ot=new WeakSet,lu=async function(e){try{if(this.connected||this.connecting)return;if(J(this,Mc,"f")!==pe.Installed)throw new Wi;if(ht(this,mr,!0,"f"),!J(this,Ne,"f").accounts.length)try{await J(this,Ne,"f").features[ne.StandardConnect].connect(e)}catch(i){throw new Dc(i?.message,i)}const t=J(this,Ne,"f").accounts[0];if(!t)throw new Cs;J(this,Ot,"m",dc).call(this,t)}catch(t){throw this.emit("error",t),t}finally{ht(this,mr,!1,"f")}},dc=function(e){let t;try{t=new Ve.PublicKey(e.address)}catch(i){throw new Tr(i?.message,i)}ht(this,es,e,"f"),ht(this,yr,t,"f"),J(this,Ot,"m",qo).call(this),this.emit("connect",t)},hu=function(){ht(this,es,null,"f"),ht(this,yr,null,"f"),J(this,Ot,"m",qo).call(this),this.emit("disconnect")},qo=function(){const e=ne.SolanaSignAndSendTransaction in J(this,Ne,"f").features?J(this,Ne,"f").features[ne.SolanaSignAndSendTransaction].supportedTransactionVersions:J(this,Ne,"f").features[ne.SolanaSignTransaction].supportedTransactionVersions;ht(this,Oc,Jv.arraysEqual(e,["legacy"])?null:new Set(e),"f"),ne.SolanaSignTransaction in J(this,Ne,"f").features&&J(this,es,"f")?.features.includes(ne.SolanaSignTransaction)?(this.signTransaction=J(this,Ot,"m",hw),this.signAllTransactions=J(this,Ot,"m",uw)):(delete this.signTransaction,delete this.signAllTransactions),ne.SolanaSignMessage in J(this,Ne,"f").features&&J(this,es,"f")?.features.includes(ne.SolanaSignMessage)?this.signMessage=J(this,Ot,"m",dw):delete this.signMessage,ne.SolanaSignIn in J(this,Ne,"f").features?this.signIn=J(this,Ot,"m",pw):delete this.signIn},hw=async function(e){try{const t=J(this,es,"f");if(!t)throw new Ke;if(!(ne.SolanaSignTransaction in J(this,Ne,"f").features))throw new Nn;if(!t.features.includes(ne.SolanaSignTransaction))throw new Cs;try{const r=(await J(this,Ne,"f").features[ne.SolanaSignTransaction].signTransaction({account:t,transaction:yi(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))}))[0].signedTransaction;return yi(e)?Ve.VersionedTransaction.deserialize(r):Ve.Transaction.from(r)}catch(i){throw i instanceof Dt?i:new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}},uw=async function(e){try{const t=J(this,es,"f");if(!t)throw new Ke;if(!(ne.SolanaSignTransaction in J(this,Ne,"f").features))throw new Nn;if(!t.features.includes(ne.SolanaSignTransaction))throw new Cs;try{const i=await J(this,Ne,"f").features[ne.SolanaSignTransaction].signTransaction(...e.map(r=>({account:t,transaction:yi(r)?r.serialize():new Uint8Array(r.serialize({requireAllSignatures:!1,verifySignatures:!1}))})));return e.map((r,n)=>{const o=i[n].signedTransaction;return yi(r)?Ve.VersionedTransaction.deserialize(o):Ve.Transaction.from(o)})}catch(i){throw new nt(i?.message,i)}}catch(t){throw this.emit("error",t),t}},dw=async function(e){try{const t=J(this,es,"f");if(!t)throw new Ke;if(!(ne.SolanaSignMessage in J(this,Ne,"f").features))throw new Nn;if(!t.features.includes(ne.SolanaSignMessage))throw new Cs;try{return(await J(this,Ne,"f").features[ne.SolanaSignMessage].signMessage({account:t,message:e}))[0].signature}catch(i){throw new na(i?.message,i)}}catch(t){throw this.emit("error",t),t}},pw=async function(e={}){try{if(!(ne.SolanaSignIn in J(this,Ne,"f").features))throw new Nn;let t;try{[t]=await J(this,Ne,"f").features[ne.SolanaSignIn].signIn(e)}catch(i){throw new wd(i?.message,i)}if(!t)throw new wd;return J(this,Ot,"m",dc).call(this,t.account),t}catch(t){throw this.emit("error",t),t}};function Ub(s){return Zv.getWallets().get().filter(n0).map(e=>new gi(new E6({wallet:e}),s))}const A6=3e3,Lb=s=>s.getName().toLowerCase().replaceAll("wallet","").trim();function _6(s){if(s==="Solana")return zb();if(s==="Fogo")return Fb();throw new Error(`Unsupported chain: ${s}`)}function zb(){const s=wi.config.isMainnet?Bo.Mainnet:Bo.Devnet,e=new Ve.Connection(wi.config.rpcs.Solana||Ve.clusterApiUrl(s)),t=Ub(e).reduce((r,n)=>(r[Lb(n)]=n,r),{});let i={};return wi.config.ui.walletConnectProjectId&&(i={walletConnect:new gi(new g6({network:s,options:{projectId:wi.config.ui.walletConnectProjectId,customStoragePrefix:"wh-connect-solana-adapter"}}),e)}),{...t,bitget:new gi(new a0,e),clover:new gi(new l0,e),coin98:new gi(new p0,e),solong:new gi(new w0,e),torus:new gi(new m0,e),nightly:new gi(new ww,e),...i}}function Fb(){if(!wi.config.rpcs.Fogo)throw new Error("Fogo RPC not found");const s=new Ve.Connection(wi.config.rpcs.Fogo),e=Ub(s).reduce((t,i)=>{const r=Lb(i).toLowerCase();return r==="leap"&&(t.leap=i),r==="backpack"&&(t.backpack=i),t},{});return{nightly:new gi(new ww,s),...e}}async function N6(s,e,t){if(!e)throw new Error("Wallet not found");const i=wi.config.rpcs[s.chain];if(!i)throw new Error(`${s.chain} RPC not found`);let r=t?.commitment??"confirmed";const n=new Ve.Connection(i);(s.description==="Core.VerifySignature"||s.description==="Core.PostVAA")&&(r="finalized");const{blockhash:o,lastValidBlockHeight:a}=await n.getLatestBlockhash(r),{serializedTransaction:c,sendOptions:l}=await $6(s,e,n,o,a,r);return await C6(n,{serializedTransaction:c,sendOptions:l},o,a,r)}async function C6(s,e,t,i,r){let n=null;const o=await s.sendRawTransaction(e.serializedTransaction,e.sendOptions),a=s.confirmTransaction({signature:o,blockhash:t,lastValidBlockHeight:i},r);try{for(;!n&&(n=await Promise.race([a,new Promise(c=>setTimeout(()=>c(null),A6))]),!n);)await s.sendRawTransaction(e.serializedTransaction,e.sendOptions)}catch(c){if(c instanceof Error&&c.name==="TransactionExpiredBlockheightExceededError")return await S6(s,o),o;throw c}if(n?.value.err){const c=T6(n.value.err);throw new Error(`Transaction failed: ${c}`)}return o}async function S6(s,e,{retries:t=5,delay:i=2e3}={}){s0(async()=>{await s.getTransaction(e,{commitment:"confirmed",maxSupportedTransactionVersion:0})},{retries:t,delay:i})}async function $6(s,e,t,i,r,n){const o=await ne.setPriorityFeeInstructions(t,i,r,s);return{serializedTransaction:(await e.signTransaction(o)).serialize(),sendOptions:{skipPreflight:!0,maxRetries:0,preFlightCommitment:n}}}function T6(s){if(!s)return"Unknown error";if(typeof s=="object")try{return wi.stringifyWithBigInt(s)}catch{return"Unstringifiable error object"}return String(s)}const P6=Object.freeze(Object.defineProperty({__proto__:null,fetchFogoOptions:Fb,fetchOptions:_6,fetchSolanaOptions:zb,signAndSendTransactionWithResends:N6},Symbol.toStringTag,{value:"Module"}));exports.AccountController=se;exports.AlertController=Do;exports.ApiController=he;exports.AssetController=Ns;exports.AssetUtil=Tu;exports.ChainController=I;exports.ConnectionController=Fe;exports.ConnectorController=ce;exports.ConnectorUtil=Uo;exports.ConstantsUtil=te;exports.ConstantsUtil$1=Vt;exports.ConstantsUtil$2=$b;exports.CoreHelperUtil=le;exports.E=wt;exports.EventsController=qe;exports.Hash=Nw;exports.Hash$1=pm;exports.ModalController=at;exports.OptionsController=z;exports.RouterController=xe;exports.SIWXUtil=On;exports.SnackController=Et;exports.StorageUtil=Z;exports.T=$r;exports.ThemeController=Ft;exports.WalletUtil=$c;exports.abytes=ca;exports.abytes$1=wa;exports.aexists=ah;exports.aexists$1=Mh;exports.ahash=tI;exports.ahash$1=XD;exports.aoutput=_w;exports.aoutput$1=dm;exports.b=U8;exports.colorStyles=Z8;exports.concatBytes=pI;exports.concatBytes$1=uk;exports.createView=lI;exports.createView$1=ak;exports.elementStyles=J8;exports.f=Vu;exports.i=br;exports.i$1=zo;exports.initializeTheming=G8;exports.proxy=st;exports.randomBytes=gI;exports.randomBytes$1=dk;exports.resetStyles=Q8;exports.rotr=hI;exports.rotr$1=ck;exports.solana=P6;exports.subscribe=ts;exports.subscribeKey=gs;exports.toBytes=pu;exports.toBytes$1=Pu;exports.u=Tc;exports.wrapConstructor=Cw;exports.wrapConstructor$1=gm;exports.x=R8;
|