@acedatacloud/nexior 3.362.4 → 3.362.6
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/assets/{ApiCodeButton-BA7mDSbv.js → ApiCodeButton-CE_3dTKv.js} +1 -1
- package/dist/assets/{ApiCodeDialog-BsRU8WFT.js → ApiCodeDialog-DS-qo21c.js} +2 -2
- package/dist/assets/{Artifacts-DJBH37uq.js → Artifacts-9ieQ3Qem.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-DjYhfs68.js → AskUserQuestionCard-BJPTyd6G.js} +1 -1
- package/dist/assets/{AudioPreview-4SXEbJja.js → AudioPreview-B1g4dbrH.js} +1 -1
- package/dist/assets/{Auth-BOif7xOO.js → Auth-DRUyBkIK.js} +1 -1
- package/dist/assets/{Bare-B5Gm4K8P.js → Bare-Bx-zDwLA.js} +1 -1
- package/dist/assets/{BotPlaceholder-C--FHvts.js → BotPlaceholder-BvZp_nGe.js} +1 -1
- package/dist/assets/{BottomFooter-Diy1dxTR.js → BottomFooter-UFm8DUHu.js} +1 -1
- package/dist/assets/{BrowseConnectors-BfZCwj7s.js → BrowseConnectors-Y_9juoXJ.js} +1 -1
- package/dist/assets/{BrowserPairingDialog-CwcFHrVH.js → BrowserPairingDialog-B3Cujdos.js} +1 -1
- package/dist/assets/{Callback-DUubRo9v.js → Callback-B65AaJuR.js} +1 -1
- package/dist/assets/{CodeSnippet-B0neSlgP.js → CodeSnippet-BVSUZgl2.js} +1 -1
- package/dist/assets/ConnectorUtil-CEBYBGCR.js +1 -0
- package/dist/assets/{Console-D8pv2zPD.js → Console-B8JVXKxg.js} +1 -1
- package/dist/assets/ConstantsUtil-CM7Z7qJI.js +884 -0
- package/dist/assets/{Consumption-BK4nImFR.js → Consumption-B8Aoy3S9.js} +1 -1
- package/dist/assets/{Conversation-Cv9VbfEe.js → Conversation-DfcpbC5-.js} +1 -1
- package/dist/assets/{Conversation-BXtScsLN.js → Conversation-DiIcFh0M.js} +1 -1
- package/dist/assets/{CopyToClipboard-AvaqCeXT.js → CopyToClipboard-BWMbyEe8.js} +1 -1
- package/dist/assets/Detail-B2RHER-w.js +2 -0
- package/dist/assets/{Detail-BbDnDZ62.css → Detail-DMI9op2Z.css} +1 -1
- package/dist/assets/Extra-C1xhTX1S.js +1 -0
- package/dist/assets/{FilePreview-BNtZwLa2.js → FilePreview-DJNOTisa.js} +1 -1
- package/dist/assets/{Hailuo-CUHHmlNz.js → Hailuo-eKt1lI2M.js} +1 -1
- package/dist/assets/{History-BrR8Yf_Z.js → History-Cy1EnaCx.js} +1 -1
- package/dist/assets/{ImagePreview-DPhaVe-K.js → ImagePreview-3n2g823_.js} +1 -1
- package/dist/assets/{ImageWrapper-DwDvvMD7.js → ImageWrapper-Zf-ml_fL.js} +1 -1
- package/dist/assets/{Index-BadgGV7L.js → Index--3tUnerd.js} +1 -1
- package/dist/assets/{Index-DlofPOmV.js → Index-0HZhlO5T.js} +1 -1
- package/dist/assets/Index-1R3UjWko.js +1 -0
- package/dist/assets/{Index-ChX8EfQ8.js → Index-B3lcvGOC.js} +1 -1
- package/dist/assets/{Index-B1Kw72wN.js → Index-BB1bDlkg.js} +1 -1
- package/dist/assets/{Index-BgP1xjT5.js → Index-BDP7PGtI.js} +1 -1
- package/dist/assets/{Index-B83b9_wi.js → Index-BFvPdO-u.js} +1 -1
- package/dist/assets/{Index-BmXYFehz.js → Index-BPGjUAl0.js} +1 -1
- package/dist/assets/{Index-CMSWNfN_.js → Index-BbFvn7Z-.js} +1 -1
- package/dist/assets/{Index-BhVRicE6.js → Index-BbwwdeD2.js} +1 -1
- package/dist/assets/{Index-DWCDjaXA.js → Index-Be4NPAQ_.js} +1 -1
- package/dist/assets/{Index-0tDHczbM.js → Index-BhhD5gr9.js} +1 -1
- package/dist/assets/{Index-7fi1vULC2.js → Index-BjL4FbG62.js} +1 -1
- package/dist/assets/{Index-DbsIgIEX.js → Index-C3ikCwp-.js} +1 -1
- package/dist/assets/{Index-D948p6ES.js → Index-CEvPCkn9.js} +1 -1
- package/dist/assets/Index-CJJhQn0t.js +1 -0
- package/dist/assets/{Index-D8Y03OtA.js → Index-CJR760ks.js} +1 -1
- package/dist/assets/{Index-CGEzzwMb.js → Index-CouiG6eX.js} +1 -1
- package/dist/assets/{Index-D-kQkhOh.js → Index-D1QBQi1h.js} +1 -1
- package/dist/assets/{Index-Bm_crXl-.js → Index-D3OXfvMY.js} +1 -1
- package/dist/assets/Index-DAYPwZIs.js +1 -0
- package/dist/assets/Index-DL2EoTNV.js +1 -0
- package/dist/assets/Index-DUdRx1Bc.js +1 -0
- package/dist/assets/{Index-BIccEBEN.js → Index-D_gLtR0N.js} +1 -1
- package/dist/assets/Index-DhsEyroJ.js +1 -0
- package/dist/assets/{Index-DKrXlrk-.js → Index-DkWBqyko.js} +1 -1
- package/dist/assets/Index-DmTr-_VQ.js +1 -0
- package/dist/assets/{Index-CaIBqmIZ.js → Index-Dqxyoetu.js} +1 -1
- package/dist/assets/{Index-OwzwOsGt.js → Index-Eu8X5f3d.js} +1 -1
- package/dist/assets/{Index-DvmQuJd4.js → Index-MTJitVkG.js} +1 -1
- package/dist/assets/{Index-BthkIMLu.js → Index-ib-vKI7O.js} +1 -1
- package/dist/assets/{Index-CMu0wO8E.js → Index-kBhq5F_C.js} +2 -2
- package/dist/assets/Index-nJ3nXUmG.js +1 -0
- package/dist/assets/{Index-CTZWRaZt.js → Index-qY3svjvY.js} +1 -1
- package/dist/assets/{Index-BXnU9Nhc.js → Index-twLqOP1D.js} +2 -2
- package/dist/assets/{Invitees-DL1P2x5O.js → Invitees-BJIrcNI6.js} +1 -1
- package/dist/assets/List-B-N6yusv.js +1 -0
- package/dist/assets/{List-B7gE17Uu.js → List-CZ7l3Wax.js} +1 -1
- package/dist/assets/List-_-dQIH5k.js +1 -0
- package/dist/assets/{LocalTools-Dw-cSEm5.js → LocalTools-CUogyUSK.js} +1 -1
- package/dist/assets/LocalTools-Di2tl3Hu.js +5 -0
- package/dist/assets/{Logo-B5pb3LXw.js → Logo-BBnNBDj-.js} +1 -1
- package/dist/assets/{Main-gugFahba.js → Main-BbG-g4fC.js} +1 -1
- package/dist/assets/{Message-C0-5k24c.js → Message-YmiY6z2o.js} +2 -2
- package/dist/assets/{Model-DSVl1m8-.js → Model-DAH6d39D.js} +1 -1
- package/dist/assets/Navigator-BWwXDF0d.css +1 -0
- package/dist/assets/{Navigator-B-NGLAVz.js → Navigator-CRlUIJeI.js} +4 -4
- package/dist/assets/{NotFound-Bp7eiYNh.js → NotFound-Bv4oqgfG.js} +1 -1
- package/dist/assets/{PageHeader-5PIb-pRr.js → PageHeader-BBHZISMg.js} +1 -1
- package/dist/assets/Pay-MEi3wA51.js +1 -0
- package/dist/assets/{Player-BDjTM_TZ.js → Player-ByUiLBZ1.js} +1 -1
- package/dist/assets/{Poivelle-CATRUvJM.js → Poivelle-CrpCCg_p.js} +1 -1
- package/dist/assets/{RealtimeCall-4hZrsGbX.js → RealtimeCall-BRiInG4T.js} +1 -1
- package/dist/assets/{ReportButton-D07ABYgs.js → ReportButton-DX9HrIMC.js} +1 -1
- package/dist/assets/{ReportDialog-CZ_kBqmh.js → ReportDialog-DA_Yn-7b.js} +1 -1
- package/dist/assets/{ScenarioPaymentMode-DHx-gf_J.js → ScenarioPaymentMode-DyQODbhi.js} +1 -1
- package/dist/assets/{ScheduledTasks-BTdAj5bj.js → ScheduledTasks-C6Uqgv8w.js} +2 -2
- package/dist/assets/{SolanaWalletPickerDialog-Dyf4OrtZ.js → SolanaWalletPickerDialog-ZsnFesYl.js} +1 -1
- package/dist/assets/Status-CtIUekSt.js +1 -0
- package/dist/assets/{Status-7DGGTrl_.css → Status-DWcgs63d.css} +1 -1
- package/dist/assets/{Subscribe-Qqvq4kcb.js → Subscribe-Cu_waTQq.js} +1 -1
- package/dist/assets/{TabSwitcher-SRPkuCQO.js → TabSwitcher-Bx9b8MWc.js} +1 -1
- package/dist/assets/{Tts-CiW_3IBs.js → Tts-CnJ65kmy.js} +1 -1
- package/dist/assets/{VideoPlayer-89YYttvk.js → VideoPlayer-CBlsHZPm.js} +1 -1
- package/dist/assets/{VideoPreview-BlX_PPPl.js → VideoPreview-BqGUxBJp.js} +1 -1
- package/dist/assets/__vite-browser-external-Wme9VPc1.js +1 -0
- package/dist/assets/arrow-down-BwrcDSVc.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-DaI6Uvy0.js → arrow-down-wide-narrow-btm_oBSR.js} +1 -1
- package/dist/assets/arrow-left-iV7WcLY8.js +1 -0
- package/dist/assets/arrow-right-SxARbRc8.js +1 -0
- package/dist/assets/arrow-up-Bmmr5eqn.js +1 -0
- package/dist/assets/authorizeFlow-Dujmgp0X.js +1 -0
- package/dist/assets/{avatar-C6N1pFHe.js → avatar-Bt5ewMHJ.js} +1 -1
- package/dist/assets/{basic-CPefaDNi.js → basic-CyaHz3wQ.js} +102 -102
- package/dist/assets/{book-open-DAATULmD.js → book-open-CDxQI3yG.js} +1 -1
- package/dist/assets/{box-BShXku0x.js → box-Ru8CN_WA.js} +1 -1
- package/dist/assets/{boxes-OOy_NK7l.js → boxes-foONptLm.js} +1 -1
- package/dist/assets/{brain-Cu-lPJz-.js → brain-BB6Lt1en.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-cFmOkyoL.js → chart-no-axes-combined-BRbG9Cw3.js} +1 -1
- package/dist/assets/{chat-2mnC6M1U.js → chat-9JinPdmu.js} +1 -1
- package/dist/assets/check-D129wUsG.js +1 -0
- package/dist/assets/chevron-down-SmsJAa7D.js +1 -0
- package/dist/assets/chevron-right-CXS1sjHz.js +1 -0
- package/dist/assets/circle-check-CicxfNPX.js +1 -0
- package/dist/assets/{circle-question-mark-ChtLUjT_.js → circle-question-mark-JDwWgK6t.js} +1 -1
- package/dist/assets/{clipboard-list-BYEYDrSf.js → clipboard-list-Bp6XIaej.js} +1 -1
- package/dist/assets/clock-CJP1L4iF.js +1 -0
- package/dist/assets/code-B8mbkWch.js +1 -0
- package/dist/assets/{codingBridge-DSl0gsJ9.js → codingBridge-BorG_XQj.js} +2 -2
- package/dist/assets/codingBridgeNotify-PSvybEiZ.js +2 -0
- package/dist/assets/{coins-DwMmRk4F.js → coins-ze5vlvFY.js} +1 -1
- package/dist/assets/{collapse-GpKda_4j.js → collapse-DuU6GFQ5.js} +1 -1
- package/dist/assets/{common-BKsvEmV6.js → common--c1slE1u.js} +1 -1
- package/dist/assets/{common-BqAdpno_.js → common-1y1xR6Hq.js} +1 -1
- package/dist/assets/{common-0gFKvUbv.js → common-5CGWhWTi.js} +1 -1
- package/dist/assets/{common-37ohr-XT.js → common-BBDXNloB.js} +1 -1
- package/dist/assets/{common-DZSi3Hh_.js → common-BF5e88UD.js} +1 -1
- package/dist/assets/{common-B4An_YTm.js → common-BJk75FxQ.js} +1 -1
- package/dist/assets/{common-xxhDQiia.js → common-BWLoKbl8.js} +1 -1
- package/dist/assets/{common-DUhRMhh_.js → common-Bd6DEYvm.js} +1 -1
- package/dist/assets/{common-DRbsZfM1.js → common-BoO0zCSB.js} +1 -1
- package/dist/assets/{common-jvlgniqw.js → common-C-XfsW3T.js} +1 -1
- package/dist/assets/{common-MsalCK0u.js → common-CJWEoJSY.js} +1 -1
- package/dist/assets/{common-CWaCL-rT.js → common-CJzTDJqS.js} +1 -1
- package/dist/assets/{common-B651gMfj.js → common-DoY46wUe.js} +1 -1
- package/dist/assets/{common-CFrdR7cP.js → common-WBrc34-3.js} +1 -1
- package/dist/assets/{common-CDAa_Wy3.js → common-fo0L07YJ.js} +1 -1
- package/dist/assets/{common-CRdaMls6.js → common-gCVhIaMo.js} +1 -1
- package/dist/assets/{common-OrWJ1sIs.js → common-lwxg-JGj.js} +1 -1
- package/dist/assets/{common-BPYnF8a5.js → common-m8zExVQB.js} +1 -1
- package/dist/assets/{constants-COIxBjYU.js → constants-DB14FZRU.js} +1 -1
- package/dist/assets/{copy-BCep57w1.js → copy-BdCOeTdw.js} +1 -1
- package/dist/assets/{createTaskActions-BXMbF95s.js → createTaskActions-D6qXHcvI.js} +1 -1
- package/dist/assets/{digitalhuman-Bnx1V9mB.js → digitalhuman-CwKgKGbn.js} +1 -1
- package/dist/assets/{dist-BTKWrJnG.js → dist-DQBaVIej.js} +1 -1
- package/dist/assets/{dollar-sign--p8_eDBy.js → dollar-sign-DkOtt1dI.js} +1 -1
- package/dist/assets/{download-Dt0wWdpW.js → download-BI2mDYwL.js} +1 -1
- package/dist/assets/{drawer-BUv2WEZF.js → drawer-LnmmvO3L.js} +1 -1
- package/dist/assets/{dropdown-UTgACN7Q.js → dropdown-BBb4svFZ.js} +1 -1
- package/dist/assets/{dropdown-CBx7fAAp.js → dropdown-CnJ3QdOV.js} +1 -1
- package/dist/assets/{ellipsis-yuDcWrJ4.js → ellipsis-4Z3lDqKY.js} +1 -1
- package/dist/assets/esm-B3VUurFj.js +2 -0
- package/dist/assets/esm-CKnrzlAu.js +1 -0
- package/dist/assets/{esm-Bme5NiGB.js → esm-D-5GXt9s.js} +1 -1
- package/dist/assets/{esm-lz8LG3c9.js → esm-D2u5tK9d.js} +2 -2
- package/dist/assets/{esm-DkEgJOIk.js → esm-Dr_IIEG1.js} +1 -1
- package/dist/assets/{esm--389sWkC.js → esm-H1SE-ruA.js} +1 -1
- package/dist/assets/esm-Og-lQZNt.js +18 -0
- package/dist/assets/{external-link-CYfNxhR8.js → external-link-IrmfutNb.js} +1 -1
- package/dist/assets/{eye-oDfmxiDV.js → eye-tnSE8Qno.js} +1 -1
- package/dist/assets/{file-tjfJc6_R.js → file-e9ByTl0U.js} +1 -1
- package/dist/assets/{file-output-XcBh5O_y.js → file-output-rDweV78w.js} +1 -1
- package/dist/assets/{file-text-DkDLGLgh.js → file-text-Y2G9vk0T.js} +1 -1
- package/dist/assets/{fish-Cx9f10Gm.js → fish-DR2Hlgd-.js} +1 -1
- package/dist/assets/{flux-Bmcbakjy.js → flux-sTLxixZP.js} +1 -1
- package/dist/assets/{folder-DAsfhav6.js → folder-BZzAP02K.js} +1 -1
- package/dist/assets/gauge-DuH-eSYd.js +1 -0
- package/dist/assets/{globe-v5rghgGg.js → globe-YZgVDgdE.js} +1 -1
- package/dist/assets/{grokvideo-C8TWPKxr.js → grokvideo-Dn7GBg1u.js} +1 -1
- package/dist/assets/{pika-CxjINjjD.js → hailuo-DzDrm7SG.js} +1 -1
- package/dist/assets/{headphones-B3pskUHm.js → headphones-mstr7_Lr.js} +1 -1
- package/dist/assets/{history-BZjtFlQ0.js → history-1SsNQiZ6.js} +1 -1
- package/dist/assets/{house-f-R5K_9D.js → house-D6QUY5v4.js} +1 -1
- package/dist/assets/{i18n-DBTdUKZz.js → i18n-xBtzqNWD.js} +1 -1
- package/dist/assets/{image-CR04SjVv.js → image-B4PLmQaF.js} +1 -1
- package/dist/assets/{imageRequests-CLSZhX1d.js → imageRequests-BqaDdLsP.js} +1 -1
- package/dist/assets/index-CcjQxvfb.js +570 -0
- package/dist/assets/index.browser.esm-BbYKZd7a.js +2 -0
- package/dist/assets/{index.es-DB6BDgPr.js → index.es-CNanbZ5D.js} +1 -1
- package/dist/assets/index.es-LzqQdC6F.js +13 -0
- package/dist/assets/{info-zYDWDLVP.js → info-SrHD5DCZ.js} +1 -1
- package/dist/assets/{input-number-B0xcuDnW.js → input-number-DF98nbHf.js} +1 -1
- package/dist/assets/{key-round-BX8FPmcu.js → key-round-C1K7fn2E.js} +1 -1
- package/dist/assets/{kling-tUEGRRxO.js → kling-BXeHpToC.js} +1 -1
- package/dist/assets/{languages-DKKUB3AY.js → languages-B8TIA7Bw.js} +1 -1
- package/dist/assets/{laptop-DSbqbKpY.js → laptop-BOU462cS.js} +1 -1
- package/dist/assets/{lightbulb-NABKBXyu.js → lightbulb-DDWWETX_.js} +1 -1
- package/dist/assets/{link-ByjYUxSr.js → link-BWBJ8c5K.js} +1 -1
- package/dist/assets/loader-circle-BZ57jq7N.js +1 -0
- package/dist/assets/{lock-gJ6pDfMu.js → lock-B1SIzp4d.js} +1 -1
- package/dist/assets/{luma-CfpOdZqb.js → luma-fSxLK8fH.js} +1 -1
- package/dist/assets/{maestro-yRubvEFE.js → maestro-BXindK0f.js} +1 -1
- package/dist/assets/{maestroLanguages-B0F58ijw.js → maestroLanguages-CtrBBaF5.js} +1 -1
- package/dist/assets/{mail-DZpi5J9I.js → mail-BJ1dF_RX.js} +1 -1
- package/dist/assets/{message-circle-D8K26AlF.js → message-circle-KEvtWA2g.js} +1 -1
- package/dist/assets/{mic-DKCR-fiK.js → mic-ZaRjoWSM.js} +1 -1
- package/dist/assets/{midjourney-DM-JhLuX.js → midjourney-t5oJPwWU.js} +1 -1
- package/dist/assets/{minimax-DxlvMTWd.js → minimax-DGMAIlVy.js} +1 -1
- package/dist/assets/{mobileLocalExec-IQ4ZYo9T.js → mobileLocalExec-x8iwdykS.js} +2 -2
- package/dist/assets/{models-DAfyWAqc.js → models-BoFv4bCY.js} +1 -1
- package/dist/assets/{monitor-dn1EyIUV.js → monitor-BX3mTRdr.js} +1 -1
- package/dist/assets/{mouse-pointer-2-C7O4LVbr.js → mouse-pointer-2-ZqhneKIA.js} +1 -1
- package/dist/assets/music-2-C-F9f7u2.js +1 -0
- package/dist/assets/{nanobanana-CxpWeSUn.js → nanobanana-p3gH3Z3F.js} +1 -1
- package/dist/assets/{omni-DxA9Ux8Y.js → omni-CWPmqCiU.js} +1 -1
- package/dist/assets/{openaiimage-DlDGJtH4.js → openaiimage-CkVJ0fOE.js} +1 -1
- package/dist/assets/{pagination-DMwQC4ut.js → pagination-7uZSahOA.js} +1 -1
- package/dist/assets/{pagination-NMff1SYZ.js → pagination-D3ecBdTD.js} +1 -1
- package/dist/assets/{pagination-C5hWM-uh.js → pagination-rZnKw6Dv.js} +1 -1
- package/dist/assets/{palette-CRW1qOCG.js → palette-CTBc55zB.js} +1 -1
- package/dist/assets/{paperclip-HA2RNkmq.js → paperclip-8SUIS4V6.js} +1 -1
- package/dist/assets/{pause-09GpN31S.js → pause-BrUxrvme.js} +1 -1
- package/dist/assets/{pencil-CD6MLBSx.js → pencil-DTlLX3aI.js} +1 -1
- package/dist/assets/{sora-DFX7Ridx.js → pika-D2ELR1BJ.js} +1 -1
- package/dist/assets/{hailuo-C1kObLTr.js → pixverse-YAmSFszN.js} +1 -1
- package/dist/assets/play-C_SfEt6Z.js +1 -0
- package/dist/assets/{plug-D6wUveI9.js → plug-BQgbxZvJ.js} +1 -1
- package/dist/assets/plus-DEuZTkzF.js +1 -0
- package/dist/assets/{poivelle-ChqnXNHp.js → poivelle-CJbGaDtU.js} +1 -1
- package/dist/assets/{popover-8bFfKyEx.js → popover-Cw22vTM3.js} +1 -1
- package/dist/assets/{producer-CZdiq23k.js → producer-BmVHJgip.js} +1 -1
- package/dist/assets/{qrart-T4a6zkdJ.js → qrart-g92I07IG.js} +1 -1
- package/dist/assets/realtime-h2ivlZjk.js +1 -0
- package/dist/assets/{refresh-cw-3eBUX5Ea.js → refresh-cw-DGY8Nssp.js} +1 -1
- package/dist/assets/rotate-ccw-ChqfNZzp.js +1 -0
- package/dist/assets/rotate-cw-BowoSSk7.js +1 -0
- package/dist/assets/{row-BQUMxfsY.js → row-BlMc5HGF.js} +1 -1
- package/dist/assets/search-J1q7Xaee.js +1 -0
- package/dist/assets/secp256k1-xksC0Kmy.js +1 -0
- package/dist/assets/{seedance-DWR0aqWj.js → seedance-DOO9kPWi.js} +1 -1
- package/dist/assets/{seedream-CMXDmAzS.js → seedream-DEg6XNwp.js} +1 -1
- package/dist/assets/{select-C0yzkTif.js → select-BODA2jf6.js} +1 -1
- package/dist/assets/{serp-Dt_PQkXV.js → serp-BtvzKdAE.js} +1 -1
- package/dist/assets/{shield-wdrqyAOI.js → shield-QlgNfgLj.js} +1 -1
- package/dist/assets/{shuffle-Bqjf3c86.js → shuffle-DYCgQitM.js} +1 -1
- package/dist/assets/{slider-BDLlDUDz.js → slider-DkOO6w7v.js} +1 -1
- package/dist/assets/solana-Bn9cyhqr.js +2 -0
- package/dist/assets/solana-wallets-DuUXJVr7.js +2 -0
- package/dist/assets/{solana-wallets-vue-B8MVw466.js → solana-wallets-vue-CvwzSqOW.js} +1 -1
- package/dist/assets/{pixverse-CzR8RnTd.js → sora-C1VhpFhj.js} +1 -1
- package/dist/assets/{sparkles-BoTKvrNO.js → sparkles-B6l3pe4D.js} +1 -1
- package/dist/assets/square-DqvXq--P.js +1 -0
- package/dist/assets/{store-B3O9u73-.js → store-BTMIDGvm.js} +1 -1
- package/dist/assets/{suno-DCe2XW0B.js → suno-Dn9tmBWw.js} +1 -1
- package/dist/assets/{switch-C7dNKdGq.js → switch-DO_m4tjD.js} +1 -1
- package/dist/assets/{table-UhquZYel.js → table-D6bwWTTA.js} +1 -1
- package/dist/assets/{tabs-BwvMWaWZ.js → tabs-CxRafyJg.js} +1 -1
- package/dist/assets/{tag-BJxLMPQ4.js → tag-RZW53z8C.js} +1 -1
- package/dist/assets/terminal-DhTdw-wQ.js +1 -0
- package/dist/assets/{time-picker-DoJ_mwqy.js → time-picker-DoXQpdJv.js} +1 -1
- package/dist/assets/{tooltip-CY9KP5TS.js → tooltip-Ck3eIRCt.js} +1 -1
- package/dist/assets/{trash-2-B1wBangj.js → trash-2-BrR9MfiV.js} +1 -1
- package/dist/assets/{triangle-alert-CAuu6B-W.js → triangle-alert-BOFNM383.js} +1 -1
- package/dist/assets/{upload-D_4LkjOW.js → upload-D5utuckf.js} +1 -1
- package/dist/assets/{upload-D6AM_V-z.js → upload-KvU-H2Pn.js} +1 -1
- package/dist/assets/user-Cse7zZa3.js +1 -0
- package/dist/assets/{veo-W71kXy0Z.js → veo-VkkgFc00.js} +1 -1
- package/dist/assets/{video-DVgqKgsY.js → video-CdClpytA.js} +1 -1
- package/dist/assets/{volume-2-DocaJU2F.js → volume-2-1ocI-qzO.js} +1 -1
- package/dist/assets/{w3m-modal-CcAeUAZf.js → w3m-modal-BXg-8Jr5.js} +26 -26
- package/dist/assets/{wallet-RBRJCWek.js → wallet-DgphXG1K.js} +1 -1
- package/dist/assets/{wan-CgXklc_4.js → wan-Cj2ZSym0.js} +1 -1
- package/dist/assets/{wand-sparkles-CJH0v5L4.js → wand-sparkles-RkL6p2k8.js} +1 -1
- package/dist/assets/{web-nUZelD8c.js → web-BCC6qgJS.js} +1 -1
- package/dist/assets/{web-DRJhyBh_.js → web-B_clN23Y.js} +1 -1
- package/dist/assets/{web-9nZX65Vh.js → web-BkYDAxsa.js} +1 -1
- package/dist/assets/{web-D29bO3g4.js → web-JJHCetdA.js} +1 -1
- package/dist/assets/{web-BjNw9wT3.js → web-WjQTyOKD.js} +1 -1
- package/dist/assets/{webextrator-C1x7ltX3.js → webextrator-CZbaFhxj.js} +1 -1
- package/dist/assets/{wui-text-IdpNh4yv.js → wui-text-Cn4Xd1Sh.js} +1 -1
- package/dist/assets/{zap-Bo8Pzpwk.js → zap-B1VAKgJ8.js} +1 -1
- package/dist/index.html +6 -5
- package/package.json +2 -1
- package/dist/assets/ConnectorUtil-BNHqGaBo.js +0 -1
- package/dist/assets/ConstantsUtil-CiJQ7E9o.js +0 -885
- package/dist/assets/Detail-BynbMCsg.js +0 -2
- package/dist/assets/Extra-Dy27Xepl.js +0 -1
- package/dist/assets/Index-2pUrfZDO.js +0 -1
- package/dist/assets/Index-B2gSKiZ3.js +0 -1
- package/dist/assets/Index-BneErBTq.js +0 -1
- package/dist/assets/Index-CLKH3TKM.js +0 -1
- package/dist/assets/Index-CqRMg-uH.js +0 -1
- package/dist/assets/Index-Crdhl-Vx.js +0 -1
- package/dist/assets/Index-DMQ9DZGa.js +0 -1
- package/dist/assets/Index-DaePlNci.js +0 -1
- package/dist/assets/List-By1Vg7U3.js +0 -1
- package/dist/assets/List-ByRoWUqS.js +0 -1
- package/dist/assets/LocalTools-C0CsQekj.js +0 -5
- package/dist/assets/Navigator-DJAPAK_Y.css +0 -1
- package/dist/assets/Pay-BXFjGCjg.js +0 -1
- package/dist/assets/Status-BAOOm7Y6.js +0 -1
- package/dist/assets/arrow-down-M2F1qebD.js +0 -1
- package/dist/assets/arrow-left-D_2mJNNF.js +0 -1
- package/dist/assets/arrow-right-abRRWNmS.js +0 -1
- package/dist/assets/arrow-up-DMpA1IsJ.js +0 -1
- package/dist/assets/authorizeFlow-CujA2Sko.js +0 -1
- package/dist/assets/check-TtZdHrlm.js +0 -1
- package/dist/assets/chevron-down-DMXTi49q.js +0 -1
- package/dist/assets/chevron-right-DIQNv_0r.js +0 -1
- package/dist/assets/circle-check-DKBPWCH5.js +0 -1
- package/dist/assets/clock-D5NbflY9.js +0 -1
- package/dist/assets/code-wKSqPZcq.js +0 -1
- package/dist/assets/codingBridgeNotify-kOlSTgx4.js +0 -2
- package/dist/assets/esm-BgUDy7vB.js +0 -1
- package/dist/assets/esm-C9MRpvkK.js +0 -28
- package/dist/assets/esm-D4Ha2HnB.js +0 -2
- package/dist/assets/gauge-DP9sk0Fe.js +0 -1
- package/dist/assets/index-CTn7SLTr.js +0 -570
- package/dist/assets/index.browser.esm-BuWinGJ1.js +0 -2
- package/dist/assets/loader-circle-r7o2cOdj.js +0 -1
- package/dist/assets/music-2-UxfKU68J.js +0 -1
- package/dist/assets/play-1r8M6tGa.js +0 -1
- package/dist/assets/plus-Dzhx2WdR.js +0 -1
- package/dist/assets/realtime-C0bVe3k2.js +0 -1
- package/dist/assets/rotate-ccw-DFETd1JJ.js +0 -1
- package/dist/assets/rotate-cw-BLViYEn3.js +0 -1
- package/dist/assets/search-CiYRAPUv.js +0 -1
- package/dist/assets/secp256k1-CBKdYWfq.js +0 -1
- package/dist/assets/solana-CLOcWury.js +0 -2
- package/dist/assets/solana-wallets-C-BcnEbE.js +0 -2
- package/dist/assets/square-B9lxDeHX.js +0 -1
- package/dist/assets/terminal-C5ne2YRf.js +0 -1
- package/dist/assets/user-B3wTOjwB.js +0 -1
- package/dist/assets/utils-CGq_Culp.js +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-CBKdYWfq.js","assets/rolldown-runtime--c01j_DQ.js","assets/utils-CGq_Culp.js","assets/secp256k1-ClVDFbCG.js","assets/utils-Br0svb7K.js","assets/basic-CPefaDNi.js","assets/index-CTn7SLTr.js","assets/preload-helper-zJ_50EbN.js","assets/constants-COIxBjYU.js","assets/i18n-DBTdUKZz.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/icon-CDmWyIgD.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/index.browser.esm-BuWinGJ1.js","assets/buffer-CnhyIITQ.js","assets/eventemitter3-CwKRT-4Q.js","assets/vendor-dayjs-C9ICuEWn.js","assets/models-DAfyWAqc.js","assets/vendor-vue-CCKiwo0U.js","assets/use-deprecated-BAB4ggjd.js","assets/event-BGnHezxC.js","assets/use-aria-DApzlmKf.js","assets/aria-8oQuUBWy.js","assets/scroll-kDH1KTep.js","assets/vnode-B_FEx-YD.js","assets/debounce-5xtusvLq.js","assets/vendor-vue-router-Cnr45FPb.js","assets/index-CmAz1JTM.css","assets/lit-Czpkz5lw.js","assets/wui-text-IdpNh4yv.js","assets/ConstantsUtil-CiJQ7E9o.js","assets/ConnectorUtil-BNHqGaBo.js","assets/w3m-modal-CcAeUAZf.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e,n as t,o as n,r,t as i}from"./rolldown-runtime--c01j_DQ.js";import{t as a}from"./preload-helper-zJ_50EbN.js";import{a as o,c as s,n as c,u as l}from"./index.browser.esm-BuWinGJ1.js";import{$ as u,A as d,B as f,C as p,D as m,E as h,F as g,H as _,I as v,J as y,K as b,L as x,M as S,N as C,O as w,P as T,Q as E,R as D,S as O,T as k,U as A,V as j,W as M,Y as N,Z as P,_ as F,at as I,b as L,c as R,d as z,et as B,f as V,g as H,h as ee,it as U,j as W,k as te,l as ne,m as re,nt as ie,p as G,q as ae,rt as oe,tt as se,u as ce,v as le,w as ue,x as de,y as fe,z as pe}from"./ConstantsUtil-CiJQ7E9o.js";import{i as K,n as me,r as he}from"./ConnectorUtil-BNHqGaBo.js";import{a as ge,c as _e,d as ve,f as ye,h as be,l as xe,m as Se,n as Ce,t as we,u as Te}from"./utils-Br0svb7K.js";import{E as Ee,T as De,b as Oe,g as ke,l as Ae,m as je,n as Me,o as Ne,s as Pe,w as Fe,y as Ie}from"./esm-XM2jj6jY.js";import{a as Le,c as Re,d as ze,f as Be,h as Ve,l as He,m as Ue,n as We,t as Ge,u as Ke}from"./utils-CGq_Culp.js";var qe={validateCaipAddress(e){if(e.split(`:`)?.length!==3)throw Error(`Invalid CAIP Address`);return e},parseCaipAddress(e){let t=e.split(`:`);if(t.length!==3)throw Error(`Invalid CAIP-10 address: ${e}`);let[n,r,i]=t;if(!n||!r||!i)throw Error(`Invalid CAIP-10 address: ${e}`);return{chainNamespace:n,chainId:r,address:i}},parseCaipNetworkId(e){let t=e.split(`:`);if(t.length!==2)throw Error(`Invalid CAIP-2 network id: ${e}`);let[n,r]=t;if(!n||!r)throw Error(`Invalid CAIP-2 network id: ${e}`);return{chainNamespace:n,chainId:r}}},Je=r({__assign:()=>vt,__asyncDelegator:()=>ut,__asyncGenerator:()=>lt,__asyncValues:()=>dt,__await:()=>ct,__awaiter:()=>et,__classPrivateFieldGet:()=>ht,__classPrivateFieldSet:()=>gt,__createBinding:()=>nt,__decorate:()=>Ze,__exportStar:()=>rt,__extends:()=>Ye,__generator:()=>tt,__importDefault:()=>mt,__importStar:()=>pt,__makeTemplateObject:()=>ft,__metadata:()=>$e,__param:()=>Qe,__read:()=>at,__rest:()=>Xe,__spread:()=>ot,__spreadArrays:()=>st,__values:()=>it});function Ye(e,t){_t(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Xe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ze(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function Qe(e,t){return function(n,r){t(n,r,e)}}function $e(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}function et(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function tt(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(o){if(r)throw TypeError(`Generator is already executing.`);for(;n;)try{if(r=1,i&&(a=o[0]&2?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[o[0]&2,a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]<a[3])){n.label=o[1];break}if(o[0]===6&&n.label<a[1]){n.label=a[1],a=o;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(o);break}a[2]&&n.ops.pop(),n.trys.pop();continue}o=t.call(e,n)}catch(e){o=[6,e],i=0}finally{r=a=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}function nt(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}function rt(e,t){for(var n in e)n!==`default`&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function it(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function at(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function ot(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(at(arguments[t]));return e}function st(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)r[i]=a[o];return r}function ct(e){return this instanceof ct?(this.v=e,this):new ct(e)}function lt(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},o(`next`),o(`throw`),o(`return`),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||s(e,t)})})}function s(e,t){try{c(r[e](t))}catch(e){d(a[0][3],e)}}function c(e){e.value instanceof ct?Promise.resolve(e.value.v).then(l,u):d(a[0][2],e)}function l(e){s(`next`,e)}function u(e){s(`throw`,e)}function d(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function ut(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:ct(e[r](t)),done:r===`return`}:i?i(t):t}:i}}function dt(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof it==`function`?it(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function ft(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function pt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function mt(e){return e&&e.__esModule?e:{default:e}}function ht(e,t){if(!t.has(e))throw TypeError(`attempted to get private field on non-instance`);return t.get(e)}function gt(e,t,n){if(!t.has(e))throw TypeError(`attempted to set private field on non-instance`);return t.set(e,n),n}var _t,vt,yt=t((()=>{_t=function(e,t){return _t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},_t(e,t)},vt=function(){return vt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},vt.apply(this,arguments)}})),bt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.delay=void 0;function t(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}e.delay=t})),xt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ONE_THOUSAND=e.ONE_HUNDRED=void 0,e.ONE_HUNDRED=100,e.ONE_THOUSAND=1e3})),St=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ONE_YEAR=e.FOUR_WEEKS=e.THREE_WEEKS=e.TWO_WEEKS=e.ONE_WEEK=e.THIRTY_DAYS=e.SEVEN_DAYS=e.FIVE_DAYS=e.THREE_DAYS=e.ONE_DAY=e.TWENTY_FOUR_HOURS=e.TWELVE_HOURS=e.SIX_HOURS=e.THREE_HOURS=e.ONE_HOUR=e.SIXTY_MINUTES=e.THIRTY_MINUTES=e.TEN_MINUTES=e.FIVE_MINUTES=e.ONE_MINUTE=e.SIXTY_SECONDS=e.THIRTY_SECONDS=e.TEN_SECONDS=e.FIVE_SECONDS=e.ONE_SECOND=void 0,e.ONE_SECOND=1,e.FIVE_SECONDS=5,e.TEN_SECONDS=10,e.THIRTY_SECONDS=30,e.SIXTY_SECONDS=60,e.ONE_MINUTE=e.SIXTY_SECONDS,e.FIVE_MINUTES=e.ONE_MINUTE*5,e.TEN_MINUTES=e.ONE_MINUTE*10,e.THIRTY_MINUTES=e.ONE_MINUTE*30,e.SIXTY_MINUTES=e.ONE_MINUTE*60,e.ONE_HOUR=e.SIXTY_MINUTES,e.THREE_HOURS=e.ONE_HOUR*3,e.SIX_HOURS=e.ONE_HOUR*6,e.TWELVE_HOURS=e.ONE_HOUR*12,e.TWENTY_FOUR_HOURS=e.ONE_HOUR*24,e.ONE_DAY=e.TWENTY_FOUR_HOURS,e.THREE_DAYS=e.ONE_DAY*3,e.FIVE_DAYS=e.ONE_DAY*5,e.SEVEN_DAYS=e.ONE_DAY*7,e.THIRTY_DAYS=e.ONE_DAY*30,e.ONE_WEEK=e.SEVEN_DAYS,e.TWO_WEEKS=e.ONE_WEEK*2,e.THREE_WEEKS=e.ONE_WEEK*3,e.FOUR_WEEKS=e.ONE_WEEK*4,e.ONE_YEAR=e.ONE_DAY*365})),Ct=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(yt(),e(Je));n.__exportStar(xt(),t),n.__exportStar(St(),t)})),wt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.fromMiliseconds=e.toMiliseconds=void 0;var t=Ct();function n(e){return e*t.ONE_THOUSAND}e.toMiliseconds=n;function r(e){return Math.floor(e/t.ONE_THOUSAND)}e.fromMiliseconds=r})),Tt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(yt(),e(Je));n.__exportStar(bt(),t),n.__exportStar(wt(),t)})),Et=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Watch=void 0;var t=class{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(t.elapsed!==void 0)throw Error(`Watch already stopped for label: ${e}`);let n=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:n})}get(e){let t=this.timestamps.get(e);if(t===void 0)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e);return t.elapsed||Date.now()-t.started}};e.Watch=t,e.default=t})),Dt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IWatch=void 0,e.IWatch=class{}})),Ot=i((t=>{Object.defineProperty(t,"__esModule",{value:!0}),(yt(),e(Je)).__exportStar(Dt(),t)})),kt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(yt(),e(Je));n.__exportStar(Tt(),t),n.__exportStar(Et(),t),n.__exportStar(Ot(),t),n.__exportStar(Ct(),t)})),At=class{},jt=n(j()),q=kt(),Mt=class extends At{constructor(e){super()}},Nt=q.FIVE_SECONDS,Pt={pulse:`heartbeat_pulse`},Ft=class e extends Mt{constructor(e){super(e),this.events=new jt.EventEmitter,this.interval=Nt,this.interval=e?.interval||Nt}static async init(t){let n=new e(t);return await n.init(),n}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),(0,q.toMiliseconds)(this.interval))}pulse(){this.events.emit(Pt.pulse)}},It=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Lt=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Rt=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function zt(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){Bt(e);return}return t}function Bt(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Vt(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!Rt.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(It.test(e)||Lt.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,zt)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}function Ht(e){return!e||typeof e.then!=`function`?Promise.resolve(e):e}function Ut(e,...t){try{return Ht(e(...t))}catch(e){return Promise.reject(e)}}function Wt(e){let t=typeof e;return e===null||t!==`object`&&t!==`function`}function Gt(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}function Kt(e){if(Wt(e))return String(e);if(Gt(e)||Array.isArray(e))return JSON.stringify(e);if(typeof e.toJSON==`function`)return Kt(e.toJSON());throw Error(`[unstorage] Cannot stringify value!`)}var qt=`base64:`;function Jt(e){return typeof e==`string`?e:qt+Zt(e)}function Yt(e){return typeof e!=`string`||!e.startsWith(qt)?e:Xt(e.slice(7))}function Xt(e){return globalThis.Buffer?Buffer.from(e,`base64`):Uint8Array.from(globalThis.atob(e),e=>e.codePointAt(0))}function Zt(e){return globalThis.Buffer?Buffer.from(e).toString(`base64`):globalThis.btoa(String.fromCodePoint(...e))}function Qt(e){return e&&e.split(`?`)[0]?.replace(/[/\\]/g,`:`).replace(/:+/g,`:`).replace(/^:|:$/g,``)||``}function $t(...e){return Qt(e.join(`:`))}function en(e){return e=Qt(e),e?e+`:`:``}function tn(e,t){if(t===void 0)return!0;let n=0,r=e.indexOf(`:`);for(;r>-1;)n++,r=e.indexOf(`:`,r+1);return n<=t}function nn(e,t){return t?e.startsWith(t)&&e[e.length-1]!==`$`:e[e.length-1]!==`$`}function rn(e){return e}var an=`memory`,on=rn(()=>{let e=new Map;return{name:an,getInstance:()=>e,hasItem(t){return e.has(t)},getItem(t){return e.get(t)??null},getItemRaw(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},setItemRaw(t,n){e.set(t,n)},removeItem(t){e.delete(t)},getKeys(){return[...e.keys()]},clear(){e.clear()},dispose(){e.clear()}}});function sn(e={}){let t={mounts:{"":e.driver||on()},mountpoints:[``],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(let n of t.mountpoints)if(e.startsWith(n))return{base:n,relativeKey:e.slice(n.length),driver:t.mounts[n]};return{base:``,relativeKey:e,driver:t.mounts[``]}},r=(e,n)=>t.mountpoints.filter(t=>t.startsWith(e)||n&&e.startsWith(t)).map(n=>({relativeBase:e.length>n.length?e.slice(n.length):void 0,mountpoint:n,driver:t.mounts[n]})),i=(e,n)=>{if(t.watching){n=Qt(n);for(let r of t.watchListeners)r(e,n)}},a=async()=>{if(!t.watching){t.watching=!0;for(let e in t.mounts)t.unwatch[e]=await cn(t.mounts[e],i,e)}},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},s=(e,t,r)=>{let i=new Map,a=e=>{let t=i.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},i.set(e.base,t)),t};for(let r of e){let e=typeof r==`string`,i=Qt(e?r:r.key),o=e?void 0:r.value,s=e||!r.options?t:{...t,...r.options},c=n(i);a(c).items.push({key:i,value:o,relativeKey:c.relativeKey,options:s})}return Promise.all([...i.values()].map(e=>r(e))).then(e=>e.flat())},c={hasItem(e,t={}){e=Qt(e);let{relativeKey:r,driver:i}=n(e);return Ut(i.hasItem,r,t)},getItem(e,t={}){e=Qt(e);let{relativeKey:r,driver:i}=n(e);return Ut(i.getItem,r,t).then(e=>Vt(e))},getItems(e,t={}){return s(e,t,e=>e.driver.getItems?Ut(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:$t(e.base,t.key),value:Vt(t.value)}))):Promise.all(e.items.map(t=>Ut(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:Vt(e)})))))},getItemRaw(e,t={}){e=Qt(e);let{relativeKey:r,driver:i}=n(e);return i.getItemRaw?Ut(i.getItemRaw,r,t):Ut(i.getItem,r,t).then(e=>Yt(e))},async setItem(e,t,r={}){if(t===void 0)return c.removeItem(e);e=Qt(e);let{relativeKey:a,driver:o}=n(e);o.setItem&&(await Ut(o.setItem,a,Kt(t),r),o.watch||i(`update`,e))},async setItems(e,t){await s(e,t,async e=>{if(e.driver.setItems)return Ut(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:Kt(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>Ut(e.driver.setItem,t.relativeKey,Kt(t.value),t.options)))})},async setItemRaw(e,t,r={}){if(t===void 0)return c.removeItem(e,r);e=Qt(e);let{relativeKey:a,driver:o}=n(e);if(o.setItemRaw)await Ut(o.setItemRaw,a,t,r);else if(o.setItem)await Ut(o.setItem,a,Jt(t),r);else return;o.watch||i(`update`,e)},async removeItem(e,t={}){typeof t==`boolean`&&(t={removeMeta:t}),e=Qt(e);let{relativeKey:r,driver:a}=n(e);a.removeItem&&(await Ut(a.removeItem,r,t),(t.removeMeta||t.removeMata)&&await Ut(a.removeItem,r+`$`,t),a.watch||i(`remove`,e))},async getMeta(e,t={}){typeof t==`boolean`&&(t={nativeOnly:t}),e=Qt(e);let{relativeKey:r,driver:i}=n(e),a=Object.create(null);if(i.getMeta&&Object.assign(a,await Ut(i.getMeta,r,t)),!t.nativeOnly){let e=await Ut(i.getItem,r+`$`,t).then(e=>Vt(e));e&&typeof e==`object`&&(typeof e.atime==`string`&&(e.atime=new Date(e.atime)),typeof e.mtime==`string`&&(e.mtime=new Date(e.mtime)),Object.assign(a,e))}return a},setMeta(e,t,n={}){return this.setItem(e+`$`,t,n)},removeMeta(e,t={}){return this.removeItem(e+`$`,t)},async getKeys(e,t={}){e=en(e);let n=r(e,!0),i=[],a=[],o=!0;for(let e of n){e.driver.flags?.maxDepth||(o=!1);let n=await Ut(e.driver.getKeys,e.relativeBase,t);for(let t of n){let n=e.mountpoint+Qt(t);i.some(e=>n.startsWith(e))||a.push(n)}i=[e.mountpoint,...i.filter(t=>!t.startsWith(e.mountpoint))]}let s=t.maxDepth!==void 0&&!o;return a.filter(n=>(!s||tn(n,t.maxDepth))&&nn(n,e))},async clear(e,t={}){e=en(e),await Promise.all(r(e,!1).map(async e=>{if(e.driver.clear)return Ut(e.driver.clear,e.relativeBase,t);if(e.driver.removeItem){let n=await e.driver.getKeys(e.relativeBase||``,t);return Promise.all(n.map(n=>e.driver.removeItem(n,t)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>ln(e)))},async watch(e){return await a(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,n){if(e=en(e),e&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>t.length-e.length)),t.mounts[e]=n,t.watching&&Promise.resolve(cn(n,i,e)).then(n=>{t.unwatch[e]=n}).catch(console.error),c},async unmount(e,n=!0){e=en(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e]?.(),delete t.unwatch[e]),n&&await ln(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=``){e=Qt(e)+`:`;let t=n(e);return{driver:t.driver,base:t.base}},getMounts(e=``,t={}){return e=Qt(e),r(e,t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))},keys:(e,t={})=>c.getKeys(e,t),get:(e,t={})=>c.getItem(e,t),set:(e,t,n={})=>c.setItem(e,t,n),has:(e,t={})=>c.hasItem(e,t),del:(e,t={})=>c.removeItem(e,t),remove:(e,t={})=>c.removeItem(e,t)};return c}function cn(e,t,n){return e.watch?e.watch((e,r)=>t(e,n+r)):()=>{}}async function ln(e){typeof e.dispose==`function`&&await Ut(e.dispose)}function un(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function dn(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=un(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var fn;function pn(){return fn||=dn(`keyval-store`,`keyval`),fn}function mn(e,t=pn()){return t(`readonly`,t=>un(t.get(e)))}function hn(e,t,n=pn()){return n(`readwrite`,n=>(n.put(t,e),un(n.transaction)))}function gn(e,t=pn()){return t(`readwrite`,t=>(t.delete(e),un(t.transaction)))}function _n(e=pn()){return e(`readwrite`,e=>(e.clear(),un(e.transaction)))}function vn(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},un(e.transaction)}function yn(e=pn()){return e(`readonly`,e=>{if(e.getAllKeys)return un(e.getAllKeys());let t=[];return vn(e,e=>t.push(e.key)).then(()=>t)})}var bn=`idb-keyval`,xn=(e={})=>{let t=e.base&&e.base.length>0?`${e.base}:`:``,n=e=>t+e,r;return e.dbName&&e.storeName&&(r=dn(e.dbName,e.storeName)),{name:bn,options:e,async hasItem(e){return!(typeof await mn(n(e),r)>`u`)},async getItem(e){return await mn(n(e),r)??null},setItem(e,t){return hn(n(e),t,r)},removeItem(e){return gn(n(e),r)},getKeys(){return yn(r)},clear(){return _n(r)}}},Sn=`WALLET_CONNECT_V2_INDEXED_DB`,Cn=`keyvaluestorage`,wn=class{constructor(){this.indexedDb=sn({driver:xn({dbName:Sn,storeName:Cn})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,f(t))}async removeItem(e){await this.indexedDb.removeItem(e)}},Tn=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},En={exports:{}};(function(){let e;function t(){}e=t,e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e||=0,Object.keys(this)[e]},e.prototype.__defineGetter__(`length`,function(){return Object.keys(this).length}),typeof Tn<`u`&&Tn.localStorage?En.exports=Tn.localStorage:typeof window<`u`&&window.localStorage?En.exports=window.localStorage:En.exports=new t})();function Dn(e){return[e[0],pe(e[1]??``)]}var On=class{constructor(){this.localStorage=En.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(Dn)}async getItem(e){let t=this.localStorage.getItem(e);if(t!==null)return pe(t)}async setItem(e,t){this.localStorage.setItem(e,f(t))}async removeItem(e){this.localStorage.removeItem(e)}},kn=`wc_storage_version`,An=1,jn=async(e,t,n)=>{let r=kn,i=await t.getItem(r);if(i&&i>=An){n(t);return}let a=await e.getKeys();if(!a.length){n(t);return}let o=[];for(;a.length;){let n=a.shift();if(!n)continue;let r=n.toLowerCase();if(r.includes(`wc@`)||r.includes(`walletconnect`)||r.includes(`wc_`)||r.includes(`wallet_connect`)){let r=await e.getItem(n);await t.setItem(n,r),o.push(n)}}await t.setItem(r,An),n(t),Mn(e,o)},Mn=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})},Nn=class{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new On;this.storage=e;try{jn(e,new wn,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}},Pn=Object.defineProperty,Fn=(e,t,n)=>t in e?Pn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,In=(e,t,n)=>Fn(e,typeof t==`symbol`?t:t+``,n),Ln=class extends At{constructor(e){super(),this.opts=e,In(this,`protocol`,`wc`),In(this,`version`,2)}},Rn=Object.defineProperty,zn=(e,t,n)=>t in e?Rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bn=(e,t,n)=>zn(e,typeof t==`symbol`?t:t+``,n),Vn=class extends At{constructor(e,t){super(),this.core=e,this.logger=t,Bn(this,`records`,new Map)}},Hn=class{constructor(e,t){this.logger=e,this.core=t}},Un=class extends At{constructor(e,t){super(),this.relayer=e,this.logger=t}},Wn=class extends At{constructor(e){super()}},Gn=class{constructor(e,t,n,r){this.core=e,this.logger=t,this.name=n}},Kn=class extends At{constructor(e,t){super(),this.relayer=e,this.logger=t}},qn=class extends At{constructor(e,t){super(),this.core=e,this.logger=t}},Jn=class{constructor(e,t,n){this.core=e,this.logger=t,this.store=n}},Yn=class{constructor(e,t){this.projectId=e,this.logger=t}},Xn=class{constructor(e,t,n){this.core=e,this.logger=t,this.telemetryEnabled=n}},Zn=Object.defineProperty,Qn=(e,t,n)=>t in e?Zn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$n=(e,t,n)=>Qn(e,typeof t==`symbol`?t:t+``,n),er=class{constructor(e){this.opts=e,$n(this,`protocol`,`wc`),$n(this,`version`,2)}},tr=class{constructor(e){this.client=e}};function nr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function rr(e,...t){if(!nr(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function ir(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function ar(e,t){rr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}var or=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0,sr=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);function cr(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got `+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function lr(e){return typeof e==`string`&&(e=cr(e)),rr(e),e}var ur=class{clone(){return this._cloneInto()}};function dr(e){let t=t=>e().update(lr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function fr(e=32){if(or&&typeof or.getRandomValues==`function`)return or.getRandomValues(new Uint8Array(e));if(or&&typeof or.randomBytes==`function`)return or.randomBytes(e);throw Error(`crypto.getRandomValues must be defined`)}function pr(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}var mr=class extends ur{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=sr(this.buffer)}update(e){ir(this);let{view:t,buffer:n,blockLen:r}=this;e=lr(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=sr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ir(this),ar(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;pr(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=sr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.length=r,e.pos=o,e.finished=i,e.destroyed=a,r%t&&e.buffer.set(n),e}},hr=BigInt(2**32-1),gr=BigInt(32);function _r(e,t=!1){return t?{h:Number(e&hr),l:Number(e>>gr&hr)}:{h:Number(e>>gr&hr)|0,l:Number(e&hr)|0}}function vr(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=_r(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var yr=(e,t)=>BigInt(e>>>0)<<gr|BigInt(t>>>0),br=(e,t,n)=>e>>>n,xr=(e,t,n)=>e<<32-n|t>>>n,Sr=(e,t,n)=>e>>>n|t<<32-n,Cr=(e,t,n)=>e<<32-n|t>>>n,wr=(e,t,n)=>e<<64-n|t>>>n-32,Tr=(e,t,n)=>e>>>n-32|t<<64-n,Er=(e,t)=>t,Dr=(e,t)=>e,Or=(e,t,n)=>e<<n|t>>>32-n,kr=(e,t,n)=>t<<n|e>>>32-n,Ar=(e,t,n)=>t<<n-32|e>>>64-n,jr=(e,t,n)=>e<<n-32|t>>>64-n;function Mr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var J={fromBig:_r,split:vr,toBig:yr,shrSH:br,shrSL:xr,rotrSH:Sr,rotrSL:Cr,rotrBH:wr,rotrBL:Tr,rotr32H:Er,rotr32L:Dr,rotlSH:Or,rotlSL:kr,rotlBH:Ar,rotlBL:jr,add:Mr,add3L:(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),add3H:(e,t,n,r)=>t+n+r+(e/2**32|0)|0,add4L:(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),add4H:(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,add5H:(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,add5L:(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0)},[Nr,Pr]=J.split(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Fr=new Uint32Array(80),Ir=new Uint32Array(80),Lr=class extends mr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Fr[n]=e.getUint32(t),Ir[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Fr[e-15]|0,n=Ir[e-15]|0,r=J.rotrSH(t,n,1)^J.rotrSH(t,n,8)^J.shrSH(t,n,7),i=J.rotrSL(t,n,1)^J.rotrSL(t,n,8)^J.shrSL(t,n,7),a=Fr[e-2]|0,o=Ir[e-2]|0,s=J.rotrSH(a,o,19)^J.rotrBH(a,o,61)^J.shrSH(a,o,6),c=J.rotrSL(a,o,19)^J.rotrBL(a,o,61)^J.shrSL(a,o,6),l=J.add4L(i,c,Ir[e-7],Ir[e-16]);Fr[e]=J.add4H(l,r,s,Fr[e-7],Fr[e-16])|0,Ir[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=J.rotrSH(u,d,14)^J.rotrSH(u,d,18)^J.rotrBH(u,d,41),v=J.rotrSL(u,d,14)^J.rotrSL(u,d,18)^J.rotrBL(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=J.add5L(_,v,b,Pr[e],Ir[e]),S=J.add5H(x,g,t,y,Nr[e],Fr[e]),C=x|0,w=J.rotrSH(n,r,28)^J.rotrBH(n,r,34)^J.rotrBH(n,r,39),T=J.rotrSL(n,r,28)^J.rotrBL(n,r,34)^J.rotrBL(n,r,39),E=n&i^n&o^i&o,D=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=J.add(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let O=J.add3L(C,T,D);n=J.add3H(O,S,w,E),r=O|0}({h:n,l:r}=J.add(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=J.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=J.add(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=J.add(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=J.add(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=J.add(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=J.add(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=J.add(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Fr.fill(0),Ir.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Rr=dr(()=>new Lr),zr=BigInt(0),Br=BigInt(1),Vr=BigInt(2);function Hr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Ur(e){if(!Hr(e))throw Error(`Uint8Array expected`)}function Wr(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}var Gr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Kr(e){Ur(e);let t=``;for(let n=0;n<e.length;n++)t+=Gr[e[n]];return t}function qr(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?zr:BigInt(`0x`+e)}var Jr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Yr(e){if(e>=Jr._0&&e<=Jr._9)return e-Jr._0;if(e>=Jr.A&&e<=Jr.F)return e-(Jr.A-10);if(e>=Jr.a&&e<=Jr.f)return e-(Jr.a-10)}function Xr(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=Yr(e.charCodeAt(i)),a=Yr(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function Zr(e){return qr(Kr(e))}function Qr(e){return Ur(e),qr(Kr(Uint8Array.from(e).reverse()))}function $r(e,t){return Xr(e.toString(16).padStart(t*2,`0`))}function ei(e,t){return $r(e,t).reverse()}function ti(e,t,n){let r;if(typeof t==`string`)try{r=Xr(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Hr(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function ni(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Ur(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}var ri=e=>typeof e==`bigint`&&zr<=e;function ii(e,t,n){return ri(e)&&ri(t)&&ri(n)&&t<=e&&e<n}function ai(e,t,n,r){if(!ii(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function oi(e){let t;for(t=0;e>zr;e>>=Br,t+=1);return t}var si=e=>(Vr<<BigInt(e-1))-Br,ci={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||Hr(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function li(e,t,n={}){let r=(t,n,r)=>{let i=ci[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function ui(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var di=BigInt(0),fi=BigInt(1),pi=BigInt(2),mi=BigInt(3),hi=BigInt(4),gi=BigInt(5),_i=BigInt(8);function vi(e,t){let n=e%t;return n>=di?n:t+n}function yi(e,t,n){if(t<di)throw Error(`invalid exponent, negatives unsupported`);if(n<=di)throw Error(`invalid modulus`);if(n===fi)return di;let r=fi;for(;t>di;)t&fi&&(r=r*e%n),e=e*e%n,t>>=fi;return r}function bi(e,t,n){let r=e;for(;t-- >di;)r*=r,r%=n;return r}function xi(e,t){if(e===di)throw Error(`invert: expected non-zero number`);if(t<=di)throw Error(`invert: expected positive modulus, got `+t);let n=vi(e,t),r=t,i=di,a=fi;for(;n!==di;){let e=r/n,t=r%n,o=i-a*e;r=n,n=t,i=a,a=o}if(r!==fi)throw Error(`invert: does not exist`);return vi(i,t)}function Si(e){let t=(e-fi)/pi,n,r,i;for(n=e-fi,r=0;n%pi===di;n/=pi,r++);for(i=pi;i<e&&yi(i,t,e)!==e-fi;i++)if(i>1e3)throw Error(`Cannot find square root: likely non-prime P`);if(r===1){let t=(e+fi)/hi;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}let a=(n+fi)/pi;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw Error(`Cannot find square root`);let s=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(o,a),u=e.pow(o,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<s&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(c,fi<<BigInt(s-t-1));c=e.sqr(n),l=e.mul(l,n),u=e.mul(u,c),s=t}return l}}function Ci(e){if(e%hi===mi){let t=(e+fi)/hi;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}if(e%_i===gi){let t=(e-gi)/_i;return function(e,n){let r=e.mul(n,pi),i=e.pow(r,t),a=e.mul(n,i),o=e.mul(e.mul(a,pi),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error(`Cannot find square root`);return s}}return Si(e)}var wi=(e,t)=>(vi(e,t)&fi)===fi,Ti=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Ei(e){return li(e,Ti.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Di(e,t,n){if(n<di)throw Error(`invalid exponent, negatives unsupported`);if(n===di)return e.ONE;if(n===fi)return t;let r=e.ONE,i=t;for(;n>di;)n&fi&&(r=e.mul(r,i)),i=e.sqr(i),n>>=fi;return r}function Oi(e,t){let n=Array(t.length),r=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),i=e.inv(r);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),i),n}function ki(e,t){let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Ai(e,t,n=!1,r={}){if(e<=di)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=ki(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:si(i),ZERO:di,ONE:fi,create:t=>vi(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return di<=t&&t<e},is0:e=>e===di,isOdd:e=>(e&fi)===fi,neg:t=>vi(-t,e),eql:(e,t)=>e===t,sqr:t=>vi(t*t,e),add:(t,n)=>vi(t+n,e),sub:(t,n)=>vi(t-n,e),mul:(t,n)=>vi(t*n,e),pow:(e,t)=>Di(s,e,t),div:(t,n)=>vi(t*xi(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>xi(t,e),sqrt:r.sqrt||(t=>(o||=Ci(e),o(s,t))),invertBatch:e=>Oi(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?ei(e,a):$r(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?Qr(e):Zr(e)}});return Object.freeze(s)}var ji=BigInt(0),Mi=BigInt(1);function Ni(e,t){let n=t.negate();return e?n:t}function Pi(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Fi(e,t){return Pi(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}function Ii(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function Li(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}var Ri=new WeakMap,zi=new WeakMap;function Bi(e){return zi.get(e)||1}function Vi(e,t){return{constTimeNegate:Ni,hasPrecomputes(e){return Bi(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ji;)n&Mi&&(r=r.add(i)),i=i.double(),n>>=Mi;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Fi(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let{windows:a,windowSize:o}=Fi(n,t),s=e.ZERO,c=e.BASE,l=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let e=0;e<a;e++){let t=e*o,n=Number(i&l);i>>=d,n>o&&(n-=u,i+=Mi);let a=t,f=t+Math.abs(n)-1,p=e%2!=0,m=n<0;n===0?c=c.add(Ni(p,r[a])):s=s.add(Ni(m,r[f]))}return{p:s,f:c}},wNAFUnsafe(n,r,i,a=e.ZERO){let{windows:o,windowSize:s}=Fi(n,t),c=BigInt(2**n-1),l=2**n,u=BigInt(n);for(let e=0;e<o;e++){let t=e*s;if(i===ji)break;let n=Number(i&c);if(i>>=u,n>s&&(n-=l,i+=Mi),n===0)continue;let o=r[t+Math.abs(n)-1];n<0&&(o=o.negate()),a=a.add(o)}return a},getPrecomputes(e,t,n){let r=Ri.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Ri.set(t,n(r))),r},wNAFCached(e,t,n){let r=Bi(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Bi(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Pi(n,t),zi.set(e,n),Ri.delete(e)}}}function Hi(e,t,n,r){if(Ii(n,e),Li(r,t),n.length!==r.length)throw Error(`arrays of points and scalars must have equal length`);let i=e.ZERO,a=oi(BigInt(n.length)),o=a>12?a-3:a>4?a-2:a?2:1,s=(1<<o)-1,c=Array(s+1).fill(i),l=Math.floor((t.BITS-1)/o)*o,u=i;for(let e=l;e>=0;e-=o){c.fill(i);for(let t=0;t<r.length;t++){let i=r[t],a=Number(i>>BigInt(e)&BigInt(s));c[a]=c[a].add(n[t])}let t=i;for(let e=c.length-1,n=i;e>0;e--)n=n.add(c[e]),t=t.add(n);if(u=u.add(t),e!==0)for(let e=0;e<o;e++)u=u.double()}return u}function Ui(e){return Ei(e.Fp),li(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...ki(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Wi=BigInt(0),Gi=BigInt(1),Ki=BigInt(2),qi=BigInt(8),Ji={zip215:!0};function Yi(e){let t=Ui(e);return li(e,{hash:`function`,a:`bigint`,d:`bigint`,randomBytes:`function`},{adjustScalarBytes:`function`,domain:`function`,uvRatio:`function`,mapToCurve:`function`}),Object.freeze({...t})}function Xi(e){let t=Yi(e),{Fp:n,n:r,prehash:i,hash:a,randomBytes:o,nByteLength:s,h:c}=t,l=Ki<<BigInt(s*8)-Gi,u=n.create,d=Ai(t.n,t.nBitLength),f=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e*n.inv(t))}}catch{return{isValid:!1,value:Wi}}}),p=t.adjustScalarBytes||(e=>e),m=t.domain||((e,t,n)=>{if(Wr(`phflag`,n),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e});function h(e,t){ai(`coordinate `+e,t,Wi,l)}function g(e){if(!(e instanceof y))throw Error(`ExtendedPoint expected`)}let _=ui((e,t)=>{let{ex:r,ey:i,ez:a}=e,o=e.is0();t??=o?qi:n.inv(a);let s=u(r*t),c=u(i*t),l=u(a*t);if(o)return{x:Wi,y:Gi};if(l!==Gi)throw Error(`invZ was invalid`);return{x:s,y:c}}),v=ui(e=>{let{a:n,d:r}=t;if(e.is0())throw Error(`bad point: ZERO`);let{ex:i,ey:a,ez:o,et:s}=e,c=u(i*i),l=u(a*a),d=u(o*o),f=u(d*d);if(u(d*u(u(c*n)+l))!==u(f+u(r*u(c*l))))throw Error(`bad point: equation left != right (1)`);if(u(i*a)!==u(o*s))throw Error(`bad point: equation left != right (2)`);return!0});class y{constructor(e,t,n,r){this.ex=e,this.ey=t,this.ez=n,this.et=r,h(`x`,e),h(`y`,t),h(`z`,n),h(`t`,r),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof y)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return h(`x`,t),h(`y`,n),new y(t,n,Gi,u(t*n))}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.ez));return e.map((e,n)=>e.toAffine(t[n])).map(y.fromAffine)}static msm(e,t){return Hi(y,d,e,t)}_setWindowSize(e){S.setWindowSize(this,e)}assertValidity(){v(this)}equals(e){g(e);let{ex:t,ey:n,ez:r}=this,{ex:i,ey:a,ez:o}=e,s=u(t*o),c=u(i*r),l=u(n*o),d=u(a*r);return s===c&&l===d}is0(){return this.equals(y.ZERO)}negate(){return new y(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=t,{ex:n,ey:r,ez:i}=this,a=u(n*n),o=u(r*r),s=u(Ki*u(i*i)),c=u(e*a),l=n+r,d=u(u(l*l)-a-o),f=c+o,p=f-s,m=c-o,h=u(d*p),g=u(f*m),_=u(d*m);return new y(h,g,u(p*f),_)}add(e){g(e);let{a:n,d:r}=t,{ex:i,ey:a,ez:o,et:s}=this,{ex:c,ey:l,ez:d,et:f}=e;if(n===BigInt(-1)){let e=u((a-i)*(l+c)),t=u((a+i)*(l-c)),n=u(t-e);if(n===Wi)return this.double();let r=u(o*Ki*f),p=u(s*Ki*d),m=p+r,h=t+e,g=p-r,_=u(m*n),v=u(h*g),b=u(m*g);return new y(_,v,u(n*h),b)}let p=u(i*c),m=u(a*l),h=u(s*r*f),_=u(o*d),v=u((i+a)*(c+l)-p-m),b=_-h,x=_+h,S=u(m-n*p),C=u(v*b),w=u(x*S),T=u(v*S);return new y(C,w,u(b*x),T)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,e,y.normalizeZ)}multiply(e){let t=e;ai(`scalar`,t,Gi,r);let{p:n,f:i}=this.wNAF(t);return y.normalizeZ([n,i])[0]}multiplyUnsafe(e,t=y.ZERO){let n=e;return ai(`scalar`,n,Wi,r),n===Wi?x:this.is0()||n===Gi?this:S.wNAFCachedUnsafe(this,n,y.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,r).is0()}toAffine(e){return _(this,e)}clearCofactor(){let{h:e}=t;return e===Gi?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){let{d:i,a}=t,o=n.BYTES;e=ti(`pointHex`,e,o),Wr(`zip215`,r);let s=e.slice(),c=e[o-1];s[o-1]=c&-129;let d=Qr(s);ai(`pointHex.y`,d,Wi,r?l:n.ORDER);let p=u(d*d),{isValid:m,value:h}=f(u(p-Gi),u(i*p-a));if(!m)throw Error(`Point.fromHex: invalid y coordinate`);let g=(h&Gi)===Gi,_=(c&128)!=0;if(!r&&h===Wi&&_)throw Error(`Point.fromHex: x=0 and x_0=1`);return _!==g&&(h=u(-h)),y.fromAffine({x:h,y:d})}static fromPrivateKey(e){return T(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=ei(t,n.BYTES);return r[r.length-1]|=e&Gi?128:0,r}toHex(){return Kr(this.toRawBytes())}}y.BASE=new y(t.Gx,t.Gy,Gi,u(t.Gx*t.Gy)),y.ZERO=new y(Wi,Gi,Gi,Wi);let{BASE:b,ZERO:x}=y,S=Vi(y,s*8);function C(e){return vi(e,r)}function w(e){return C(Qr(e))}function T(e){let t=n.BYTES;e=ti(`private key`,e,t);let r=ti(`hashed private key`,a(e),2*t),i=p(r.slice(0,t)),o=r.slice(t,2*t),s=w(i),c=b.multiply(s);return{head:i,prefix:o,scalar:s,point:c,pointBytes:c.toRawBytes()}}function E(e){return T(e).pointBytes}function D(e=new Uint8Array,...t){return w(a(m(ni(...t),ti(`context`,e),!!i)))}function O(e,t,a={}){e=ti(`message`,e),i&&(e=i(e));let{prefix:o,scalar:s,pointBytes:c}=T(t),l=D(a.context,o,e),u=b.multiply(l).toRawBytes(),d=C(l+D(a.context,u,c,e)*s);return ai(`signature.s`,d,Wi,r),ti(`result`,ni(u,ei(d,n.BYTES)),n.BYTES*2)}let k=Ji;function A(e,t,r,a=k){let{context:o,zip215:s}=a,c=n.BYTES;e=ti(`signature`,e,2*c),t=ti(`message`,t),r=ti(`publicKey`,r,c),s!==void 0&&Wr(`zip215`,s),i&&(t=i(t));let l=Qr(e.slice(c,2*c)),u,d,f;try{u=y.fromHex(r,s),d=y.fromHex(e.slice(0,c),s),f=b.multiplyUnsafe(l)}catch{return!1}if(!s&&u.isSmallOrder())return!1;let p=D(o,d.toRawBytes(),u.toRawBytes(),t);return d.add(u.multiplyUnsafe(p)).subtract(f).clearCofactor().equals(y.ZERO)}return b._setWindowSize(8),{CURVE:t,getPublicKey:E,sign:O,verify:A,ExtendedPoint:y,utils:{getExtendedPublicKey:T,randomPrivateKey:()=>o(n.BYTES),precompute(e=8,t=y.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}}}}var Zi=BigInt(`57896044618658097711785492504343953926634992332820282019728792003956564819949`),Qi=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`),$i=BigInt(1),ea=BigInt(2),ta=BigInt(5),na=BigInt(8);function ra(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=Zi,o=e*e%a*e%a,s=bi(bi(o,ea,a)*o%a,$i,a)*e%a,c=bi(s,ta,a)*s%a,l=bi(c,t,a)*c%a,u=bi(l,n,a)*l%a,d=bi(u,r,a)*u%a;return{pow_p_5_8:bi(bi(bi(bi(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,ea,a)*e%a,b2:o}}function ia(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function aa(e,t){let n=Zi,r=vi(t*t*t,n),i=ra(e*vi(r*r*t,n)).pow_p_5_8,a=vi(e*r*i,n),o=vi(t*a*a,n),s=a,c=vi(a*Qi,n),l=o===e,u=o===vi(-e,n),d=o===vi(-e*Qi,n);return l&&(a=s),(u||d)&&(a=c),wi(a,n)&&(a=vi(-a,n)),{isValid:l||u,value:a}}var oa=Ai(Zi,void 0,!0),sa=Xi({a:BigInt(-1),d:BigInt(`37095705934669439343138083508754565189542113879843219016388785533085940283555`),Fp:oa,n:BigInt(`7237005577332262213973186563042994240857116359379907606001950938285454250989`),h:na,Gx:BigInt(`15112221349535400772501151409588531511454012693041857206046113283949847762202`),Gy:BigInt(`46316835694926478169428394003475163141307993866256225615783033603165251855960`),hash:Rr,randomBytes:fr,adjustScalarBytes:ia,uvRatio:aa}),ca=`EdDSA`,la=`base64url`,ua=`utf8`,da=`utf8`,fa=`base58btc`;function pa(e){return globalThis.Buffer==null?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ma(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?pa(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ha(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=ma(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return pa(n)}function ga(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var _a=ga,va=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},ya=e=>new TextEncoder().encode(e),ba=e=>new TextDecoder().decode(e),xa=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},Sa=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}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 wa(this,e)}},Ca=class{constructor(e){this.decoders=e}or(e){return wa(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},wa=(e,t)=>new Ca({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ta=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new xa(e,t,n),this.decoder=new Sa(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ea=({name:e,prefix:t,encode:n,decode:r})=>new Ta(e,t,n,r),Da=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=_a(n,t);return Ea({prefix:e,name:t,encode:r,decode:e=>va(i(e))})},Oa=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},ka=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},Aa=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Ea({prefix:t,name:e,encode(e){return ka(e,r,n)},decode(t){return Oa(t,r,n,e)}}),ja=Ea({prefix:`\0`,name:`identity`,encode:e=>ba(e),decode:e=>ya(e)}),Ma=Object.freeze({__proto__:null,identity:ja}),Na=Aa({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),Pa=Object.freeze({__proto__:null,base2:Na}),Fa=Aa({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),Ia=Object.freeze({__proto__:null,base8:Fa}),La=Da({prefix:`9`,name:`base10`,alphabet:`0123456789`}),Ra=Object.freeze({__proto__:null,base10:La}),za=Aa({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Ba=Aa({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Va=Object.freeze({__proto__:null,base16:za,base16upper:Ba}),Ha=Aa({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),Ua=Aa({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),Wa=Aa({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),Ga=Aa({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),Ka=Aa({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),qa=Aa({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),Ja=Aa({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),Ya=Aa({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),Xa=Aa({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),Za=Object.freeze({__proto__:null,base32:Ha,base32upper:Ua,base32pad:Wa,base32padupper:Ga,base32hex:Ka,base32hexupper:qa,base32hexpad:Ja,base32hexpadupper:Ya,base32z:Xa}),Qa=Da({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),$a=Da({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),eo=Object.freeze({__proto__:null,base36:Qa,base36upper:$a}),to=Da({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),no=Da({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),ro=Object.freeze({__proto__:null,base58btc:to,base58flickr:no}),io=Aa({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),ao=Aa({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),oo=Aa({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),so=Aa({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),co=Object.freeze({__proto__:null,base64:io,base64pad:ao,base64url:oo,base64urlpad:so}),lo=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),uo=lo.reduce((e,t,n)=>(e[n]=t,e),[]),fo=lo.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function po(e){return e.reduce((e,t)=>(e+=uo[t],e),``)}function mo(e){let t=[];for(let n of e){let e=fo[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var ho=Ea({prefix:`🚀`,name:`base256emoji`,encode:po,decode:mo}),go=Object.freeze({__proto__:null,base256emoji:ho}),_o=xo,vo=128,yo=-128,bo=2**31;function xo(e,t,n){t||=[],n||=0;for(var r=n;e>=bo;)t[n++]=e&255|vo,e/=128;for(;e&yo;)t[n++]=e&255|vo,e>>>=7;return t[n]=e|0,xo.bytes=n-r+1,t}var So=To,Co=128,wo=127;function To(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw To.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&wo)<<r:(a&wo)*2**r,r+=7}while(a>=Co);return To.bytes=i-t,n}var Eo=2**7,Do=2**14,Oo=2**21,ko=2**28,Ao=2**35,jo=2**42,Mo=2**49,No=2**56,Po=2**63,Fo={encode:_o,decode:So,encodingLength:function(e){return e<Eo?1:e<Do?2:e<Oo?3:e<ko?4:e<Ao?5:e<jo?6:e<Mo?7:e<No?8:e<Po?9:10}},Io=(e,t,n=0)=>(Fo.encode(e,t,n),t),Lo=e=>Fo.encodingLength(e),Ro=(e,t)=>{let n=t.byteLength,r=Lo(e),i=r+Lo(n),a=new Uint8Array(i+n);return Io(e,a,0),Io(n,a,r),a.set(t,i),new zo(e,n,t,a)},zo=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},Bo=({name:e,code:t,encode:n})=>new Vo(e,t,n),Vo=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Ro(this.code,t):t.then(e=>Ro(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},Ho=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Uo=Bo({name:`sha2-256`,code:18,encode:Ho(`SHA-256`)}),Wo=Bo({name:`sha2-512`,code:19,encode:Ho(`SHA-512`)}),Go=Object.freeze({__proto__:null,sha256:Uo,sha512:Wo}),Ko=0,qo=`identity`,Jo=va,Yo=Object.freeze({__proto__:null,identity:{code:Ko,name:qo,encode:Jo,digest:e=>Ro(Ko,Jo(e))}});new TextEncoder,new TextDecoder;var Xo={...Ma,...Pa,...Ia,...Ra,...Va,...Za,...eo,...ro,...co,...go};({...Go,...Yo});function Zo(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var Qo=Zo(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),$o=Zo(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=ma(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),es={utf8:Qo,"utf-8":Qo,hex:Xo.base16,latin1:$o,ascii:$o,binary:$o,...Xo};function ts(e,t=`utf8`){let n=es[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf8`):n.encoder.encode(e).substring(1)}function ns(e,t=`utf8`){let n=es[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?pa(globalThis.Buffer.from(e,`utf-8`)):n.decoder.decode(`${n.prefix}${e}`)}function rs(e){return pe(ts(ns(e,la),ua))}function is(e){return ts(ns(f(e),ua),la)}function as(e){return[`did`,`key`,`z`+ts(ha([ns(`K36`,fa),e]),fa)].join(`:`)}function os(e){return ts(e,la)}function ss(e){return ns(e,la)}function cs(e){return ns([is(e.header),is(e.payload)].join(`.`),da)}function ls(e){return[is(e.header),is(e.payload),os(e.signature)].join(`.`)}function us(e){let t=e.split(`.`);return{header:rs(t[0]),payload:rs(t[1]),signature:ss(t[2]),data:ns(t.slice(0,2).join(`.`),da)}}function ds(e=fr(32)){let t=sa.getPublicKey(e);return{secretKey:ha([e,t]),publicKey:t}}async function fs(e,t,n,r,i=(0,q.fromMiliseconds)(Date.now())){let a={alg:ca,typ:`JWT`},o={iss:as(r.publicKey),sub:e,aud:t,iat:i,exp:i+n},s=cs({header:a,payload:o});return ls({header:a,payload:o,signature:sa.sign(s,r.secretKey.slice(0,32))})}var ps=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},ms=function(){function e(e,t,n){this.name=e,this.version=t,this.os=n,this.type=`browser`}return e}(),hs=function(){function e(e){this.version=e,this.type=`node`,this.name=`node`,this.os=process.platform}return e}(),gs=function(){function e(e,t,n,r){this.name=e,this.version=t,this.os=n,this.bot=r,this.type=`bot-device`}return e}(),_s=function(){function e(){this.type=`bot`,this.bot=!0,this.name=`bot`,this.version=null,this.os=null}return e}(),vs=function(){function e(){this.type=`react-native`,this.name=`react-native`,this.version=null,this.os=null}return e}(),ys=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,bs=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,xs=3,Ss=[[`aol`,/AOLShield\/([0-9\._]+)/],[`edge`,/Edge\/([0-9\._]+)/],[`edge-ios`,/EdgiOS\/([0-9\._]+)/],[`yandexbrowser`,/YaBrowser\/([0-9\._]+)/],[`kakaotalk`,/KAKAOTALK\s([0-9\.]+)/],[`samsung`,/SamsungBrowser\/([0-9\.]+)/],[`silk`,/\bSilk\/([0-9._-]+)\b/],[`miui`,/MiuiBrowser\/([0-9\.]+)$/],[`beaker`,/BeakerBrowser\/([0-9\.]+)/],[`edge-chromium`,/EdgA?\/([0-9\.]+)/],[`chromium-webview`,/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],[`chrome`,/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],[`phantomjs`,/PhantomJS\/([0-9\.]+)(:?\s|$)/],[`crios`,/CriOS\/([0-9\.]+)(:?\s|$)/],[`firefox`,/Firefox\/([0-9\.]+)(?:\s|$)/],[`fxios`,/FxiOS\/([0-9\.]+)/],[`opera-mini`,/Opera Mini.*Version\/([0-9\.]+)/],[`opera`,/Opera\/([0-9\.]+)(?:\s|$)/],[`opera`,/OPR\/([0-9\.]+)(:?\s|$)/],[`pie`,/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],[`pie`,/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],[`netfront`,/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],[`ie`,/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],[`ie`,/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],[`ie`,/MSIE\s(7\.0)/],[`bb10`,/BB10;\sTouch.*Version\/([0-9\.]+)/],[`android`,/Android\s([0-9\.]+)/],[`ios`,/Version\/([0-9\._]+).*Mobile.*Safari.*/],[`safari`,/Version\/([0-9\._]+).*Safari/],[`facebook`,/FB[AS]V\/([0-9\.]+)/],[`instagram`,/Instagram\s([0-9\.]+)/],[`ios-webview`,/AppleWebKit\/([0-9\.]+).*Mobile/],[`ios-webview`,/AppleWebKit\/([0-9\.]+).*Gecko\)$/],[`curl`,/^curl\/([0-9\.]+)$/],[`searchbot`,ys]],Cs=[[`iOS`,/iP(hone|od|ad)/],[`Android OS`,/Android/],[`BlackBerry OS`,/BlackBerry|BB10/],[`Windows Mobile`,/IEMobile/],[`Amazon OS`,/Kindle/],[`Windows 3.11`,/Win16/],[`Windows 95`,/(Windows 95)|(Win95)|(Windows_95)/],[`Windows 98`,/(Windows 98)|(Win98)/],[`Windows 2000`,/(Windows NT 5.0)|(Windows 2000)/],[`Windows XP`,/(Windows NT 5.1)|(Windows XP)/],[`Windows Server 2003`,/(Windows NT 5.2)/],[`Windows Vista`,/(Windows NT 6.0)/],[`Windows 7`,/(Windows NT 6.1)/],[`Windows 8`,/(Windows NT 6.2)/],[`Windows 8.1`,/(Windows NT 6.3)/],[`Windows 10`,/(Windows NT 10.0)/],[`Windows ME`,/Windows ME/],[`Windows CE`,/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],[`Open BSD`,/OpenBSD/],[`Sun OS`,/SunOS/],[`Chrome OS`,/CrOS/],[`Linux`,/(Linux)|(X11)/],[`Mac OS`,/(Mac_PowerPC)|(Macintosh)/],[`QNX`,/QNX/],[`BeOS`,/BeOS/],[`OS/2`,/OS\/2/]];function ws(e){return e?Es(e):typeof document>`u`&&typeof navigator<`u`&&navigator.product===`ReactNative`?new vs:typeof navigator<`u`?Es(navigator.userAgent):Os()}function Ts(e){return e!==``&&Ss.reduce(function(t,n){var r=n[0],i=n[1];if(t)return t;var a=i.exec(e);return!!a&&[r,a]},!1)}function Es(e){var t=Ts(e);if(!t)return null;var n=t[0],r=t[1];if(n===`searchbot`)return new _s;var i=r[1]&&r[1].split(`.`).join(`_`).split(`_`).slice(0,3);i?i.length<xs&&(i=ps(ps([],i,!0),ks(xs-i.length),!0)):i=[];var a=i.join(`.`),o=Ds(e),s=bs.exec(e);return s&&s[1]?new gs(n,a,o,s[1]):new ms(n,a,o)}function Ds(e){for(var t=0,n=Cs.length;t<n;t++){var r=Cs[t],i=r[0];if(r[1].exec(e))return i}return null}function Os(){return typeof process<`u`&&process.version?new hs(process.version.slice(1)):null}function ks(e){for(var t=[],n=0;n<e;n++)t.push(`0`);return t}var As=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getLocalStorage=e.getLocalStorageOrThrow=e.getCrypto=e.getCryptoOrThrow=e.getLocation=e.getLocationOrThrow=e.getNavigator=e.getNavigatorOrThrow=e.getDocument=e.getDocumentOrThrow=e.getFromWindowOrThrow=e.getFromWindow=void 0;function t(e){let t;return typeof window<`u`&&window[e]!==void 0&&(t=window[e]),t}e.getFromWindow=t;function n(e){let n=t(e);if(!n)throw Error(`${e} is not defined in Window`);return n}e.getFromWindowOrThrow=n;function r(){return n(`document`)}e.getDocumentOrThrow=r;function i(){return t(`document`)}e.getDocument=i;function a(){return n(`navigator`)}e.getNavigatorOrThrow=a;function o(){return t(`navigator`)}e.getNavigator=o;function s(){return n(`location`)}e.getLocationOrThrow=s;function c(){return t(`location`)}e.getLocation=c;function l(){return n(`crypto`)}e.getCryptoOrThrow=l;function u(){return t(`crypto`)}e.getCrypto=u;function d(){return n(`localStorage`)}e.getLocalStorageOrThrow=d;function f(){return t(`localStorage`)}e.getLocalStorage=f})),js=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getWindowMetadata=void 0;var t=As();function n(){let e,n;try{e=t.getDocumentOrThrow(),n=t.getLocationOrThrow()}catch{return null}function r(){let t=e.getElementsByTagName(`link`),r=[];for(let e=0;e<t.length;e++){let i=t[e],a=i.getAttribute(`rel`);if(a&&a.toLowerCase().indexOf(`icon`)>-1){let e=i.getAttribute(`href`);if(e)if(e.toLowerCase().indexOf(`https:`)===-1&&e.toLowerCase().indexOf(`http:`)===-1&&e.indexOf(`//`)!==0){let t=n.protocol+`//`+n.host;if(e.indexOf(`/`)===0)t+=e;else{let r=n.pathname.split(`/`);r.pop();let i=r.join(`/`);t+=i+`/`+e}r.push(t)}else if(e.indexOf(`//`)===0){let t=n.protocol+e;r.push(t)}else r.push(e)}}return r}function i(...t){let n=e.getElementsByTagName(`meta`);for(let e=0;e<n.length;e++){let r=n[e],i=[`itemprop`,`property`,`name`].map(e=>r.getAttribute(e)).filter(e=>e?t.includes(e):!1);if(i.length&&i){let e=r.getAttribute(`content`);if(e)return e}}return``}function a(){let t=i(`name`,`og:site_name`,`og:title`,`twitter:title`);return t||=e.title,t}function o(){return i(`description`,`og:description`,`twitter:description`,`keywords`)}let s=a();return{description:o(),url:n.origin,icons:r(),name:s}}e.getWindowMetadata=n})),Ms=As(),Ns=js();function Ps(e){if(e.length>=255)throw TypeError(`Alphabet too long`);let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let n=0;n<e.length;n++){let r=e.charAt(n),i=r.charCodeAt(0);if(t[i]!==255)throw TypeError(r+` is ambiguous`);t[i]=n}let n=e.length,r=e.charAt(0),i=Math.log(n)/Math.log(256),a=Math.log(256)/Math.log(n);function o(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;let i=0,o=0,s=0,c=t.length;for(;s!==c&&t[s]===0;)s++,i++;let l=(c-s)*a+1>>>0,u=new Uint8Array(l);for(;s!==c;){let e=t[s],r=0;for(let t=l-1;(e!==0||r<o)&&t!==-1;t--,r++)e+=256*u[t]>>>0,u[t]=e%n>>>0,e=e/n>>>0;if(e!==0)throw Error(`Non-zero carry`);o=r,s++}let d=l-o;for(;d!==l&&u[d]===0;)d++;let f=r.repeat(i);for(;d<l;++d)f+=e.charAt(u[d]);return f}function s(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;let a=0,o=0,s=0;for(;e[a]===r;)o++,a++;let c=(e.length-a)*i+1>>>0,l=new Uint8Array(c);for(;a<e.length;){let r=e.charCodeAt(a);if(r>255)return;let i=t[r];if(i===255)return;let o=0;for(let e=c-1;(i!==0||o<s)&&e!==-1;e--,o++)i+=n*l[e]>>>0,l[e]=i%256>>>0,i=i/256>>>0;if(i!==0)throw Error(`Non-zero carry`);s=o,a++}let u=c-s;for(;u!==c&&l[u]===0;)u++;let d=new Uint8Array(o+(c-u)),f=o;for(;u!==c;)d[f++]=l[u++];return d}function c(e){let t=s(e);if(t)return t;throw Error(`Non-base`+n+` character`)}return{encode:o,decodeUnsafe:s,decode:c}}var Fs=Ps(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`);function Is(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function Ls(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=Is(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Rs(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var zs=Rs,Bs=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},Vs=e=>new TextEncoder().encode(e),Hs=e=>new TextDecoder().decode(e),Us=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},Ws=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}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 Ks(this,e)}},Gs=class{constructor(e){this.decoders=e}or(e){return Ks(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ks=(e,t)=>new Gs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),qs=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new Us(e,t,n),this.decoder=new Ws(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Js=({name:e,prefix:t,encode:n,decode:r})=>new qs(e,t,n,r),Ys=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=zs(n,t);return Js({prefix:e,name:t,encode:r,decode:e=>Bs(i(e))})},Xs=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},Zs=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},Qs=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Js({prefix:t,name:e,encode(e){return Zs(e,r,n)},decode(t){return Xs(t,r,n,e)}}),$s=r({identity:()=>ec}),ec=Js({prefix:`\0`,name:`identity`,encode:e=>Hs(e),decode:e=>Vs(e)}),tc=r({base2:()=>nc}),nc=Qs({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),rc=r({base8:()=>ic}),ic=Qs({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),ac=r({base10:()=>oc}),oc=Ys({prefix:`9`,name:`base10`,alphabet:`0123456789`}),sc=r({base16:()=>cc,base16upper:()=>lc}),cc=Qs({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),lc=Qs({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),uc=r({base32:()=>dc,base32hex:()=>hc,base32hexpad:()=>_c,base32hexpadupper:()=>vc,base32hexupper:()=>gc,base32pad:()=>pc,base32padupper:()=>mc,base32upper:()=>fc,base32z:()=>yc}),dc=Qs({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),fc=Qs({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),pc=Qs({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),mc=Qs({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),hc=Qs({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),gc=Qs({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),_c=Qs({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),vc=Qs({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),yc=Qs({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),bc=r({base36:()=>xc,base36upper:()=>Sc}),xc=Ys({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),Sc=Ys({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),Cc=r({base58btc:()=>wc,base58flickr:()=>Tc}),wc=Ys({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),Tc=Ys({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),Ec=r({base64:()=>Dc,base64pad:()=>Oc,base64url:()=>kc,base64urlpad:()=>Ac}),Dc=Qs({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),Oc=Qs({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),kc=Qs({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),Ac=Qs({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),jc=r({base256emoji:()=>Lc}),Mc=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),Nc=Mc.reduce((e,t,n)=>(e[n]=t,e),[]),Pc=Mc.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function Fc(e){return e.reduce((e,t)=>(e+=Nc[t],e),``)}function Ic(e){let t=[];for(let n of e){let e=Pc[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var Lc=Js({prefix:`🚀`,name:`base256emoji`,encode:Fc,decode:Ic}),Rc=Hc,zc=128,Bc=-128,Vc=2**31;function Hc(e,t,n){t||=[],n||=0;for(var r=n;e>=Vc;)t[n++]=e&255|zc,e/=128;for(;e&Bc;)t[n++]=e&255|zc,e>>>=7;return t[n]=e|0,Hc.bytes=n-r+1,t}var Uc=Kc,Wc=128,Gc=127;function Kc(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw Kc.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&Gc)<<r:(a&Gc)*2**r,r+=7}while(a>=Wc);return Kc.bytes=i-t,n}var qc=2**7,Jc=2**14,Yc=2**21,Xc=2**28,Zc=2**35,Qc=2**42,$c=2**49,el=2**56,tl=2**63,nl={encode:Rc,decode:Uc,encodingLength:function(e){return e<qc?1:e<Jc?2:e<Yc?3:e<Xc?4:e<Zc?5:e<Qc?6:e<$c?7:e<el?8:e<tl?9:10}},rl=(e,t,n=0)=>(nl.encode(e,t,n),t),il=e=>nl.encodingLength(e),al=(e,t)=>{let n=t.byteLength,r=il(e),i=r+il(n),a=new Uint8Array(i+n);return rl(e,a,0),rl(n,a,r),a.set(t,i),new ol(e,n,t,a)},ol=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},sl=({name:e,code:t,encode:n})=>new cl(e,t,n),cl=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?al(this.code,t):t.then(e=>al(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},ll=r({sha256:()=>dl,sha512:()=>fl}),ul=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),dl=sl({name:`sha2-256`,code:18,encode:ul(`SHA-256`)}),fl=sl({name:`sha2-512`,code:19,encode:ul(`SHA-512`)}),pl=r({identity:()=>_l}),ml=0,hl=`identity`,gl=Bs,_l={code:ml,name:hl,encode:gl,digest:e=>al(ml,gl(e))};new TextEncoder,new TextDecoder;var vl={...$s,...tc,...rc,...ac,...sc,...uc,...bc,...Cc,...Ec,...jc};({...ll,...pl});function yl(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var bl=yl(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),xl=yl(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=Is(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),Sl={utf8:bl,"utf-8":bl,hex:vl.base16,latin1:xl,ascii:xl,binary:xl,...vl};function Cl(e,t=`utf8`){let n=Sl[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}function wl(e,t=`utf8`){let n=Sl[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf8`):n.encoder.encode(e).substring(1)}var Tl=r({author:()=>Pl,bugs:()=>Fl,default:()=>zl,dependencies:()=>Rl,description:()=>Ol,devDependencies:()=>Ll,files:()=>Al,homepage:()=>Il,keywords:()=>Nl,license:()=>`MIT`,main:()=>kl,name:()=>El,repository:()=>Ml,scripts:()=>jl,version:()=>Dl}),El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl=t((()=>{El=`elliptic`,Dl=`6.6.1`,Ol=`EC cryptography`,kl=`lib/elliptic.js`,Al=[`lib`],jl={lint:`eslint lib test`,"lint:fix":`npm run lint -- --fix`,unit:`istanbul test _mocha --reporter=spec test/index.js`,test:`npm run lint && npm run unit`,version:`grunt dist && git add dist/`},Ml={type:`git`,url:`git@github.com:indutny/elliptic`},Nl=[`EC`,`Elliptic`,`curve`,`Cryptography`],Pl=`Fedor Indutny <fedor@indutny.com>`,Fl={url:`https://github.com/indutny/elliptic/issues`},Il=`https://github.com/indutny/elliptic`,Ll={brfs:`^2.0.2`,coveralls:`^3.1.0`,eslint:`^7.6.0`,grunt:`^1.2.1`,"grunt-browserify":`^5.3.0`,"grunt-cli":`^1.3.2`,"grunt-contrib-connect":`^3.0.0`,"grunt-contrib-copy":`^1.0.0`,"grunt-contrib-uglify":`^5.0.0`,"grunt-mocha-istanbul":`^5.0.2`,"grunt-saucelabs":`^9.0.1`,istanbul:`^0.4.5`,mocha:`^8.0.1`},Rl={"bn.js":`^4.11.9`,brorand:`^1.1.0`,"hash.js":`^1.0.0`,"hmac-drbg":`^1.0.1`,inherits:`^2.0.4`,"minimalistic-assert":`^1.0.1`,"minimalistic-crypto-utils":`^1.0.1`},zl={name:El,version:Dl,description:Ol,main:kl,files:Al,scripts:jl,repository:Ml,keywords:Nl,author:Pl,license:`MIT`,bugs:Fl,homepage:Il,devDependencies:Ll,dependencies:Rl}})),Vl=i(((e,t)=>{(function(e,t){function n(e,t){if(!e)throw Error(t||`Assertion failed`)}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,e!==null&&((t===`le`||t===`be`)&&(n=t,t=10),this._init(e||0,t||10,n||`be`))}typeof e==`object`?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;var a;try{a=typeof window<`u`&&window.Buffer!==void 0?window.Buffer:l().Buffer}catch{}i.isBN=function(e){return e instanceof i?!0:typeof e==`object`&&!!e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if(typeof e==`number`)return this._initNumber(e,t,r);if(typeof e==`object`)return this._initArray(e,t,r);t===`hex`&&(t=16),n(t===(t|0)&&t>=2&&t<=36),e=e.toString().replace(/\s+/g,``);var i=0;e[0]===`-`&&(i++,this.negative=1),i<e.length&&(t===16?this._parseHex(e,i,r):(this._parseBase(e,t,i),r===`le`&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[e&67108863],this.length=1):e<4503599627370496?(this.words=[e&67108863,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[e&67108863,e/67108864&67108863,1],this.length=3),r===`le`&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n(typeof e.length==`number`),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(r===`be`)for(i=e.length-1,a=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,s+=24,s>=26&&(s-=26,a++);else if(r===`le`)for(i=0,a=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,s+=24,s>=26&&(s-=26,a++);return this.strip()};function o(e,t){var n=e.charCodeAt(t);return n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function s(e,t,n){var r=o(e,n);return n-1>=t&&(r|=o(e,n-1)<<4),r}i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i=0,a=0,o;if(n===`be`)for(r=e.length-1;r>=t;r-=2)o=s(e,t,r)<<i,this.words[a]|=o&67108863,i>=18?(i-=18,a+=1,this.words[a]|=o>>>26):i+=8;else for(r=(e.length-t)%2==0?t+1:t;r<e.length;r+=2)o=s(e,t,r)<<i,this.words[a]|=o&67108863,i>=18?(i-=18,a+=1,this.words[a]|=o>>>26):i+=8;this.strip()};function c(e,t,n,r){for(var i=0,a=Math.min(e.length,n),o=t;o<a;o++){var s=e.charCodeAt(o)-48;i*=r,s>=49?i+=s-49+10:s>=17?i+=s-17+10:i+=s}return i}i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var a=e.length-n,o=a%r,s=Math.min(a,a-o)+n,l=0,u=n;u<s;u+=r)l=c(e,u,u+r,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(o!==0){var d=1;for(l=c(e,u,e.length,t),u=0;u<o;u++)d*=t;this.imuln(d),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this.strip()},i.prototype.copy=function(e){e.words=Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?`<BN-R: `:`<BN: `)+this.toString(16)+`>`};var u=`.0.00.000.0000.00000.000000.0000000.00000000.000000000.0000000000.00000000000.000000000000.0000000000000.00000000000000.000000000000000.0000000000000000.00000000000000000.000000000000000000.0000000000000000000.00000000000000000000.000000000000000000000.0000000000000000000000.00000000000000000000000.000000000000000000000000.0000000000000000000000000`.split(`.`),d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(e,t){e||=10,t=t|0||1;var r;if(e===16||e===`hex`){r=``;for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],c=((s<<i|a)&16777215).toString(16);a=s>>>24-i&16777215,i+=2,i>=26&&(i-=26,o--),r=a!==0||o!==this.length-1?u[6-c.length]+c+r:c+r}for(a!==0&&(r=a.toString(16)+r);r.length%t!==0;)r=`0`+r;return this.negative!==0&&(r=`-`+r),r}if(e===(e|0)&&e>=2&&e<=36){var l=d[e],p=f[e];r=``;var m=this.clone();for(m.negative=0;!m.isZero();){var h=m.modn(p).toString(e);m=m.idivn(p),r=m.isZero()?h+r:u[l-h.length]+h+r}for(this.isZero()&&(r=`0`+r);r.length%t!==0;)r=`0`+r;return this.negative!==0&&(r=`-`+r),r}n(!1,`Base should be between 2 and 36`)},i.prototype.toNumber=function(){var e=this.words[0];return this.length===2?e+=this.words[1]*67108864:this.length===3&&this.words[2]===1?e+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,`Number can only safely store up to 53 bits`),this.negative===0?e:-e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return n(a!==void 0),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,`byte array longer than desired length`),n(a>0,`Requested array length <= 0`),this.strip();var o=t===`le`,s=new e(a),c,l,u=this.clone();if(o){for(l=0;!u.isZero();l++)c=u.andln(255),u.iushrn(8),s[l]=c;for(;l<a;l++)s[l]=0}else{for(l=0;l<a-i;l++)s[l]=0;for(l=0;!u.isZero();l++)c=u.andln(255),u.iushrn(8),s[a-l-1]=c}return s},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(e===0)return 26;var t=e,n=0;return t&8191||(n+=13,t>>>=13),t&127||(n+=7,t>>>=7),t&15||(n+=4,t>>>=4),t&3||(n+=2,t>>>=2),t&1||n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t};function p(e){for(var t=Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=(e.words[r]&1<<i)>>>i}return t}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,n!==26)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return this.negative===0?this.clone():this.abs().inotn(e).iaddn(1)},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return this.negative!==0},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},i.prototype.ior=function(e){return n((this.negative|e.negative)===0),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){for(var t=this.length>e.length?e:this,n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this.strip()},i.prototype.iand=function(e){return n((this.negative|e.negative)===0),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},i.prototype.ixor=function(e){return n((this.negative|e.negative)===0),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n(typeof e==`number`&&e>=0);var t=Math.ceil(e/26)|0,r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=~this.words[i]&67108863;return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n(typeof e==`number`&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),t?this.words[r]=this.words[r]|1<<i:this.words[r]=this.words[r]&~(1<<i),this.strip()},i.prototype.iadd=function(e){var t;if(this.negative!==0&&e.negative===0)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(this.negative===0&&e.negative!==0)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();var n,r;this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,a=0;a<r.length;a++)t=(n.words[a]|0)+(r.words[a]|0)+i,this.words[a]=t&67108863,i=t>>>26;for(;i!==0&&a<n.length;a++)t=(n.words[a]|0)+i,this.words[a]=t&67108863,i=t>>>26;if(this.length=n.length,i!==0)this.words[this.length]=i,this.length++;else if(n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this},i.prototype.add=function(e){var t;return e.negative!==0&&this.negative===0?(e.negative=0,t=this.sub(e),e.negative^=1,t):e.negative===0&&this.negative!==0?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n=this.cmp(e);if(n===0)return this.negative=0,this.length=1,this.words[0]=0,this;var r,i;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,o=0;o<i.length;o++)t=(r.words[o]|0)-(i.words[o]|0)+a,a=t>>26,this.words[o]=t&67108863;for(;a!==0&&o<r.length;o++)t=(r.words[o]|0)+a,a=t>>26,this.words[o]=t&67108863;if(a===0&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(e){return this.clone().isub(e)};function m(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=e.words[0]|0,a=t.words[0]|0,o=i*a,s=o&67108863,c=o/67108864|0;n.words[0]=s;for(var l=1;l<r;l++){for(var u=c>>>26,d=c&67108863,f=Math.min(l,t.length-1),p=Math.max(0,l-e.length+1);p<=f;p++){var m=l-p|0;i=e.words[m]|0,a=t.words[p]|0,o=i*a+d,u+=o/67108864|0,d=o&67108863}n.words[l]=d|0,c=u|0}return c===0?n.length--:n.words[l]=c|0,n.strip()}var h=function(e,t,n){var r=e.words,i=t.words,a=n.words,o=0,s,c,l,u=r[0]|0,d=u&8191,f=u>>>13,p=r[1]|0,m=p&8191,h=p>>>13,g=r[2]|0,_=g&8191,v=g>>>13,y=r[3]|0,b=y&8191,x=y>>>13,S=r[4]|0,C=S&8191,w=S>>>13,T=r[5]|0,E=T&8191,D=T>>>13,O=r[6]|0,k=O&8191,A=O>>>13,j=r[7]|0,M=j&8191,N=j>>>13,P=r[8]|0,F=P&8191,I=P>>>13,L=r[9]|0,R=L&8191,z=L>>>13,B=i[0]|0,V=B&8191,H=B>>>13,ee=i[1]|0,U=ee&8191,W=ee>>>13,te=i[2]|0,ne=te&8191,re=te>>>13,ie=i[3]|0,G=ie&8191,ae=ie>>>13,oe=i[4]|0,se=oe&8191,ce=oe>>>13,le=i[5]|0,ue=le&8191,de=le>>>13,fe=i[6]|0,pe=fe&8191,K=fe>>>13,me=i[7]|0,he=me&8191,ge=me>>>13,_e=i[8]|0,ve=_e&8191,ye=_e>>>13,be=i[9]|0,xe=be&8191,Se=be>>>13;n.negative=e.negative^t.negative,n.length=19,s=Math.imul(d,V),c=Math.imul(d,H),c=c+Math.imul(f,V)|0,l=Math.imul(f,H);var Ce=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,s=Math.imul(m,V),c=Math.imul(m,H),c=c+Math.imul(h,V)|0,l=Math.imul(h,H),s=s+Math.imul(d,U)|0,c=c+Math.imul(d,W)|0,c=c+Math.imul(f,U)|0,l=l+Math.imul(f,W)|0;var we=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(we>>>26)|0,we&=67108863,s=Math.imul(_,V),c=Math.imul(_,H),c=c+Math.imul(v,V)|0,l=Math.imul(v,H),s=s+Math.imul(m,U)|0,c=c+Math.imul(m,W)|0,c=c+Math.imul(h,U)|0,l=l+Math.imul(h,W)|0,s=s+Math.imul(d,ne)|0,c=c+Math.imul(d,re)|0,c=c+Math.imul(f,ne)|0,l=l+Math.imul(f,re)|0;var Te=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Te>>>26)|0,Te&=67108863,s=Math.imul(b,V),c=Math.imul(b,H),c=c+Math.imul(x,V)|0,l=Math.imul(x,H),s=s+Math.imul(_,U)|0,c=c+Math.imul(_,W)|0,c=c+Math.imul(v,U)|0,l=l+Math.imul(v,W)|0,s=s+Math.imul(m,ne)|0,c=c+Math.imul(m,re)|0,c=c+Math.imul(h,ne)|0,l=l+Math.imul(h,re)|0,s=s+Math.imul(d,G)|0,c=c+Math.imul(d,ae)|0,c=c+Math.imul(f,G)|0,l=l+Math.imul(f,ae)|0;var Ee=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,s=Math.imul(C,V),c=Math.imul(C,H),c=c+Math.imul(w,V)|0,l=Math.imul(w,H),s=s+Math.imul(b,U)|0,c=c+Math.imul(b,W)|0,c=c+Math.imul(x,U)|0,l=l+Math.imul(x,W)|0,s=s+Math.imul(_,ne)|0,c=c+Math.imul(_,re)|0,c=c+Math.imul(v,ne)|0,l=l+Math.imul(v,re)|0,s=s+Math.imul(m,G)|0,c=c+Math.imul(m,ae)|0,c=c+Math.imul(h,G)|0,l=l+Math.imul(h,ae)|0,s=s+Math.imul(d,se)|0,c=c+Math.imul(d,ce)|0,c=c+Math.imul(f,se)|0,l=l+Math.imul(f,ce)|0;var De=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(De>>>26)|0,De&=67108863,s=Math.imul(E,V),c=Math.imul(E,H),c=c+Math.imul(D,V)|0,l=Math.imul(D,H),s=s+Math.imul(C,U)|0,c=c+Math.imul(C,W)|0,c=c+Math.imul(w,U)|0,l=l+Math.imul(w,W)|0,s=s+Math.imul(b,ne)|0,c=c+Math.imul(b,re)|0,c=c+Math.imul(x,ne)|0,l=l+Math.imul(x,re)|0,s=s+Math.imul(_,G)|0,c=c+Math.imul(_,ae)|0,c=c+Math.imul(v,G)|0,l=l+Math.imul(v,ae)|0,s=s+Math.imul(m,se)|0,c=c+Math.imul(m,ce)|0,c=c+Math.imul(h,se)|0,l=l+Math.imul(h,ce)|0,s=s+Math.imul(d,ue)|0,c=c+Math.imul(d,de)|0,c=c+Math.imul(f,ue)|0,l=l+Math.imul(f,de)|0;var Oe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,s=Math.imul(k,V),c=Math.imul(k,H),c=c+Math.imul(A,V)|0,l=Math.imul(A,H),s=s+Math.imul(E,U)|0,c=c+Math.imul(E,W)|0,c=c+Math.imul(D,U)|0,l=l+Math.imul(D,W)|0,s=s+Math.imul(C,ne)|0,c=c+Math.imul(C,re)|0,c=c+Math.imul(w,ne)|0,l=l+Math.imul(w,re)|0,s=s+Math.imul(b,G)|0,c=c+Math.imul(b,ae)|0,c=c+Math.imul(x,G)|0,l=l+Math.imul(x,ae)|0,s=s+Math.imul(_,se)|0,c=c+Math.imul(_,ce)|0,c=c+Math.imul(v,se)|0,l=l+Math.imul(v,ce)|0,s=s+Math.imul(m,ue)|0,c=c+Math.imul(m,de)|0,c=c+Math.imul(h,ue)|0,l=l+Math.imul(h,de)|0,s=s+Math.imul(d,pe)|0,c=c+Math.imul(d,K)|0,c=c+Math.imul(f,pe)|0,l=l+Math.imul(f,K)|0;var ke=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(ke>>>26)|0,ke&=67108863,s=Math.imul(M,V),c=Math.imul(M,H),c=c+Math.imul(N,V)|0,l=Math.imul(N,H),s=s+Math.imul(k,U)|0,c=c+Math.imul(k,W)|0,c=c+Math.imul(A,U)|0,l=l+Math.imul(A,W)|0,s=s+Math.imul(E,ne)|0,c=c+Math.imul(E,re)|0,c=c+Math.imul(D,ne)|0,l=l+Math.imul(D,re)|0,s=s+Math.imul(C,G)|0,c=c+Math.imul(C,ae)|0,c=c+Math.imul(w,G)|0,l=l+Math.imul(w,ae)|0,s=s+Math.imul(b,se)|0,c=c+Math.imul(b,ce)|0,c=c+Math.imul(x,se)|0,l=l+Math.imul(x,ce)|0,s=s+Math.imul(_,ue)|0,c=c+Math.imul(_,de)|0,c=c+Math.imul(v,ue)|0,l=l+Math.imul(v,de)|0,s=s+Math.imul(m,pe)|0,c=c+Math.imul(m,K)|0,c=c+Math.imul(h,pe)|0,l=l+Math.imul(h,K)|0,s=s+Math.imul(d,he)|0,c=c+Math.imul(d,ge)|0,c=c+Math.imul(f,he)|0,l=l+Math.imul(f,ge)|0;var Ae=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,s=Math.imul(F,V),c=Math.imul(F,H),c=c+Math.imul(I,V)|0,l=Math.imul(I,H),s=s+Math.imul(M,U)|0,c=c+Math.imul(M,W)|0,c=c+Math.imul(N,U)|0,l=l+Math.imul(N,W)|0,s=s+Math.imul(k,ne)|0,c=c+Math.imul(k,re)|0,c=c+Math.imul(A,ne)|0,l=l+Math.imul(A,re)|0,s=s+Math.imul(E,G)|0,c=c+Math.imul(E,ae)|0,c=c+Math.imul(D,G)|0,l=l+Math.imul(D,ae)|0,s=s+Math.imul(C,se)|0,c=c+Math.imul(C,ce)|0,c=c+Math.imul(w,se)|0,l=l+Math.imul(w,ce)|0,s=s+Math.imul(b,ue)|0,c=c+Math.imul(b,de)|0,c=c+Math.imul(x,ue)|0,l=l+Math.imul(x,de)|0,s=s+Math.imul(_,pe)|0,c=c+Math.imul(_,K)|0,c=c+Math.imul(v,pe)|0,l=l+Math.imul(v,K)|0,s=s+Math.imul(m,he)|0,c=c+Math.imul(m,ge)|0,c=c+Math.imul(h,he)|0,l=l+Math.imul(h,ge)|0,s=s+Math.imul(d,ve)|0,c=c+Math.imul(d,ye)|0,c=c+Math.imul(f,ve)|0,l=l+Math.imul(f,ye)|0;var je=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(je>>>26)|0,je&=67108863,s=Math.imul(R,V),c=Math.imul(R,H),c=c+Math.imul(z,V)|0,l=Math.imul(z,H),s=s+Math.imul(F,U)|0,c=c+Math.imul(F,W)|0,c=c+Math.imul(I,U)|0,l=l+Math.imul(I,W)|0,s=s+Math.imul(M,ne)|0,c=c+Math.imul(M,re)|0,c=c+Math.imul(N,ne)|0,l=l+Math.imul(N,re)|0,s=s+Math.imul(k,G)|0,c=c+Math.imul(k,ae)|0,c=c+Math.imul(A,G)|0,l=l+Math.imul(A,ae)|0,s=s+Math.imul(E,se)|0,c=c+Math.imul(E,ce)|0,c=c+Math.imul(D,se)|0,l=l+Math.imul(D,ce)|0,s=s+Math.imul(C,ue)|0,c=c+Math.imul(C,de)|0,c=c+Math.imul(w,ue)|0,l=l+Math.imul(w,de)|0,s=s+Math.imul(b,pe)|0,c=c+Math.imul(b,K)|0,c=c+Math.imul(x,pe)|0,l=l+Math.imul(x,K)|0,s=s+Math.imul(_,he)|0,c=c+Math.imul(_,ge)|0,c=c+Math.imul(v,he)|0,l=l+Math.imul(v,ge)|0,s=s+Math.imul(m,ve)|0,c=c+Math.imul(m,ye)|0,c=c+Math.imul(h,ve)|0,l=l+Math.imul(h,ye)|0,s=s+Math.imul(d,xe)|0,c=c+Math.imul(d,Se)|0,c=c+Math.imul(f,xe)|0,l=l+Math.imul(f,Se)|0;var Me=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Me>>>26)|0,Me&=67108863,s=Math.imul(R,U),c=Math.imul(R,W),c=c+Math.imul(z,U)|0,l=Math.imul(z,W),s=s+Math.imul(F,ne)|0,c=c+Math.imul(F,re)|0,c=c+Math.imul(I,ne)|0,l=l+Math.imul(I,re)|0,s=s+Math.imul(M,G)|0,c=c+Math.imul(M,ae)|0,c=c+Math.imul(N,G)|0,l=l+Math.imul(N,ae)|0,s=s+Math.imul(k,se)|0,c=c+Math.imul(k,ce)|0,c=c+Math.imul(A,se)|0,l=l+Math.imul(A,ce)|0,s=s+Math.imul(E,ue)|0,c=c+Math.imul(E,de)|0,c=c+Math.imul(D,ue)|0,l=l+Math.imul(D,de)|0,s=s+Math.imul(C,pe)|0,c=c+Math.imul(C,K)|0,c=c+Math.imul(w,pe)|0,l=l+Math.imul(w,K)|0,s=s+Math.imul(b,he)|0,c=c+Math.imul(b,ge)|0,c=c+Math.imul(x,he)|0,l=l+Math.imul(x,ge)|0,s=s+Math.imul(_,ve)|0,c=c+Math.imul(_,ye)|0,c=c+Math.imul(v,ve)|0,l=l+Math.imul(v,ye)|0,s=s+Math.imul(m,xe)|0,c=c+Math.imul(m,Se)|0,c=c+Math.imul(h,xe)|0,l=l+Math.imul(h,Se)|0;var Ne=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,s=Math.imul(R,ne),c=Math.imul(R,re),c=c+Math.imul(z,ne)|0,l=Math.imul(z,re),s=s+Math.imul(F,G)|0,c=c+Math.imul(F,ae)|0,c=c+Math.imul(I,G)|0,l=l+Math.imul(I,ae)|0,s=s+Math.imul(M,se)|0,c=c+Math.imul(M,ce)|0,c=c+Math.imul(N,se)|0,l=l+Math.imul(N,ce)|0,s=s+Math.imul(k,ue)|0,c=c+Math.imul(k,de)|0,c=c+Math.imul(A,ue)|0,l=l+Math.imul(A,de)|0,s=s+Math.imul(E,pe)|0,c=c+Math.imul(E,K)|0,c=c+Math.imul(D,pe)|0,l=l+Math.imul(D,K)|0,s=s+Math.imul(C,he)|0,c=c+Math.imul(C,ge)|0,c=c+Math.imul(w,he)|0,l=l+Math.imul(w,ge)|0,s=s+Math.imul(b,ve)|0,c=c+Math.imul(b,ye)|0,c=c+Math.imul(x,ve)|0,l=l+Math.imul(x,ye)|0,s=s+Math.imul(_,xe)|0,c=c+Math.imul(_,Se)|0,c=c+Math.imul(v,xe)|0,l=l+Math.imul(v,Se)|0;var Pe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,s=Math.imul(R,G),c=Math.imul(R,ae),c=c+Math.imul(z,G)|0,l=Math.imul(z,ae),s=s+Math.imul(F,se)|0,c=c+Math.imul(F,ce)|0,c=c+Math.imul(I,se)|0,l=l+Math.imul(I,ce)|0,s=s+Math.imul(M,ue)|0,c=c+Math.imul(M,de)|0,c=c+Math.imul(N,ue)|0,l=l+Math.imul(N,de)|0,s=s+Math.imul(k,pe)|0,c=c+Math.imul(k,K)|0,c=c+Math.imul(A,pe)|0,l=l+Math.imul(A,K)|0,s=s+Math.imul(E,he)|0,c=c+Math.imul(E,ge)|0,c=c+Math.imul(D,he)|0,l=l+Math.imul(D,ge)|0,s=s+Math.imul(C,ve)|0,c=c+Math.imul(C,ye)|0,c=c+Math.imul(w,ve)|0,l=l+Math.imul(w,ye)|0,s=s+Math.imul(b,xe)|0,c=c+Math.imul(b,Se)|0,c=c+Math.imul(x,xe)|0,l=l+Math.imul(x,Se)|0;var Fe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,s=Math.imul(R,se),c=Math.imul(R,ce),c=c+Math.imul(z,se)|0,l=Math.imul(z,ce),s=s+Math.imul(F,ue)|0,c=c+Math.imul(F,de)|0,c=c+Math.imul(I,ue)|0,l=l+Math.imul(I,de)|0,s=s+Math.imul(M,pe)|0,c=c+Math.imul(M,K)|0,c=c+Math.imul(N,pe)|0,l=l+Math.imul(N,K)|0,s=s+Math.imul(k,he)|0,c=c+Math.imul(k,ge)|0,c=c+Math.imul(A,he)|0,l=l+Math.imul(A,ge)|0,s=s+Math.imul(E,ve)|0,c=c+Math.imul(E,ye)|0,c=c+Math.imul(D,ve)|0,l=l+Math.imul(D,ye)|0,s=s+Math.imul(C,xe)|0,c=c+Math.imul(C,Se)|0,c=c+Math.imul(w,xe)|0,l=l+Math.imul(w,Se)|0;var Ie=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,s=Math.imul(R,ue),c=Math.imul(R,de),c=c+Math.imul(z,ue)|0,l=Math.imul(z,de),s=s+Math.imul(F,pe)|0,c=c+Math.imul(F,K)|0,c=c+Math.imul(I,pe)|0,l=l+Math.imul(I,K)|0,s=s+Math.imul(M,he)|0,c=c+Math.imul(M,ge)|0,c=c+Math.imul(N,he)|0,l=l+Math.imul(N,ge)|0,s=s+Math.imul(k,ve)|0,c=c+Math.imul(k,ye)|0,c=c+Math.imul(A,ve)|0,l=l+Math.imul(A,ye)|0,s=s+Math.imul(E,xe)|0,c=c+Math.imul(E,Se)|0,c=c+Math.imul(D,xe)|0,l=l+Math.imul(D,Se)|0;var Le=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Le>>>26)|0,Le&=67108863,s=Math.imul(R,pe),c=Math.imul(R,K),c=c+Math.imul(z,pe)|0,l=Math.imul(z,K),s=s+Math.imul(F,he)|0,c=c+Math.imul(F,ge)|0,c=c+Math.imul(I,he)|0,l=l+Math.imul(I,ge)|0,s=s+Math.imul(M,ve)|0,c=c+Math.imul(M,ye)|0,c=c+Math.imul(N,ve)|0,l=l+Math.imul(N,ye)|0,s=s+Math.imul(k,xe)|0,c=c+Math.imul(k,Se)|0,c=c+Math.imul(A,xe)|0,l=l+Math.imul(A,Se)|0;var Re=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Re>>>26)|0,Re&=67108863,s=Math.imul(R,he),c=Math.imul(R,ge),c=c+Math.imul(z,he)|0,l=Math.imul(z,ge),s=s+Math.imul(F,ve)|0,c=c+Math.imul(F,ye)|0,c=c+Math.imul(I,ve)|0,l=l+Math.imul(I,ye)|0,s=s+Math.imul(M,xe)|0,c=c+Math.imul(M,Se)|0,c=c+Math.imul(N,xe)|0,l=l+Math.imul(N,Se)|0;var ze=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(ze>>>26)|0,ze&=67108863,s=Math.imul(R,ve),c=Math.imul(R,ye),c=c+Math.imul(z,ve)|0,l=Math.imul(z,ye),s=s+Math.imul(F,xe)|0,c=c+Math.imul(F,Se)|0,c=c+Math.imul(I,xe)|0,l=l+Math.imul(I,Se)|0;var Be=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Be>>>26)|0,Be&=67108863,s=Math.imul(R,xe),c=Math.imul(R,Se),c=c+Math.imul(z,xe)|0,l=Math.imul(z,Se);var Ve=(o+s|0)+((c&8191)<<13)|0;return o=(l+(c>>>13)|0)+(Ve>>>26)|0,Ve&=67108863,a[0]=Ce,a[1]=we,a[2]=Te,a[3]=Ee,a[4]=De,a[5]=Oe,a[6]=ke,a[7]=Ae,a[8]=je,a[9]=Me,a[10]=Ne,a[11]=Pe,a[12]=Fe,a[13]=Ie,a[14]=Le,a[15]=Re,a[16]=ze,a[17]=Be,a[18]=Ve,o!==0&&(a[19]=o,n.length++),n};Math.imul||(h=m);function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,a=0;a<n.length-1;a++){var o=i;i=0;for(var s=r&67108863,c=Math.min(a,t.length-1),l=Math.max(0,a-e.length+1);l<=c;l++){var u=a-l,d=(e.words[u]|0)*(t.words[l]|0),f=d&67108863;o=o+(d/67108864|0)|0,f=f+s|0,s=f&67108863,o=o+(f>>>26)|0,i+=o>>>26,o&=67108863}n.words[a]=s,r=o,o=i}return r===0?n.length--:n.words[a]=r,n.strip()}function _(e,t,n){return new v().mulp(e,t,n)}i.prototype.mulTo=function(e,t){var n,r=this.length+e.length;return n=this.length===10&&e.length===10?h(this,e,t):r<63?m(this,e,t):r<1024?g(this,e,t):_(this,e,t),n};function v(e,t){this.x=e,this.y=t}v.prototype.makeRBT=function(e){for(var t=Array(e),n=i.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,n,e);return t},v.prototype.revBin=function(e,t,n){if(e===0||e===n-1)return e;for(var r=0,i=0;i<t;i++)r|=(e&1)<<t-i-1,e>>=1;return r},v.prototype.permute=function(e,t,n,r,i,a){for(var o=0;o<a;o++)r[o]=t[e[o]],i[o]=n[e[o]]},v.prototype.transform=function(e,t,n,r,i,a){this.permute(a,e,t,n,r,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,c=Math.cos(2*Math.PI/s),l=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var d=c,f=l,p=0;p<o;p++){var m=n[u+p],h=r[u+p],g=n[u+p+o],_=r[u+p+o],v=d*g-f*_;_=d*_+f*g,g=v,n[u+p]=m+g,r[u+p]=h+_,n[u+p+o]=m-g,r[u+p+o]=h-_,p!==s&&(v=c*d-l*f,f=c*f+l*d,d=v)}},v.prototype.guessLen13b=function(e,t){var n=Math.max(t,e)|1,r=n&1,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},v.prototype.conjugate=function(e,t,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=e[r];e[r]=e[n-r-1],e[n-r-1]=i,i=t[r],t[r]=-t[n-r-1],t[n-r-1]=-i}},v.prototype.normalize13b=function(e,t){for(var n=0,r=0;r<t/2;r++){var i=Math.round(e[2*r+1]/t)*8192+Math.round(e[2*r]/t)+n;e[r]=i&67108863,n=i<67108864?0:i/67108864|0}return e},v.prototype.convert13b=function(e,t,r,i){for(var a=0,o=0;o<t;o++)a+=e[o]|0,r[2*o]=a&8191,a>>>=13,r[2*o+1]=a&8191,a>>>=13;for(o=2*t;o<i;++o)r[o]=0;n(a===0),n((a&-8192)==0)},v.prototype.stub=function(e){for(var t=Array(e),n=0;n<e;n++)t[n]=0;return t},v.prototype.mulp=function(e,t,n){var r=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(r),a=this.stub(r),o=Array(r),s=Array(r),c=Array(r),l=Array(r),u=Array(r),d=Array(r),f=n.words;f.length=r,this.convert13b(e.words,e.length,o,r),this.convert13b(t.words,t.length,l,r),this.transform(o,a,s,c,r,i),this.transform(l,a,u,d,r,i);for(var p=0;p<r;p++){var m=s[p]*u[p]-c[p]*d[p];c[p]=s[p]*d[p]+c[p]*u[p],s[p]=m}return this.conjugate(s,c,r),this.transform(s,c,f,a,r,i),this.conjugate(f,a,r),this.normalize13b(f,r),n.negative=e.negative^t.negative,n.length=e.length+t.length,n.strip()},i.prototype.mul=function(e){var t=new i(null);return t.words=Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=Array(this.length+e.length),_(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){n(typeof e==`number`),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(this.words[r]|0)*e,a=(i&67108863)+(t&67108863);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=a&67108863}return t!==0&&(this.words[r]=t,this.length++),this.length=e===0?1:this.length,this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=p(e);if(t.length===0)return new i(1);for(var n=this,r=0;r<t.length&&t[r]===0;r++,n=n.sqr());if(++r<t.length)for(var a=n.sqr();r<t.length;r++,a=a.sqr())t[r]!==0&&(n=n.mul(a));return n},i.prototype.iushln=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26,i=67108863>>>26-t<<26-t,a;if(t!==0){var o=0;for(a=0;a<this.length;a++){var s=this.words[a]&i,c=(this.words[a]|0)-s<<t;this.words[a]=c|o,o=s>>>26-t}o&&(this.words[a]=o,this.length++)}if(r!==0){for(a=this.length-1;a>=0;a--)this.words[a+r]=this.words[a];for(a=0;a<r;a++)this.words[a]=0;this.length+=r}return this.strip()},i.prototype.ishln=function(e){return n(this.negative===0),this.iushln(e)},i.prototype.iushrn=function(e,t,r){n(typeof e==`number`&&e>=0);var i=t?(t-t%26)/26:0,a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,c=r;if(i-=o,i=Math.max(0,i),c){for(var l=0;l<o;l++)c.words[l]=this.words[l];c.length=o}if(o!==0)if(this.length>o)for(this.length-=o,l=0;l<this.length;l++)this.words[l]=this.words[l+o];else this.words[0]=0,this.length=1;var u=0;for(l=this.length-1;l>=0&&(u!==0||l>=i);l--){var d=this.words[l]|0;this.words[l]=u<<26-a|d>>>a,u=d&s}return c&&u!==0&&(c.words[c.length++]=u),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,r){return n(this.negative===0),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return this.length<=r?!1:!!(this.words[r]&i)},i.prototype.imaskn=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26;if(n(this.negative===0,`imaskn works only with positive numbers`),this.length<=r)return this;if(t!==0&&r++,this.length=Math.min(r,this.length),t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n(typeof e==`number`),n(e<67108864),e<0?this.isubn(-e):this.negative===0?this._iaddn(e):this.length===1&&(this.words[0]|0)<e?(this.words[0]=e-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n(typeof e==`number`),n(e<67108864),e<0)return this.iaddn(-e);if(this.negative!==0)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,--this.words[t+1];return this.strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var i=e.length+r,a;this._expand(i);var o,s=0;for(a=0;a<e.length;a++){o=(this.words[a+r]|0)+s;var c=(e.words[a]|0)*t;o-=c&67108863,s=(o>>26)-(c/67108864|0),this.words[a+r]=o&67108863}for(;a<this.length-r;a++)o=(this.words[a+r]|0)+s,s=o>>26,this.words[a+r]=o&67108863;if(s===0)return this.strip();for(n(s===-1),s=0,a=0;a<this.length;a++)o=-(this.words[a]|0)+s,s=o>>26,this.words[a]=o&67108863;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=this.length-e.length,r=this.clone(),a=e,o=a.words[a.length-1]|0;n=26-this._countBits(o),n!==0&&(a=a.ushln(n),r.iushln(n),o=a.words[a.length-1]|0);var s=r.length-a.length,c;if(t!==`mod`){c=new i(null),c.length=s+1,c.words=Array(c.length);for(var l=0;l<c.length;l++)c.words[l]=0}var u=r.clone()._ishlnsubmul(a,1,s);u.negative===0&&(r=u,c&&(c.words[s]=1));for(var d=s-1;d>=0;d--){var f=(r.words[a.length+d]|0)*67108864+(r.words[a.length+d-1]|0);for(f=Math.min(f/o|0,67108863),r._ishlnsubmul(a,f,d);r.negative!==0;)f--,r.negative=0,r._ishlnsubmul(a,1,d),r.isZero()||(r.negative^=1);c&&(c.words[d]=f)}return c&&c.strip(),r.strip(),t!==`div`&&n!==0&&r.iushrn(n),{div:c||null,mod:r}},i.prototype.divmod=function(e,t,r){if(n(!e.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var a,o,s;return this.negative!==0&&e.negative===0?(s=this.neg().divmod(e,t),t!==`mod`&&(a=s.div.neg()),t!==`div`&&(o=s.mod.neg(),r&&o.negative!==0&&o.iadd(e)),{div:a,mod:o}):this.negative===0&&e.negative!==0?(s=this.divmod(e.neg(),t),t!==`mod`&&(a=s.div.neg()),{div:a,mod:s.mod}):(this.negative&e.negative)===0?e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:e.length===1?t===`div`?{div:this.divn(e.words[0]),mod:null}:t===`mod`?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t):(s=this.neg().divmod(e.neg(),t),t!==`div`&&(o=s.mod.neg(),r&&o.negative!==0&&o.isub(e)),{div:s.div,mod:o})},i.prototype.div=function(e){return this.divmod(e,`div`,!1).div},i.prototype.mod=function(e){return this.divmod(e,`mod`,!1).mod},i.prototype.umod=function(e){return this.divmod(e,`mod`,!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=t.div.negative===0?t.mod:t.mod.isub(e),r=e.ushrn(1),i=e.andln(1),a=n.cmp(r);return a<0||i===1&&a===0?t.div:t.div.negative===0?t.div.iaddn(1):t.div.isubn(1)},i.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(this.words[i]|0))%e;return r},i.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(this.words[r]|0)+t*67108864;this.words[r]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(e.negative===0),n(!e.isZero());var t=this,r=e.clone();t=t.negative===0?t.clone():t.umod(e);for(var a=new i(1),o=new i(0),s=new i(0),c=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var u=r.clone(),d=t.clone();!t.isZero();){for(var f=0,p=1;(t.words[0]&p)===0&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(d)),a.iushrn(1),o.iushrn(1);for(var m=0,h=1;(r.words[0]&h)===0&&m<26;++m,h<<=1);if(m>0)for(r.iushrn(m);m-- >0;)(s.isOdd()||c.isOdd())&&(s.iadd(u),c.isub(d)),s.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s),o.isub(c)):(r.isub(t),s.isub(a),c.isub(o))}return{a:s,b:c,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(e.negative===0),n(!e.isZero());var t=this,r=e.clone();t=t.negative===0?t.clone():t.umod(e);for(var a=new i(1),o=new i(0),s=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,l=1;(t.words[0]&l)===0&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);for(var u=0,d=1;(r.words[0]&d)===0&&u<26;++u,d<<=1);if(u>0)for(r.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o)):(r.isub(t),o.isub(a))}var f=t.cmpn(1)===0?a:o;return f.cmpn(0)<0&&f.iadd(e),f},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);do{for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var a=t;t=n,n=a}else if(i===0||n.cmpn(1)===0)break;t.isub(n)}while(!0);return n.iushln(r)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(this.words[0]&1)==0},i.prototype.isOdd=function(){return(this.words[0]&1)==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n(typeof e==`number`);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;a!==0&&o<this.length;o++){var s=this.words[o]|0;s+=a,a=s>>>26,s&=67108863,this.words[o]=s}return a!==0&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this.strip();var r;if(this.length>1)r=1;else{t&&(e=-e),n(e<=67108863,`Number is too big`);var i=this.words[0]|0;r=i===e?0:i<e?-1:1}return this.negative===0?r:-r|0},i.prototype.cmp=function(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);return this.negative===0?t:-t|0},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=this.words[n]|0,i=e.words[n]|0;if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},i.prototype.gtn=function(e){return this.cmpn(e)===1},i.prototype.gt=function(e){return this.cmp(e)===1},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return this.cmpn(e)===-1},i.prototype.lt=function(e){return this.cmp(e)===-1},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return this.cmpn(e)===0},i.prototype.eq=function(e){return this.cmp(e)===0},i.red=function(e){return new T(e)},i.prototype.toRed=function(e){return n(!this.red,`Already a number in reduction context`),n(this.negative===0,`red works only with positives`),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,`fromRed works only with numbers in reduction context`),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,`Already a number in reduction context`),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,`redAdd works only with red numbers`),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,`redIAdd works only with red numbers`),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,`redSub works only with red numbers`),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,`redISub works only with red numbers`),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,`redShl works only with red numbers`),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,`redMul works only with red numbers`),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,`redMul works only with red numbers`),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,`redSqr works only with red numbers`),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,`redISqr works only with red numbers`),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,`redSqrt works only with red numbers`),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,`redInvm works only with red numbers`),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,`redNeg works only with red numbers`),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,`redPow(normalNum)`),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}b.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t=e,n;do this.split(t,this.tmp),t=this.imulK(t),t=t.iadd(this.tmp),n=t.bitLength();while(n>this.n);var r=n<this.n?-1:t.ucmp(this.p);return r===0?(t.words[0]=0,t.length=1):r>0?t.isub(this.p):t.strip===void 0?t._strip():t.strip(),t},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)};function x(){b.call(this,`k256`,`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f`)}r(x,b),x.prototype.split=function(e,t){for(var n=4194303,r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9){e.words[0]=0,e.length=1;return}var a=e.words[9];for(t.words[t.length++]=a&n,i=10;i<e.length;i++){var o=e.words[i]|0;e.words[i-10]=(o&n)<<4|a>>>22,a=o}a>>>=22,e.words[i-10]=a,a===0&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=e.words[n]|0;t+=r*977,e.words[n]=t&67108863,t=r*64+(t/67108864|0)}return e.words[e.length-1]===0&&(e.length--,e.words[e.length-1]===0&&e.length--),e};function S(){b.call(this,`p224`,`ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001`)}r(S,b);function C(){b.call(this,`p192`,`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff`)}r(C,b);function w(){b.call(this,`25519`,`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`)}r(w,b),w.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=(e.words[n]|0)*19+t,i=r&67108863;r>>>=26,e.words[n]=i,t=r}return t!==0&&(e.words[e.length++]=t),e},i._prime=function(e){if(y[e])return y[e];var t;if(e===`k256`)t=new x;else if(e===`p224`)t=new S;else if(e===`p192`)t=new C;else if(e===`p25519`)t=new w;else throw Error(`Unknown prime `+e);return y[e]=t,t};function T(e){if(typeof e==`string`){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),`modulus must be greater than 1`),this.m=e,this.prime=null}T.prototype._verify1=function(e){n(e.negative===0,`red works only with positives`),n(e.red,`red works only with red numbers`)},T.prototype._verify2=function(e,t){n((e.negative|t.negative)===0,`red works only with positives`),n(e.red&&e.red===t.red,`red works only with red numbers`)},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},T.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),t===3){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&a.andln(1)===0;)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),c=s.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);this.pow(u,l).cmp(c)!==0;)u.redIAdd(c);for(var d=this.pow(u,a),f=this.pow(e,a.addn(1).iushrn(1)),p=this.pow(e,a),m=o;p.cmp(s)!==0;){for(var h=p,g=0;h.cmp(s)!==0;g++)h=h.redSqr();n(g<m);var _=this.pow(d,new i(1).iushln(m-g-1));f=f.redMul(_),d=_.redSqr(),p=p.redMul(d),m=g}return f},T.prototype.invm=function(e){var t=e._invmp(this.m);return t.negative===0?this.imod(t):(t.negative=0,this.imod(t).redNeg())},T.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var n=4,r=Array(1<<n);r[0]=new i(1).toRed(this),r[1]=e;for(var a=2;a<r.length;a++)r[a]=this.mul(r[a-1],e);var o=r[0],s=0,c=0,l=t.bitLength()%26;for(l===0&&(l=26),a=t.length-1;a>=0;a--){for(var u=t.words[a],d=l-1;d>=0;d--){var f=u>>d&1;if(o!==r[0]&&(o=this.sqr(o)),f===0&&s===0){c=0;continue}s<<=1,s|=f,c++,!(c!==n&&(a!==0||d!==0))&&(o=this.mul(o,r[s]),c=0,s=0)}l=26}return o},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new E(e)};function E(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}r(E,T),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=n.isub(r).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}})(t===void 0||t,e)})),Hl=i(((e,t)=>{t.exports=n;function n(e,t){if(!e)throw Error(t||`Assertion failed`)}n.equal=function(e,t,n){if(e!=t)throw Error(n||`Assertion failed: `+e+` != `+t)}})),Ul=i((e=>{var t=e;function n(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if(typeof e!=`string`){for(var r=0;r<e.length;r++)n[r]=e[r]|0;return n}if(t===`hex`){e=e.replace(/[^a-z0-9]+/gi,``),e.length%2!=0&&(e=`0`+e);for(var r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(var r=0;r<e.length;r++){var i=e.charCodeAt(r),a=i>>8,o=i&255;a?n.push(a,o):n.push(o)}return n}t.toArray=n;function r(e){return e.length===1?`0`+e:e}t.zero2=r;function i(e){for(var t=``,n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}t.toHex=i,t.encode=function(e,t){return t===`hex`?i(e):e}})),Wl=i((e=>{var t=e,n=Vl(),r=Hl(),i=Ul();t.assert=r,t.toArray=i.toArray,t.zero2=i.zero2,t.toHex=i.toHex,t.encode=i.encode;function a(e,t,n){var r=Array(Math.max(e.bitLength(),n)+1),i;for(i=0;i<r.length;i+=1)r[i]=0;var a=1<<t+1,o=e.clone();for(i=0;i<r.length;i++){var s,c=o.andln(a-1);o.isOdd()?(s=c>(a>>1)-1?(a>>1)-c:c,o.isubn(s)):s=0,r[i]=s,o.iushrn(1)}return r}t.getNAF=a;function o(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r=0,i=0,a;e.cmpn(-r)>0||t.cmpn(-i)>0;){var o=e.andln(3)+r&3,s=t.andln(3)+i&3;o===3&&(o=-1),s===3&&(s=-1);var c;o&1?(a=e.andln(7)+r&7,c=(a===3||a===5)&&s===2?-o:o):c=0,n[0].push(c);var l;s&1?(a=t.andln(7)+i&7,l=(a===3||a===5)&&o===2?-s:s):l=0,n[1].push(l),2*r===c+1&&(r=1-r),2*i===l+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return n}t.getJSF=o;function s(e,t,n){var r=`_`+t;e.prototype[t]=function(){return this[r]===void 0?this[r]=n.call(this):this[r]}}t.cachedProperty=s;function c(e){return typeof e==`string`?t.toArray(e,`hex`):e}t.parseBytes=c;function l(e){return new n(e,`hex`,`le`)}t.intFromLE=l})),Gl=i(((e,t)=>{var n;t.exports=function(e){return n||=new r(null),n.generate(e)};function r(e){this.rand=e}if(t.exports.Rand=r,r.prototype.generate=function(e){return this._rand(e)},r.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n<t.length;n++)t[n]=this.rand.getByte();return t},typeof self==`object`)self.crypto&&self.crypto.getRandomValues?r.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?r.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window==`object`&&(r.prototype._rand=function(){throw Error(`Not implemented yet`)});else try{var i=l();if(typeof i.randomBytes!=`function`)throw Error(`Not supported`);r.prototype._rand=function(e){return i.randomBytes(e)}}catch{}})),Kl=i(((e,t)=>{var n=Vl(),r=Wl(),i=r.getNAF,a=r.getJSF,o=r.assert;function s(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}t.exports=s,s.prototype.point=function(){throw Error(`Not implemented`)},s.prototype.validate=function(){throw Error(`Not implemented`)},s.prototype._fixedNafMul=function(e,t){o(e.precomputed);var n=e._getDoubles(),r=i(t,1,this._bitLength),a=(1<<n.step+1)-(n.step%2==0?2:1);a/=3;var s=[],c,l;for(c=0;c<r.length;c+=n.step){l=0;for(var u=c+n.step-1;u>=c;u--)l=(l<<1)+r[u];s.push(l)}for(var d=this.jpoint(null,null,null),f=this.jpoint(null,null,null),p=a;p>0;p--){for(c=0;c<s.length;c++)l=s[c],l===p?f=f.mixedAdd(n.points[c]):l===-p&&(f=f.mixedAdd(n.points[c].neg()));d=d.add(f)}return d.toP()},s.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var a=r.points,s=i(t,n,this._bitLength),c=this.jpoint(null,null,null),l=s.length-1;l>=0;l--){for(var u=0;l>=0&&s[l]===0;l--)u++;if(l>=0&&u++,c=c.dblp(u),l<0)break;var d=s[l];o(d!==0),c=e.type===`affine`?d>0?c.mixedAdd(a[d-1>>1]):c.mixedAdd(a[-d-1>>1].neg()):d>0?c.add(a[d-1>>1]):c.add(a[-d-1>>1].neg())}return e.type===`affine`?c.toP():c},s.prototype._wnafMulAdd=function(e,t,n,r,o){var s=this._wnafT1,c=this._wnafT2,l=this._wnafT3,u=0,d,f,p;for(d=0;d<r;d++){p=t[d];var m=p._getNAFPoints(e);s[d]=m.wnd,c[d]=m.points}for(d=r-1;d>=1;d-=2){var h=d-1,g=d;if(s[h]!==1||s[g]!==1){l[h]=i(n[h],s[h],this._bitLength),l[g]=i(n[g],s[g],this._bitLength),u=Math.max(l[h].length,u),u=Math.max(l[g].length,u);continue}var _=[t[h],null,null,t[g]];t[h].y.cmp(t[g].y)===0?(_[1]=t[h].add(t[g]),_[2]=t[h].toJ().mixedAdd(t[g].neg())):t[h].y.cmp(t[g].y.redNeg())===0?(_[1]=t[h].toJ().mixedAdd(t[g]),_[2]=t[h].add(t[g].neg())):(_[1]=t[h].toJ().mixedAdd(t[g]),_[2]=t[h].toJ().mixedAdd(t[g].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],y=a(n[h],n[g]);for(u=Math.max(y[0].length,u),l[h]=Array(u),l[g]=Array(u),f=0;f<u;f++){var b=y[0][f]|0,x=y[1][f]|0;l[h][f]=v[(b+1)*3+(x+1)],l[g][f]=0,c[h]=_}}var S=this.jpoint(null,null,null),C=this._wnafT4;for(d=u;d>=0;d--){for(var w=0;d>=0;){var T=!0;for(f=0;f<r;f++)C[f]=l[f][d]|0,C[f]!==0&&(T=!1);if(!T)break;w++,d--}if(d>=0&&w++,S=S.dblp(w),d<0)break;for(f=0;f<r;f++){var E=C[f];E!==0&&(E>0?p=c[f][E-1>>1]:E<0&&(p=c[f][-E-1>>1].neg()),S=p.type===`affine`?S.mixedAdd(p):S.add(p))}}for(d=0;d<r;d++)c[d]=null;return o?S:S.toP()};function c(e,t){this.curve=e,this.type=t,this.precomputed=null}s.BasePoint=c,c.prototype.eq=function(){throw Error(`Not implemented`)},c.prototype.validate=function(){return this.curve.validate(this)},s.prototype.decodePoint=function(e,t){e=r.toArray(e,t);var n=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1==2*n)return e[0]===6?o(e[e.length-1]%2==0):e[0]===7&&o(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((e[0]===2||e[0]===3)&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),e[0]===3);throw Error(`Unknown point format`)},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray(`be`,t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray(`be`,t))},c.prototype.encode=function(e,t){return r.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return t?t.points.length>=Math.ceil((e.bitLength()+1)/t.step):!1},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var a=0;a<e;a++)r=r.dbl();n.push(r)}return{step:e,points:n}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=n===1?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}})),ql=i(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Jl=i(((e,t)=>{var n=Wl(),r=Vl(),i=ql(),a=Kl(),o=n.assert;function s(e){a.call(this,`short`,e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}i(s,a),t.exports=s,s.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,n;if(e.beta)t=new r(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1],t=t.toRed(this.red)}if(e.lambda)n=new r(e.lambda,16);else{var a=this._getEndoRoots(this.n);this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0?n=a[0]:(n=a[1],o(this.g.mul(n).x.cmp(this.g.x.redMul(t))===0))}var s=e.basis?e.basis.map(function(e){return{a:new r(e.a,16),b:new r(e.b,16)}}):this._getEndoBasis(n);return{beta:t,lambda:n,basis:s}}},s.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:r.mont(e),n=new r(2).toRed(t).redInvm(),i=n.redNeg(),a=new r(3).toRed(t).redNeg().redSqrt().redMul(n);return[i.redAdd(a).fromRed(),i.redSub(a).fromRed()]},s.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),n=e,i=this.n.clone(),a=new r(1),o=new r(0),s=new r(0),c=new r(1),l,u,d,f,p,m,h,g=0,_,v;n.cmpn(0)!==0;){var y=i.div(n);_=i.sub(y.mul(n)),v=s.sub(y.mul(a));var b=c.sub(y.mul(o));if(!d&&_.cmp(t)<0)l=h.neg(),u=a,d=_.neg(),f=v;else if(d&&++g===2)break;h=_,i=n,n=_,s=a,a=v,c=o,o=b}p=_.neg(),m=v;var x=d.sqr().add(f.sqr());return p.sqr().add(m.sqr()).cmp(x)>=0&&(p=l,m=u),d.negative&&(d=d.neg(),f=f.neg()),p.negative&&(p=p.neg(),m=m.neg()),[{a:d,b:f},{a:p,b:m}]},s.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),a=n.b.neg().mul(e).divRound(this.n),o=i.mul(n.a),s=a.mul(r.a),c=i.mul(n.b),l=a.mul(r.b);return{k1:e.sub(o).sub(s),k2:c.add(l).neg()}},s.prototype.pointFromX=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(i.redSqr().redSub(n).cmp(this.zero)!==0)throw Error(`invalid point`);var a=i.fromRed().isOdd();return(t&&!a||!t&&a)&&(i=i.redNeg()),this.point(e,i)},s.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return n.redSqr().redISub(i).cmpn(0)===0},s.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,a=0;a<e.length;a++){var o=this._endoSplit(t[a]),s=e[a],c=s._getBeta();o.k1.negative&&(o.k1.ineg(),s=s.neg(!0)),o.k2.negative&&(o.k2.ineg(),c=c.neg(!0)),r[a*2]=s,r[a*2+1]=c,i[a*2]=o.k1,i[a*2+1]=o.k2}for(var l=this._wnafMulAdd(1,r,i,a*2,n),u=0;u<a*2;u++)r[u]=null,i[u]=null;return l};function c(e,t,n,i){a.BasePoint.call(this,e,`affine`),t===null&&n===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(t,16),this.y=new r(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}i(c,a.BasePoint),s.prototype.point=function(e,t,n){return new c(this,e,t,n)},s.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,n){typeof t==`string`&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var a=t[2];return r.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[r].concat(a.doubles.points.map(i))},naf:a.naf&&{wnd:a.naf.wnd,points:[r].concat(a.naf.points.map(i))}},r},c.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` y: `+this.y.fromRed().toString(16,2)+`>`},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e)||this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),a=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new r(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)};function l(e,t,n,i){a.BasePoint.call(this,e,`jacobian`),t===null&&n===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(t,16),this.y=new r(n,16),this.z=new r(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}i(l,a.BasePoint),s.prototype.jpoint=function(e,t,n){return new l(this,e,t,n)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),a=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),s=r.redSub(i),c=a.redSub(o);if(s.cmpn(0)===0)return c.cmpn(0)===0?this.dbl():this.curve.jpoint(null,null,null);var l=s.redSqr(),u=l.redMul(s),d=r.redMul(l),f=c.redSqr().redIAdd(u).redISub(d).redISub(d),p=c.redMul(d.redISub(f)).redISub(a.redMul(u)),m=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(f,p,m)},l.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),o=n.redSub(r),s=i.redSub(a);if(o.cmpn(0)===0)return s.cmpn(0)===0?this.dbl():this.curve.jpoint(null,null,null);var c=o.redSqr(),l=c.redMul(o),u=n.redMul(c),d=s.redSqr().redIAdd(l).redISub(u).redISub(u),f=s.redMul(u.redISub(d)).redISub(i.redMul(l)),p=this.z.redMul(o);return this.curve.jpoint(d,f,p)},l.prototype.dblp=function(e){if(e===0||this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,a=this.x,o=this.y,s=this.z,c=s.redSqr().redSqr(),l=o.redAdd(o);for(t=0;t<e;t++){var u=a.redSqr(),d=l.redSqr(),f=d.redSqr(),p=u.redAdd(u).redIAdd(u).redIAdd(r.redMul(c)),m=a.redMul(d),h=p.redSqr().redISub(m.redAdd(m)),g=m.redISub(h),_=p.redMul(g);_=_.redIAdd(_).redISub(f);var v=l.redMul(s);t+1<e&&(c=c.redMul(f)),a=h,s=v,l=_}return this.curve.jpoint(a,l.redMul(i),s)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},l.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(a);o=o.redIAdd(o);var s=r.redAdd(r).redIAdd(r),c=s.redSqr().redISub(o).redISub(o),l=a.redIAdd(a);l=l.redIAdd(l),l=l.redIAdd(l),e=c,t=s.redMul(o.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),d=this.y.redSqr(),f=d.redSqr(),p=this.x.redAdd(d).redSqr().redISub(u).redISub(f);p=p.redIAdd(p);var m=u.redAdd(u).redIAdd(u),h=m.redSqr(),g=f.redIAdd(f);g=g.redIAdd(g),g=g.redIAdd(g),e=h.redISub(p).redISub(p),t=m.redMul(p.redISub(e)).redISub(g),n=this.y.redMul(this.z),n=n.redIAdd(n)}return this.curve.jpoint(e,t,n)},l.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(a);o=o.redIAdd(o);var s=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),c=s.redSqr().redISub(o).redISub(o);e=c;var l=a.redIAdd(a);l=l.redIAdd(l),l=l.redIAdd(l),t=s.redMul(o.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),d=this.y.redSqr(),f=this.x.redMul(d),p=this.x.redSub(u).redMul(this.x.redAdd(u));p=p.redAdd(p).redIAdd(p);var m=f.redIAdd(f);m=m.redIAdd(m);var h=m.redAdd(m);e=p.redSqr().redISub(h),n=this.y.redAdd(this.z).redSqr().redISub(d).redISub(u);var g=d.redSqr();g=g.redIAdd(g),g=g.redIAdd(g),g=g.redIAdd(g),t=p.redMul(m.redISub(e)).redISub(g)}return this.curve.jpoint(e,t,n)},l.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),a=t.redSqr(),o=n.redSqr(),s=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(i)),c=t.redAdd(t);c=c.redIAdd(c);var l=c.redMul(o),u=s.redSqr().redISub(l.redAdd(l)),d=l.redISub(u),f=o.redSqr();f=f.redIAdd(f),f=f.redIAdd(f),f=f.redIAdd(f);var p=s.redMul(d).redISub(f),m=n.redAdd(n).redMul(r);return this.curve.jpoint(u,p,m)},l.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),a=i.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(r);o=o.redIAdd(o),o=o.redAdd(o).redIAdd(o),o=o.redISub(a);var s=o.redSqr(),c=r.redIAdd(r);c=c.redIAdd(c),c=c.redIAdd(c),c=c.redIAdd(c);var l=i.redIAdd(o).redSqr().redISub(a).redISub(s).redISub(c),u=t.redMul(l);u=u.redIAdd(u),u=u.redIAdd(u);var d=this.x.redMul(s).redISub(u);d=d.redIAdd(d),d=d.redIAdd(d);var f=this.y.redMul(l.redMul(c.redISub(l)).redISub(o.redMul(s)));f=f.redIAdd(f),f=f.redIAdd(f),f=f.redIAdd(f);var p=this.z.redAdd(o).redSqr().redISub(n).redISub(s);return this.curve.jpoint(d,f,p)},l.prototype.mul=function(e,t){return e=new r(e,t),this.curve._wnafMul(this,e)},l.prototype.eq=function(e){if(e.type===`affine`)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)===0},l.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(n)===0)return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),this.x.cmp(n)===0)return!0}},l.prototype.inspect=function(){return this.isInfinity()?`<EC JPoint Infinity>`:`<EC JPoint x: `+this.x.toString(16,2)+` y: `+this.y.toString(16,2)+` z: `+this.z.toString(16,2)+`>`},l.prototype.isInfinity=function(){return this.z.cmpn(0)===0}})),Yl=i(((e,t)=>{var n=Vl(),r=ql(),i=Kl(),a=Wl();function o(e){i.call(this,`mont`,e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}r(o,i),t.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return r.redSqrt().redSqr().cmp(r)===0};function s(e,t,r){i.BasePoint.call(this,e,`projective`),t===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(s,i.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},o.prototype.point=function(e,t){return new s(this,e,t)},o.prototype.pointFromJSON=function(e){return s.fromJSON(this,e)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray(`be`,this.curve.p.byteLength())},s.fromJSON=function(e,t){return new s(e,t[0],t[1]||e.one)},s.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` z: `+this.z.fromRed().toString(16,2)+`>`},s.prototype.isInfinity=function(){return this.z.cmpn(0)===0},s.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},s.prototype.add=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(n),o=i.redMul(r),s=t.z.redMul(a.redAdd(o).redSqr()),c=t.x.redMul(a.redISub(o).redSqr());return this.curve.point(s,c)},s.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=this,a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var o=a.length-1;o>=0;o--)a[o]===0?(n=n.diffAdd(r,i),r=r.dbl()):(r=n.diffAdd(r,i),n=n.dbl());return r},s.prototype.mulAdd=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.jumlAdd=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()}})),Xl=i(((e,t)=>{var n=Wl(),r=Vl(),i=ql(),a=Kl(),o=n.assert;function s(e){this.twisted=(e.a|0)!=1,this.mOneA=this.twisted&&(e.a|0)==-1,this.extended=this.mOneA,a.call(this,`edwards`,e),this.a=new r(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new r(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new r(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(e.c|0)==1}i(s,a),t.exports=s,s.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},s.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},s.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},s.prototype.pointFromX=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),i=this.c2.redSub(this.a.redMul(n)),a=this.one.redSub(this.c2.redMul(this.d).redMul(n)),o=i.redMul(a.redInvm()),s=o.redSqrt();if(s.redSqr().redSub(o).cmp(this.zero)!==0)throw Error(`invalid point`);var c=s.fromRed().isOdd();return(t&&!c||!t&&c)&&(s=s.redNeg()),this.point(e,s)},s.prototype.pointFromY=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),i=n.redSub(this.c2),a=n.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(a.redInvm());if(o.cmp(this.zero)===0){if(t)throw Error(`invalid point`);return this.point(this.zero,e)}var s=o.redSqrt();if(s.redSqr().redSub(o).cmp(this.zero)!==0)throw Error(`invalid point`);return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},s.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return r.cmp(i)===0};function c(e,t,n,i,o){a.BasePoint.call(this,e,`projective`),t===null&&n===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new r(t,16),this.y=new r(n,16),this.z=i?new r(i,16):this.curve.one,this.t=o&&new r(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}i(c,a.BasePoint),s.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},s.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` y: `+this.y.fromRed().toString(16,2)+` z: `+this.z.fromRed().toString(16,2)+`>`},c.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=r.redAdd(t),o=a.redSub(n),s=r.redSub(t),c=i.redMul(o),l=a.redMul(s),u=i.redMul(s),d=o.redMul(a);return this.curve.point(c,l,d,u)},c.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),n=this.y.redSqr(),r,i,a,o,s,c;if(this.curve.twisted){o=this.curve._mulA(t);var l=o.redAdd(n);this.zOne?(r=e.redSub(t).redSub(n).redMul(l.redSub(this.curve.two)),i=l.redMul(o.redSub(n)),a=l.redSqr().redSub(l).redSub(l)):(s=this.z.redSqr(),c=l.redSub(s).redISub(s),r=e.redSub(t).redISub(n).redMul(c),i=l.redMul(o.redSub(n)),a=l.redMul(c))}else o=t.redAdd(n),s=this.curve._mulC(this.z).redSqr(),c=o.redSub(s).redSub(s),r=this.curve._mulC(e.redISub(o)).redMul(c),i=this.curve._mulC(o).redMul(t.redISub(n)),a=o.redMul(c);return this.curve.point(r,i,a)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),a=n.redSub(t),o=i.redSub(r),s=i.redAdd(r),c=n.redAdd(t),l=a.redMul(o),u=s.redMul(c),d=a.redMul(c),f=o.redMul(s);return this.curve.point(l,u,f,d)},c.prototype._projAdd=function(e){var t=this.z.redMul(e.z),n=t.redSqr(),r=this.x.redMul(e.x),i=this.y.redMul(e.y),a=this.curve.d.redMul(r).redMul(i),o=n.redSub(a),s=n.redAdd(a),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(r).redISub(i),l=t.redMul(o).redMul(c),u,d;return this.curve.twisted?(u=t.redMul(s).redMul(i.redSub(this.curve._mulA(r))),d=o.redMul(s)):(u=t.redMul(s).redMul(i.redSub(r)),d=this.curve._mulC(o).redMul(s)),this.curve.point(l,u,d)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&=this.t.redMul(e),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),this.x.cmp(t)===0)return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add})),Zl=i((e=>{var t=e;t.base=Kl(),t.short=Jl(),t.mont=Yl(),t.edwards=Xl()})),Ql=i((e=>{var t=Hl();e.inherits=ql();function n(e,t){return(e.charCodeAt(t)&64512)!=55296||t<0||t+1>=e.length?!1:(e.charCodeAt(t+1)&64512)==56320}function r(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e==`string`){if(!t)for(var i=0,a=0;a<e.length;a++){var o=e.charCodeAt(a);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=o&63|128):n(e,a)?(o=65536+((o&1023)<<10)+(e.charCodeAt(++a)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=o&63|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=o&63|128)}else if(t===`hex`)for(e=e.replace(/[^a-z0-9]+/gi,``),e.length%2!=0&&(e=`0`+e),a=0;a<e.length;a+=2)r.push(parseInt(e[a]+e[a+1],16))}else for(a=0;a<e.length;a++)r[a]=e[a]|0;return r}e.toArray=r;function i(e){for(var t=``,n=0;n<e.length;n++)t+=s(e[n].toString(16));return t}e.toHex=i;function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24)>>>0}e.htonl=a;function o(e,t){for(var n=``,r=0;r<e.length;r++){var i=e[r];t===`little`&&(i=a(i)),n+=c(i.toString(16))}return n}e.toHex32=o;function s(e){return e.length===1?`0`+e:e}e.zero2=s;function c(e){return e.length===7?`0`+e:e.length===6?`00`+e:e.length===5?`000`+e:e.length===4?`0000`+e:e.length===3?`00000`+e:e.length===2?`000000`+e:e.length===1?`0000000`+e:e}e.zero8=c;function l(e,n,r,i){var a=r-n;t(a%4==0);for(var o=Array(a/4),s=0,c=n;s<o.length;s++,c+=4)o[s]=(i===`big`?e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3]:e[c+3]<<24|e[c+2]<<16|e[c+1]<<8|e[c])>>>0;return o}e.join32=l;function u(e,t){for(var n=Array(e.length*4),r=0,i=0;r<e.length;r++,i+=4){var a=e[r];t===`big`?(n[i]=a>>>24,n[i+1]=a>>>16&255,n[i+2]=a>>>8&255,n[i+3]=a&255):(n[i+3]=a>>>24,n[i+2]=a>>>16&255,n[i+1]=a>>>8&255,n[i]=a&255)}return n}e.split32=u;function d(e,t){return e>>>t|e<<32-t}e.rotr32=d;function f(e,t){return e<<t|e>>>32-t}e.rotl32=f;function p(e,t){return e+t>>>0}e.sum32=p;function m(e,t,n){return e+t+n>>>0}e.sum32_3=m;function h(e,t,n,r){return e+t+n+r>>>0}e.sum32_4=h;function g(e,t,n,r,i){return e+t+n+r+i>>>0}e.sum32_5=g;function _(e,t,n,r){var i=e[t],a=r+e[t+1]>>>0;e[t]=+(a<r)+n+i>>>0,e[t+1]=a}e.sum64=_;function v(e,t,n,r){return+(t+r>>>0<t)+e+n>>>0}e.sum64_hi=v;function y(e,t,n,r){return t+r>>>0}e.sum64_lo=y;function b(e,t,n,r,i,a,o,s){var c=0,l=t;return l=l+r>>>0,c+=+(l<t),l=l+a>>>0,c+=+(l<a),l=l+s>>>0,c+=+(l<s),e+n+i+o+c>>>0}e.sum64_4_hi=b;function x(e,t,n,r,i,a,o,s){return t+r+a+s>>>0}e.sum64_4_lo=x;function S(e,t,n,r,i,a,o,s,c,l){var u=0,d=t;return d=d+r>>>0,u+=+(d<t),d=d+a>>>0,u+=+(d<a),d=d+s>>>0,u+=+(d<s),d=d+l>>>0,u+=+(d<l),e+n+i+o+c+u>>>0}e.sum64_5_hi=S;function C(e,t,n,r,i,a,o,s,c,l){return t+r+a+s+l>>>0}e.sum64_5_lo=C;function w(e,t,n){return(t<<32-n|e>>>n)>>>0}e.rotr64_hi=w;function T(e,t,n){return(e<<32-n|t>>>n)>>>0}e.rotr64_lo=T;function E(e,t,n){return e>>>n}e.shr64_hi=E;function D(e,t,n){return(e<<32-n|t>>>n)>>>0}e.shr64_lo=D})),$l=i((e=>{var t=Ql(),n=Hl();function r(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=`big`,this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=r,r.prototype.update=function(e,n){if(e=t.toArray(e,n),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var r=e.length%this._delta8;this.pending=e.slice(e.length-r,e.length),this.pending.length===0&&(this.pending=null),e=t.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},r.prototype.digest=function(e){return this.update(this._pad()),n(this.pending===null),this._digest(e)},r.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,this.endian===`big`){for(var a=8;a<this.padLength;a++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=e&255}else for(r[i++]=e&255,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,a=8;a<this.padLength;a++)r[i++]=0;return r}})),eu=i((e=>{var t=Ql().rotr32;function n(e,t,n,o){if(e===0)return r(t,n,o);if(e===1||e===3)return a(t,n,o);if(e===2)return i(t,n,o)}e.ft_1=n;function r(e,t,n){return e&t^~e&n}e.ch32=r;function i(e,t,n){return e&t^e&n^t&n}e.maj32=i;function a(e,t,n){return e^t^n}e.p32=a;function o(e){return t(e,2)^t(e,13)^t(e,22)}e.s0_256=o;function s(e){return t(e,6)^t(e,11)^t(e,25)}e.s1_256=s;function c(e){return t(e,7)^t(e,18)^e>>>3}e.g0_256=c;function l(e){return t(e,17)^t(e,19)^e>>>10}e.g1_256=l})),tu=i(((e,t)=>{var n=Ql(),r=$l(),i=eu(),a=n.rotl32,o=n.sum32,s=n.sum32_5,c=i.ft_1,l=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}n.inherits(d,l),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=a(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],l=this.h[1],d=this.h[2],f=this.h[3],p=this.h[4];for(r=0;r<n.length;r++){var m=~~(r/20),h=s(a(i,5),c(m,l,d,f),p,n[r],u[m]);p=f,f=d,d=a(l,30),l=i,i=h}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],l),this.h[2]=o(this.h[2],d),this.h[3]=o(this.h[3],f),this.h[4]=o(this.h[4],p)},d.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)}})),nu=i(((e,t)=>{var n=Ql(),r=$l(),i=eu(),a=Hl(),o=n.sum32,s=n.sum32_4,c=n.sum32_5,l=i.ch32,u=i.maj32,d=i.s0_256,f=i.s1_256,p=i.g0_256,m=i.g1_256,h=r.BlockHash,g=[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];function _(){if(!(this instanceof _))return new _;h.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=Array(64)}n.inherits(_,h),t.exports=_,_.blockSize=512,_.outSize=256,_.hmacStrength=192,_.padLength=64,_.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=s(m(n[r-2]),n[r-7],p(n[r-15]),n[r-16]);var i=this.h[0],h=this.h[1],g=this.h[2],_=this.h[3],v=this.h[4],y=this.h[5],b=this.h[6],x=this.h[7];for(a(this.k.length===n.length),r=0;r<n.length;r++){var S=c(x,f(v),l(v,y,b),this.k[r],n[r]),C=o(d(i),u(i,h,g));x=b,b=y,y=v,v=o(_,S),_=g,g=h,h=i,i=o(S,C)}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],h),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],_),this.h[4]=o(this.h[4],v),this.h[5]=o(this.h[5],y),this.h[6]=o(this.h[6],b),this.h[7]=o(this.h[7],x)},_.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)}})),ru=i(((e,t)=>{var n=Ql(),r=nu();function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(i,r),t.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h.slice(0,7),`big`):n.split32(this.h.slice(0,7),`big`)}})),iu=i(((e,t)=>{var n=Ql(),r=$l(),i=Hl(),a=n.rotr64_hi,o=n.rotr64_lo,s=n.shr64_hi,c=n.shr64_lo,l=n.sum64,u=n.sum64_hi,d=n.sum64_lo,f=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,h=n.sum64_5_lo,g=r.BlockHash,_=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=_,this.W=Array(160)}n.inherits(v,g),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=k(n[r-4],n[r-3]),a=A(n[r-4],n[r-3]),o=n[r-14],s=n[r-13],c=D(n[r-30],n[r-29]),l=O(n[r-30],n[r-29]),u=n[r-32],d=n[r-31];n[r]=f(i,a,o,s,c,l,u,d),n[r+1]=p(i,a,o,s,c,l,u,d)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],a=this.h[1],o=this.h[2],s=this.h[3],c=this.h[4],f=this.h[5],p=this.h[6],g=this.h[7],_=this.h[8],v=this.h[9],D=this.h[10],O=this.h[11],k=this.h[12],A=this.h[13],j=this.h[14],M=this.h[15];i(this.k.length===n.length);for(var N=0;N<n.length;N+=2){var P=j,F=M,I=T(_,v),L=E(_,v),R=y(_,v,D,O,k,A),z=b(_,v,D,O,k,A),B=this.k[N],V=this.k[N+1],H=n[N],ee=n[N+1],U=m(P,F,I,L,R,z,B,V,H,ee),W=h(P,F,I,L,R,z,B,V,H,ee);P=C(r,a),F=w(r,a),I=x(r,a,o,s,c,f),L=S(r,a,o,s,c,f);var te=u(P,F,I,L),ne=d(P,F,I,L);j=k,M=A,k=D,A=O,D=_,O=v,_=u(p,g,U,W),v=d(g,g,U,W),p=c,g=f,c=o,f=s,o=r,s=a,r=u(U,W,te,ne),a=d(U,W,te,ne)}l(this.h,0,r,a),l(this.h,2,o,s),l(this.h,4,c,f),l(this.h,6,p,g),l(this.h,8,_,v),l(this.h,10,D,O),l(this.h,12,k,A),l(this.h,14,j,M)},v.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)};function y(e,t,n,r,i){var a=e&n^~e&i;return a<0&&(a+=4294967296),a}function b(e,t,n,r,i,a){var o=t&r^~t&a;return o<0&&(o+=4294967296),o}function x(e,t,n,r,i){var a=e&n^e&i^n&i;return a<0&&(a+=4294967296),a}function S(e,t,n,r,i,a){var o=t&r^t&a^r&a;return o<0&&(o+=4294967296),o}function C(e,t){var n=a(e,t,28),r=a(t,e,2),i=a(t,e,7),o=n^r^i;return o<0&&(o+=4294967296),o}function w(e,t){var n=o(e,t,28),r=o(t,e,2),i=o(t,e,7),a=n^r^i;return a<0&&(a+=4294967296),a}function T(e,t){var n=a(e,t,14),r=a(e,t,18),i=a(t,e,9),o=n^r^i;return o<0&&(o+=4294967296),o}function E(e,t){var n=o(e,t,14),r=o(e,t,18),i=o(t,e,9),a=n^r^i;return a<0&&(a+=4294967296),a}function D(e,t){var n=a(e,t,1),r=a(e,t,8),i=s(e,t,7),o=n^r^i;return o<0&&(o+=4294967296),o}function O(e,t){var n=o(e,t,1),r=o(e,t,8),i=c(e,t,7),a=n^r^i;return a<0&&(a+=4294967296),a}function k(e,t){var n=a(e,t,19),r=a(t,e,29),i=s(e,t,6),o=n^r^i;return o<0&&(o+=4294967296),o}function A(e,t){var n=o(e,t,19),r=o(t,e,29),i=c(e,t,6),a=n^r^i;return a<0&&(a+=4294967296),a}})),au=i(((e,t)=>{var n=Ql(),r=iu();function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(i,r),t.exports=i,i.blockSize=1024,i.outSize=384,i.hmacStrength=192,i.padLength=128,i.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h.slice(0,12),`big`):n.split32(this.h.slice(0,12),`big`)}})),ou=i((e=>{e.sha1=tu(),e.sha224=ru(),e.sha256=nu(),e.sha384=au(),e.sha512=iu()})),su=i((e=>{var t=Ql(),n=$l(),r=t.rotl32,i=t.sum32,a=t.sum32_3,o=t.sum32_4,s=n.BlockHash;function c(){if(!(this instanceof c))return new c;s.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=`little`}t.inherits(c,s),e.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(e,t){for(var n=this.h[0],s=this.h[1],c=this.h[2],g=this.h[3],_=this.h[4],v=n,y=s,b=c,x=g,S=_,C=0;C<80;C++){var w=i(r(o(n,l(C,s,c,g),e[f[C]+t],u(C)),m[C]),_);n=_,_=g,g=r(c,10),c=s,s=w,w=i(r(o(v,l(79-C,y,b,x),e[p[C]+t],d(C)),h[C]),S),v=S,S=x,x=r(b,10),b=y,y=w}w=a(this.h[1],c,x),this.h[1]=a(this.h[2],g,S),this.h[2]=a(this.h[3],_,v),this.h[3]=a(this.h[4],n,y),this.h[4]=a(this.h[0],s,b),this.h[0]=w},c.prototype._digest=function(e){return e===`hex`?t.toHex32(this.h,`little`):t.split32(this.h,`little`)};function l(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function u(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function d(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]})),cu=i(((e,t)=>{var n=Ql(),r=Hl();function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}t.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=new this.Hash().update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=new this.Hash().update(e)},i.prototype.update=function(e,t){return this.inner.update(e,t),this},i.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}})),lu=i((e=>{var t=e;t.utils=Ql(),t.common=$l(),t.sha=ou(),t.ripemd=su(),t.hmac=cu(),t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160})),uu=i(((e,t)=>{t.exports={doubles:{step:4,points:[[`e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a`,`f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821`],[`8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508`,`11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf`],[`175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739`,`d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695`],[`363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640`,`4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9`],[`8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c`,`4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36`],[`723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda`,`96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f`],[`eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa`,`5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999`],[`100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0`,`cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09`],[`e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d`,`9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d`],[`feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d`,`e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088`],[`da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1`,`9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d`],[`53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0`,`5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8`],[`8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047`,`10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a`],[`385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862`,`283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453`],[`6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7`,`7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160`],[`3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd`,`56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0`],[`85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83`,`7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6`],[`948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a`,`53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589`],[`6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8`,`bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17`],[`e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d`,`4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda`],[`e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725`,`7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd`],[`213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754`,`4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2`],[`4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c`,`17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6`],[`fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6`,`6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f`],[`76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39`,`c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01`],[`c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891`,`893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3`],[`d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b`,`febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f`],[`b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03`,`2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7`],[`e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d`,`eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78`],[`a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070`,`7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1`],[`90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4`,`e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150`],[`8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da`,`662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82`],[`e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11`,`1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc`],[`8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e`,`efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b`],[`e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41`,`2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51`],[`b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef`,`67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45`],[`d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8`,`db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120`],[`324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d`,`648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84`],[`4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96`,`35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d`],[`9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd`,`ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d`],[`6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5`,`9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8`],[`a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266`,`40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8`],[`7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71`,`34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac`],[`928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac`,`c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f`],[`85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751`,`1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962`],[`ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e`,`493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907`],[`827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241`,`c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec`],[`eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3`,`be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d`],[`e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f`,`4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414`],[`1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19`,`aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd`],[`146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be`,`b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0`],[`fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9`,`6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811`],[`da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2`,`8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1`],[`a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13`,`7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c`],[`174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c`,`ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73`],[`959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba`,`2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd`],[`d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151`,`e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405`],[`64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073`,`d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589`],[`8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458`,`38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e`],[`13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b`,`69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27`],[`bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366`,`d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1`],[`8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa`,`40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482`],[`8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0`,`620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945`],[`dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787`,`7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573`],[`f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e`,`ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82`]]},naf:{wnd:7,points:[[`f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9`,`388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672`],[`2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4`,`d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6`],[`5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc`,`6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da`],[`acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe`,`cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37`],[`774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb`,`d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b`],[`f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8`,`ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81`],[`d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e`,`581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58`],[`defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34`,`4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77`],[`2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c`,`85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a`],[`352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5`,`321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c`],[`2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f`,`2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67`],[`9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714`,`73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402`],[`daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729`,`a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55`],[`c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db`,`2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482`],[`6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4`,`e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82`],[`1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5`,`b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396`],[`605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479`,`2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49`],[`62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d`,`80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf`],[`80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f`,`1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a`],[`7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb`,`d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7`],[`d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9`,`eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933`],[`49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963`,`758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a`],[`77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74`,`958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6`],[`f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530`,`e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37`],[`463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b`,`5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e`],[`f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247`,`cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6`],[`caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1`,`cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476`],[`2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120`,`4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40`],[`7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435`,`91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61`],[`754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18`,`673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683`],[`e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8`,`59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5`],[`186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb`,`3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b`],[`df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f`,`55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417`],[`5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143`,`efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868`],[`290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba`,`e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a`],[`af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45`,`f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6`],[`766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a`,`744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996`],[`59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e`,`c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e`],[`f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8`,`e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d`],[`7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c`,`30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2`],[`948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519`,`e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e`],[`7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab`,`100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437`],[`3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca`,`ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311`],[`d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf`,`8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4`],[`1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610`,`68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575`],[`733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4`,`f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d`],[`15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c`,`d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d`],[`a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940`,`edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629`],[`e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980`,`a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06`],[`311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3`,`66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374`],[`34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf`,`9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee`],[`f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63`,`4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1`],[`d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448`,`fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b`],[`32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf`,`5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661`],[`7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5`,`8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6`],[`ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6`,`8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e`],[`16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5`,`5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d`],[`eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99`,`f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc`],[`78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51`,`f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4`],[`494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5`,`42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c`],[`a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5`,`204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b`],[`c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997`,`4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913`],[`841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881`,`73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154`],[`5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5`,`39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865`],[`36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66`,`d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc`],[`336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726`,`ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224`],[`8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede`,`6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e`],[`1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94`,`60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6`],[`85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31`,`3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511`],[`29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51`,`b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b`],[`a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252`,`ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2`],[`4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5`,`cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c`],[`d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b`,`6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3`],[`ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4`,`322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d`],[`af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f`,`6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700`],[`e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889`,`2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4`],[`591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246`,`b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196`],[`11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984`,`998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4`],[`3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a`,`b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257`],[`cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030`,`bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13`],[`c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197`,`6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096`],[`c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593`,`c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38`],[`a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef`,`21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f`],[`347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38`,`60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448`],[`da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a`,`49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a`],[`c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111`,`5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4`],[`4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502`,`7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437`],[`3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea`,`be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7`],[`cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26`,`8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d`],[`b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986`,`39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a`],[`d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e`,`62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54`],[`48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4`,`25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77`],[`dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda`,`ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517`],[`6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859`,`cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10`],[`e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f`,`f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125`],[`eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c`,`6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e`],[`13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942`,`fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1`],[`ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a`,`1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2`],[`b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80`,`5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423`],[`ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d`,`438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8`],[`8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1`,`cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758`],[`52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63`,`c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375`],[`e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352`,`6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d`],[`7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193`,`ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec`],[`5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00`,`9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0`],[`32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58`,`ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c`],[`e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7`,`d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4`],[`8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8`,`c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f`],[`4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e`,`67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649`],[`3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d`,`cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826`],[`674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b`,`299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5`],[`d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f`,`f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87`],[`30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6`,`462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b`],[`be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297`,`62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc`],[`93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a`,`7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c`],[`b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c`,`ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f`],[`d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52`,`4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a`],[`d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb`,`bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46`],[`463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065`,`bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f`],[`7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917`,`603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03`],[`74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9`,`cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08`],[`30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3`,`553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8`],[`9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57`,`712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373`],[`176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66`,`ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3`],[`75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8`,`9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8`],[`809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721`,`9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1`],[`1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180`,`4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9`]]}}})),du=i((e=>{var t=e,n=lu(),r=Zl(),i=Wl().assert;function a(e){e.type===`short`?this.curve=new r.short(e):e.type===`edwards`?this.curve=new r.edwards(e):this.curve=new r.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),`Invalid curve`),i(this.g.mul(this.n).isInfinity(),`Invalid curve, G*N != O`)}t.PresetCurve=a;function o(e,n){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=new a(n);return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:r}),r}})}o(`p192`,{type:`short`,prime:`p192`,p:`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff`,a:`ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc`,b:`64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1`,n:`ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831`,hash:n.sha256,gRed:!1,g:[`188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012`,`07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811`]}),o(`p224`,{type:`short`,prime:`p224`,p:`ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001`,a:`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe`,b:`b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4`,n:`ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d`,hash:n.sha256,gRed:!1,g:[`b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21`,`bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34`]}),o(`p256`,{type:`short`,prime:null,p:`ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff`,a:`ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc`,b:`5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b`,n:`ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551`,hash:n.sha256,gRed:!1,g:[`6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296`,`4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5`]}),o(`p384`,{type:`short`,prime:null,p:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff`,a:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc`,b:`b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef`,n:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973`,hash:n.sha384,gRed:!1,g:[`aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7`,`3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f`]}),o(`p521`,{type:`short`,prime:null,p:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff`,a:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc`,b:`00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00`,n:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409`,hash:n.sha512,gRed:!1,g:[`000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66`,`00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650`]}),o(`curve25519`,{type:`mont`,prime:`p25519`,p:`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`,a:`76d06`,b:`1`,n:`1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed`,hash:n.sha256,gRed:!1,g:[`9`]}),o(`ed25519`,{type:`edwards`,prime:`p25519`,p:`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`,a:`-1`,c:`1`,d:`52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3`,n:`1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed`,hash:n.sha256,gRed:!1,g:[`216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`,`6666666666666666666666666666666666666666666666666666666666666658`]});var s;try{s=uu()}catch{s=void 0}o(`secp256k1`,{type:`short`,prime:`k256`,p:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f`,a:`0`,b:`7`,n:`ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141`,h:`1`,hash:n.sha256,beta:`7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`,lambda:`5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72`,basis:[{a:`3086d221a7d46bcde86c90e49284eb15`,b:`-e4437ed6010e88286f547fa90abfe4c3`},{a:`114ca50f7a8e2f3f657c1108d9d44cfd8`,b:`3086d221a7d46bcde86c90e49284eb15`}],gRed:!1,g:[`79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798`,`483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8`,s]})})),fu=i(((e,t)=>{var n=lu(),r=Ul(),i=Hl();function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=r.toArray(e.entropy,e.entropyEnc||`hex`),n=r.toArray(e.nonce,e.nonceEnc||`hex`),o=r.toArray(e.pers,e.persEnc||`hex`);i(t.length>=this.minEntropy/8,`Not enough entropy. Minimum is: `+this.minEntropy+` bits`),this._init(t,n,o)}t.exports=a,a.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,n,a){typeof t!=`string`&&(a=n,n=t,t=null),e=r.toArray(e,t),n=r.toArray(n,a),i(e.length>=this.minEntropy/8,`Not enough entropy. Minimum is: `+this.minEntropy+` bits`),this._update(e.concat(n||[])),this._reseed=1},a.prototype.generate=function(e,t,n,i){if(this._reseed>this.reseedInterval)throw Error(`Reseed is required`);typeof t!=`string`&&(i=n,n=t,t=null),n&&(n=r.toArray(n,i||`hex`),this._update(n));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var o=a.slice(0,e);return this._update(n),this._reseed++,r.encode(o,t)}})),pu=i(((e,t)=>{var n=Vl(),r=Wl().assert;function i(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}t.exports=i,i.fromPublic=function(e,t,n){return t instanceof i?t:new i(e,{pub:t,pubEnc:n})},i.fromPrivate=function(e,t,n){return t instanceof i?t:new i(e,{priv:t,privEnc:n})},i.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:`Invalid public key`}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:`Public key * N != O`}:{result:!1,reason:`Public key is not a point`}},i.prototype.getPublic=function(e,t){return typeof e==`string`&&(t=e,e=null),this.pub||=this.ec.g.mul(this.priv),t?this.pub.encode(t,e):this.pub},i.prototype.getPrivate=function(e){return e===`hex`?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type===`mont`?r(e.x,`Need x coordinate`):(this.ec.curve.type===`short`||this.ec.curve.type===`edwards`)&&r(e.x&&e.y,`Need both x and y coordinate`),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},i.prototype.derive=function(e){return e.validate()||r(e.validate(),`public point not validated`),e.mul(this.priv).getX()},i.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},i.prototype.verify=function(e,t,n){return this.ec.verify(e,t,this,void 0,n)},i.prototype.inspect=function(){return`<Key priv: `+(this.priv&&this.priv.toString(16,2))+` pub: `+(this.pub&&this.pub.inspect())+` >`}})),mu=i(((e,t)=>{var n=Vl(),r=Wl(),i=r.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(i(e.r&&e.s,`Signature without r or s`),this.r=new n(e.r,16),this.s=new n(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}t.exports=a;function o(){this.place=0}function s(e,t){var n=e[t.place++];if(!(n&128))return n;var r=n&15;if(r===0||r>4||e[t.place]===0)return!1;for(var i=0,a=0,o=t.place;a<r;a++,o++)i<<=8,i|=e[o],i>>>=0;return i<=127?!1:(t.place=o,i)}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(e[t+1]&128)&&t<n;)t++;return t===0?e:e.slice(t)}a.prototype._importDER=function(e,t){e=r.toArray(e,t);var i=new o;if(e[i.place++]!==48)return!1;var a=s(e,i);if(a===!1||a+i.place!==e.length||e[i.place++]!==2)return!1;var c=s(e,i);if(c===!1||e[i.place]&128)return!1;var l=e.slice(i.place,c+i.place);if(i.place+=c,e[i.place++]!==2)return!1;var u=s(e,i);if(u===!1||e.length!==u+i.place||e[i.place]&128)return!1;var d=e.slice(i.place,u+i.place);if(l[0]===0)if(l[1]&128)l=l.slice(1);else return!1;if(d[0]===0)if(d[1]&128)d=d.slice(1);else return!1;return this.r=new n(l),this.s=new n(d),this.recoveryParam=null,!0};function l(e,t){if(t<128){e.push(t);return}var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(n|128);--n;)e.push(t>>>(n<<3)&255);e.push(t)}a.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),n[0]&128&&(n=[0].concat(n)),t=c(t),n=c(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var i=[2];l(i,t.length),i=i.concat(t),i.push(2),l(i,n.length);var a=i.concat(n),o=[48];return l(o,a.length),o=o.concat(a),r.encode(o,e)}})),hu=i(((e,t)=>{var n=Vl(),r=fu(),i=Wl(),a=du(),o=Gl(),s=i.assert,c=pu(),l=mu();function u(e){if(!(this instanceof u))return new u(e);typeof e==`string`&&(s(Object.prototype.hasOwnProperty.call(a,e),`Unknown curve `+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}t.exports=u,u.prototype.keyPair=function(e){return new c(this,e)},u.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},u.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},u.prototype.genKeyPair=function(e){e||={};for(var t=new r({hash:this.hash,pers:e.pers,persEnc:e.persEnc||`utf8`,entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||`utf8`,nonce:this.n.toArray()}),i=this.n.byteLength(),a=this.n.sub(new n(2));;){var s=new n(t.generate(i));if(!(s.cmp(a)>0))return s.iaddn(1),this.keyFromPrivate(s)}},u.prototype._truncateToN=function(e,t,r){var i;if(n.isBN(e)||typeof e==`number`)e=new n(e,16),i=e.byteLength();else if(typeof e==`object`)i=e.length,e=new n(e,16);else{var a=e.toString();i=a.length+1>>>1,e=new n(a,16)}typeof r!=`number`&&(r=i*8);var o=r-this.n.bitLength();return o>0&&(e=e.ushrn(o)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},u.prototype.sign=function(e,t,i,a){if(typeof i==`object`&&(a=i,i=null),a||={},typeof e!=`string`&&typeof e!=`number`&&!n.isBN(e)){s(typeof e==`object`&&e&&typeof e.length==`number`,`Expected message to be an array-like, a hex string, or a BN instance`),s(e.length>>>0===e.length);for(var o=0;o<e.length;o++)s((e[o]&255)===e[o])}t=this.keyFromPrivate(t,i),e=this._truncateToN(e,!1,a.msgBitLength),s(!e.isNeg(),`Can not sign a negative message`);var c=this.n.byteLength(),u=t.getPrivate().toArray(`be`,c),d=e.toArray(`be`,c);s(new n(d).eq(e),`Can not sign message`);for(var f=new r({hash:this.hash,entropy:u,nonce:d,pers:a.pers,persEnc:a.persEnc||`utf8`}),p=this.n.sub(new n(1)),m=0;;m++){var h=a.k?a.k(m):new n(f.generate(this.n.byteLength()));if(h=this._truncateToN(h,!0),!(h.cmpn(1)<=0||h.cmp(p)>=0)){var g=this.g.mul(h);if(!g.isInfinity()){var _=g.getX(),v=_.umod(this.n);if(v.cmpn(0)!==0){var y=h.invm(this.n).mul(v.mul(t.getPrivate()).iadd(e));if(y=y.umod(this.n),y.cmpn(0)!==0){var b=!!g.getY().isOdd()|(_.cmp(v)===0?0:2);return a.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),b^=1),new l({r:v,s:y,recoveryParam:b})}}}}}},u.prototype.verify=function(e,t,n,r,i){i||={},e=this._truncateToN(e,!1,i.msgBitLength),n=this.keyFromPublic(n,r),t=new l(t,`hex`);var a=t.r,o=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s=o.invm(this.n),c=s.mul(e).umod(this.n),u=s.mul(a).umod(this.n),d;return this.curve._maxwellTrick?(d=this.g.jmulAdd(c,n.getPublic(),u),d.isInfinity()?!1:d.eqXToP(a)):(d=this.g.mulAdd(c,n.getPublic(),u),d.isInfinity()?!1:d.getX().umod(this.n).cmp(a)===0)},u.prototype.recoverPubKey=function(e,t,r,i){s((3&r)===r,`The recovery param is more than two bits`),t=new l(t,i);var a=this.n,o=new n(e),c=t.r,u=t.s,d=r&1,f=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw Error(`Unable to find sencond key candinate`);c=f?this.curve.pointFromX(c.add(this.curve.n),d):this.curve.pointFromX(c,d);var p=t.r.invm(a),m=a.sub(o).mul(p).umod(a),h=u.mul(p).umod(a);return this.g.mulAdd(m,c,h)},u.prototype.getKeyRecoveryParam=function(e,t,n,r){if(t=new l(t,r),t.recoveryParam!==null)return t.recoveryParam;for(var i=0;i<4;i++){var a;try{a=this.recoverPubKey(e,t,i)}catch{continue}if(a.eq(n))return i}throw Error(`Unable to find valid recovery factor`)}})),gu=i(((e,t)=>{var n=Wl(),r=n.assert,i=n.parseBytes,a=n.cachedProperty;function o(e,t){this.eddsa=e,this._secret=i(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=i(t.pub)}o.fromPublic=function(e,t){return t instanceof o?t:new o(e,{pub:t})},o.fromSecret=function(e,t){return t instanceof o?t:new o(e,{secret:t})},o.prototype.secret=function(){return this._secret},a(o,`pubBytes`,function(){return this.eddsa.encodePoint(this.pub())}),a(o,`pub`,function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),a(o,`privBytes`,function(){var e=this.eddsa,t=this.hash(),n=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[n]&=127,r[n]|=64,r}),a(o,`priv`,function(){return this.eddsa.decodeInt(this.privBytes())}),a(o,`hash`,function(){return this.eddsa.hash().update(this.secret()).digest()}),a(o,`messagePrefix`,function(){return this.hash().slice(this.eddsa.encodingLength)}),o.prototype.sign=function(e){return r(this._secret,`KeyPair can only verify`),this.eddsa.sign(e,this)},o.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},o.prototype.getSecret=function(e){return r(this._secret,`KeyPair is public only`),n.encode(this.secret(),e)},o.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},t.exports=o})),_u=i(((e,t)=>{var n=Vl(),r=Wl(),i=r.assert,a=r.cachedProperty,o=r.parseBytes;function s(e,t){this.eddsa=e,typeof t!=`object`&&(t=o(t)),Array.isArray(t)&&(i(t.length===e.encodingLength*2,`Signature has invalid size`),t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),i(t.R&&t.S,`Signature without R or S`),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(s,`S`,function(){return this.eddsa.decodeInt(this.Sencoded())}),a(s,`R`,function(){return this.eddsa.decodePoint(this.Rencoded())}),a(s,`Rencoded`,function(){return this.eddsa.encodePoint(this.R())}),a(s,`Sencoded`,function(){return this.eddsa.encodeInt(this.S())}),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return r.encode(this.toBytes(),`hex`).toUpperCase()},t.exports=s})),vu=i(((e,t)=>{var n=lu(),r=du(),i=Wl(),a=i.assert,o=i.parseBytes,s=gu(),c=_u();function l(e){if(a(e===`ed25519`,`only tested with ed25519 so far`),!(this instanceof l))return new l(e);e=r[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}t.exports=l,l.prototype.sign=function(e,t){e=o(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),a=this.encodePoint(i),s=this.hashInt(a,n.pubBytes(),e).mul(n.priv()),c=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:c,Rencoded:a})},l.prototype.verify=function(e,t,n){if(e=o(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(a)},l.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return i.intFromLE(e.digest()).umod(this.curve.n)},l.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},l.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},l.prototype.makeSignature=function(e){return e instanceof c?e:new c(this,e)},l.prototype.encodePoint=function(e){var t=e.getY().toArray(`le`,this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},l.prototype.decodePoint=function(e){e=i.parseBytes(e);var t=e.length-1,n=e.slice(0,t).concat(e[t]&-129),r=(e[t]&128)!=0,a=i.intFromLE(n);return this.curve.pointFromY(a,r)},l.prototype.encodeInt=function(e){return e.toArray(`le`,this.encodingLength)},l.prototype.decodeInt=function(e){return i.intFromLE(e)},l.prototype.isPoint=function(e){return e instanceof this.pointClass}})),yu=i((t=>{var n=t;n.version=(Bl(),e(Tl).default).version,n.utils=Wl(),n.rand=Gl(),n.curve=Zl(),n.curves=du(),n.ec=hu(),n.eddsa=vu()}))(),bu={waku:{publish:`waku_publish`,batchPublish:`waku_batchPublish`,subscribe:`waku_subscribe`,batchSubscribe:`waku_batchSubscribe`,subscription:`waku_subscription`,unsubscribe:`waku_unsubscribe`,batchUnsubscribe:`waku_batchUnsubscribe`,batchFetchMessages:`waku_batchFetchMessages`},irn:{publish:`irn_publish`,batchPublish:`irn_batchPublish`,subscribe:`irn_subscribe`,batchSubscribe:`irn_batchSubscribe`,subscription:`irn_subscription`,unsubscribe:`irn_unsubscribe`,batchUnsubscribe:`irn_batchUnsubscribe`,batchFetchMessages:`irn_batchFetchMessages`},iridium:{publish:`iridium_publish`,batchPublish:`iridium_batchPublish`,subscribe:`iridium_subscribe`,batchSubscribe:`iridium_batchSubscribe`,subscription:`iridium_subscription`,unsubscribe:`iridium_unsubscribe`,batchUnsubscribe:`iridium_batchUnsubscribe`,batchFetchMessages:`iridium_batchFetchMessages`}},xu=i(((e,t)=>{t.exports=function(){throw Error(`ws does not work in the browser. Browser clients must use the native WebSocket object`)}})),Su=()=>typeof WebSocket<`u`?WebSocket:typeof global<`u`&&typeof global.WebSocket<`u`?global.WebSocket:typeof window<`u`&&typeof window.WebSocket<`u`?window.WebSocket:typeof self<`u`&&typeof self.WebSocket<`u`?self.WebSocket:xu(),Cu=()=>typeof WebSocket<`u`||typeof global<`u`&&typeof global.WebSocket<`u`||typeof window<`u`&&typeof window.WebSocket<`u`||typeof self<`u`&&typeof self.WebSocket<`u`,wu=e=>e.split(`?`)[0],Tu=10,Eu=Su(),Du=class{constructor(e){if(this.url=e,this.events=new jt.EventEmitter,this.registering=!1,!m(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<`u`}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>`u`){t(Error(`Connection already closed`));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>`u`&&(this.socket=await this.register());try{this.socket.send(f(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!m(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount(`register_error`)>=e||this.events.listenerCount(`open`)>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once(`register_error`,e=>{this.resetMaxListeners(),t(e)}),this.events.once(`open`,()=>{if(this.resetMaxListeners(),typeof this.socket>`u`)return t(Error(`WebSocket connection is missing or invalid`));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{let r=new Eu(e,[],(0,de.isReactNative)()?void 0:{rejectUnauthorized:!h(e)});Cu()?r.onerror=e=>{let t=e;n(this.emitError(t.error))}:r.on(`error`,e=>{n(this.emitError(e))}),r.onopen=()=>{this.onOpen(r),t(r)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),this.socket=e,this.registering=!1,this.events.emit(`open`)}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(`close`,e)}onPayload(e){if(typeof e.data>`u`)return;let t=typeof e.data==`string`?pe(e.data):e.data;this.events.emit(`payload`,t)}onError(e,t){let n=this.parseError(t),r=w(e,n.message||n.toString());this.events.emit(`payload`,r)}parseError(e,t=this.url){return C(e,wu(t),`WS`)}resetMaxListeners(){this.events.getMaxListeners()>Tu&&this.events.setMaxListeners(Tu)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${wu(this.url)}`));return this.events.emit(`register_error`,t),t}};function Ou(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function ku(e){return Ou(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Au=`2.48.8`,ju={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Au}`},Mu=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=ju.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...ju.version?[`Version: ${ju.version}`]:[]].join(`
|
|
3
|
-
`);super(o,n.cause?{cause:n.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=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Au}walk(e){return Nu(this,e)}};function Nu(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Nu(e.cause,t):t?null:e}var Pu=class extends Mu{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}};function Fu(e,{dir:t,size:n=32}={}){return typeof e==`string`?Iu(e,{dir:t,size:n}):Lu(e,{dir:t,size:n})}function Iu(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Pu({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Lu(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Pu({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Ru=class extends Mu{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number "${i}" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},zu=class extends Mu{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}};function Bu(e,{size:t}){if(ku(e)>t)throw new zu({givenSize:ku(e),maxSize:t})}var Vu=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Hu(e,t={}){return typeof e==`number`||typeof e==`bigint`?Gu(e,t):typeof e==`string`?qu(e,t):typeof e==`boolean`?Uu(e,t):Wu(e,t)}function Uu(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Bu(n,{size:t.size}),Fu(n,{size:t.size})):n}function Wu(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Vu[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Bu(r,{size:t.size}),Fu(r,{dir:`right`,size:t.size})):r}function Gu(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Ru({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?Fu(s,{size:r}):s}var Ku=new TextEncoder;function qu(e,t={}){return Wu(Ku.encode(e),t)}var Ju=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}},Yu=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n),Xu={ether:-9,wei:9};function Zu(e,t=`wei`){return re(e,Xu[t])}var Qu=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}},$u=class extends Mu{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Qu(a)}`,e&&`Request body: ${Yu(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},ed=class extends Mu{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Qu(n)}`,`Request body: ${Yu(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},td=class extends Mu{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Qu(t)}`,`Request body: ${Yu(e)}`],name:`TimeoutError`}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}},nd=-1,rd=class extends Mu{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof ed?e.code:t??nd}},id=class extends rd{constructor(e,t){super(e,t),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},ad=class e extends rd{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}};Object.defineProperty(ad,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var od=class e extends rd{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}};Object.defineProperty(od,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var sd=class e extends rd{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` "${n}"`:``} does not exist / is not available.`})}};Object.defineProperty(sd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var cd=class e extends rd{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`
|
|
4
|
-
`)})}};Object.defineProperty(cd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var ld=class e extends rd{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}};Object.defineProperty(ld,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var ud=class e extends rd{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`
|
|
5
|
-
`)})}};Object.defineProperty(ud,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var dd=class e extends rd{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}};Object.defineProperty(dd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var fd=class e extends rd{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}};Object.defineProperty(fd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var pd=class e extends rd{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}};Object.defineProperty(pd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var md=class e extends rd{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` "${n}"`:``} is not supported.`})}};Object.defineProperty(md,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var hd=class e extends rd{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}};Object.defineProperty(hd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var gd=class e extends rd{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}};Object.defineProperty(gd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var _d=class e extends id{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}};Object.defineProperty(_d,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var vd=class e extends id{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}};Object.defineProperty(vd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var yd=class e extends id{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:``}.`})}};Object.defineProperty(yd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var bd=class e extends id{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}};Object.defineProperty(bd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var xd=class e extends id{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}};Object.defineProperty(xd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});var Sd=class e extends id{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}};Object.defineProperty(Sd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});var Cd=class e extends id{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}};Object.defineProperty(Cd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});var wd=class e extends id{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}};Object.defineProperty(wd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});var Td=class e extends id{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}};Object.defineProperty(Td,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});var Ed=class e extends id{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}};Object.defineProperty(Ed,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});var Dd=class e extends id{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}};Object.defineProperty(Dd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});var Od=class e extends id{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}};Object.defineProperty(Od,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});var kd=class e extends id{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}};Object.defineProperty(kd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});var Ad=class e extends id{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}};Object.defineProperty(Ad,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});var jd=class extends rd{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}},Md=class extends Mu{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}};Object.defineProperty(Md,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Md,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Object.defineProperty(class extends Mu{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${Zu(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/}),Object.defineProperty(class extends Mu{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${Zu(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/}),Object.defineProperty(class extends Mu{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Object.defineProperty(class extends Mu{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
6
|
-
`),{cause:e,name:`NonceTooLowError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Object.defineProperty(class extends Mu{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Object.defineProperty(class extends Mu{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`
|
|
7
|
-
`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,"The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:`InsufficientFundsError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Object.defineProperty(class extends Mu{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Object.defineProperty(class extends Mu{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Object.defineProperty(class extends Mu{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Object.defineProperty(class extends Mu{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${t?` = ${Zu(t)} gwei`:``}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Zu(n)} gwei`:``}).`].join(`
|
|
8
|
-
`),{cause:e,name:`TipAboveFeeCapError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});function Nd(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Pd=new Map;function Fd({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>Pd.delete(t),s=()=>c().map(({args:e})=>e),c=()=>Pd.get(t)||[],l=e=>Pd.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=Nd();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}async function Id(e){return new Promise(t=>setTimeout(t,e))}function Ld(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((i,a)=>{let o=async({count:s=0}={})=>{let c=async({error:e})=>{let n=typeof t==`function`?t({count:s,error:e}):t;n&&await Id(n),o({count:s+1})};try{i(await e())}catch(e){if(s<n&&await r({count:s,error:e}))return c({error:e});a(e)}};o()})}var Rd=256,zd=Rd,Bd;function Vd(e=11){if(!Bd||zd+e>Rd*2){Bd=``,zd=0;for(let e=0;e<Rd;e++)Bd+=(256+Math.random()*256|0).toString(16).substring(1)}return Bd.substring(zd,zd+++e)}var Hd=new Ju(8192);function Ud(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Hd.get(n))return Hd.get(n);let r=e().finally(()=>Hd.delete(n));return Hd.set(n,r),r}function Wd(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,uid:c}={...t,...r},{method:l}=n;if(a?.exclude?.includes(l)||a?.include&&!a.include.includes(l))throw new md(Error(`method not supported`),{method:l});return Ud(()=>Ld(async()=>{try{return await e(n)}catch(e){let t=e;switch(t.code){case ad.code:throw new ad(t);case od.code:throw new od(t);case sd.code:throw new sd(t,{method:n.method});case cd.code:throw new cd(t);case ld.code:throw new ld(t);case ud.code:throw new ud(t);case dd.code:throw new dd(t);case fd.code:throw new fd(t);case pd.code:throw new pd(t);case md.code:throw new md(t,{method:n.method});case hd.code:throw new hd(t);case gd.code:throw new gd(t);case _d.code:throw new _d(t);case vd.code:throw new vd(t);case yd.code:throw new yd(t);case bd.code:throw new bd(t);case xd.code:throw new xd(t);case Sd.code:throw new Sd(t);case Cd.code:throw new Cd(t);case wd.code:throw new wd(t);case Td.code:throw new Td(t);case Ed.code:throw new Ed(t);case Dd.code:throw new Dd(t);case Od.code:throw new Od(t);case kd.code:throw new kd(t);case 5e3:throw new _d(t);case Ad.code:throw new Ad(t);default:throw e instanceof Mu?e:new jd(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof $u){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,shouldRetry:({error:e})=>Gd(e)}),{enabled:i,id:i?Kd(`${c}.${Yu(n)}`):void 0})}}function Gd(e){return`code`in e&&typeof e.code==`number`?e.code===-1||e.code===hd.code||e.code===ld.code||e.code===429:e instanceof $u&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Kd(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function qd(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o;try{let s=new AbortController;n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){e?.name===`AbortError`&&a(t),a(e)}finally{clearTimeout(o)}})()})}function Jd(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var Yd=Jd();function Xd(e,t={}){let{url:n,headers:r}=Zd(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,onRequest:o=t.onRequest,onResponse:s=t.onResponse,timeout:c=t.timeout??1e4}=e,l={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:u,method:d,signal:f}=l;try{let e=await qd(async({signal:e})=>{let t={...l,body:Yu(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Yd.take(),...e})):{jsonrpc:`2.0`,id:i.id??Yd.take(),...i}),headers:{...r,"Content-Type":`application/json`,...u},method:d||`POST`,signal:f||(c>0?e:null)},s=new Request(n,t),p=await o?.(s,t)??{...t,url:n};return await a(p.url??n,p)},{errorInstance:new td({body:i,url:n}),timeout:c,signal:!0});s&&await s(e);let t;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=await e.json();else{t=await e.text();try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new $u({body:i,details:Yu(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw e instanceof $u||e instanceof td?e:new $u({body:i,cause:e,url:n})}}}}function Zd(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}function Qd({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Vd();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Wd(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function $d(e,t={}){let{key:n=`fallback`,name:r=`Fallback`,rank:i=!1,shouldThrow:a=ef,retryCount:o,retryDelay:s}=t;return(({chain:t,pollingInterval:c=4e3,timeout:l,...u})=>{let d=e,f=()=>{},p=Qd({key:n,name:r,async request({method:e,params:n}){let r,i=async(o=0)=>{let s=d[o]({...u,chain:t,retryCount:0,timeout:l});try{let t=await s.request({method:e,params:n});return f({method:e,params:n,response:t,transport:s,status:`success`}),t}catch(c){if(f({error:c,method:e,params:n,transport:s,status:`error`}),a(c)||o===d.length-1||(r??=d.slice(o+1).some(n=>{let{include:r,exclude:i}=n({chain:t}).config.methods||{};return r?r.includes(e):i?!i.includes(e):!0}),!r))throw c;return i(o+1)}};return i()},retryCount:o,retryDelay:s,type:`fallback`},{onResponse:e=>f=e,transports:d.map(e=>e({chain:t,retryCount:0}))});if(i){let e=typeof i==`object`?i:{};tf({chain:t,interval:e.interval??c,onTransports:e=>d=e,ping:e.ping,sampleCount:e.sampleCount,timeout:e.timeout,transports:d,weights:e.weights})}return p})}function ef(e){return!!(`code`in e&&typeof e.code==`number`&&(e.code===pd.code||e.code===_d.code||e.code===Ad.code||Md.nodeMessage.test(e.message)||e.code===5e3))}function tf({chain:e,interval:t=4e3,onTransports:n,ping:r,sampleCount:i=10,timeout:a=1e3,transports:o,weights:s={}}){let{stability:c=.7,latency:l=.3}=s,u=[],d=async()=>{let s=await Promise.all(o.map(async t=>{let n=t({chain:e,retryCount:0,timeout:a}),i=Date.now(),o,s;try{await(r?r({transport:n}):n.request({method:`net_listening`})),s=1}catch{s=0}finally{o=Date.now()}return{latency:o-i,success:s}}));u.push(s),u.length>i&&u.shift();let f=Math.max(...u.map(e=>Math.max(...e.map(({latency:e})=>e))));n(o.map((e,t)=>{let n=u.map(e=>e[t].latency),r=1-n.reduce((e,t)=>e+t,0)/n.length/f,i=u.map(e=>e[t].success),a=i.reduce((e,t)=>e+t,0)/i.length;return a===0?[0,t]:[l*r+c*a,t]}).sort((e,t)=>t[0]-e[0]).map(([,e])=>o[e])),await Id(t),d()};d()}var nf=class extends Mu{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};function rf(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,methods:o,name:s=`HTTP JSON-RPC`,onFetchRequest:c,onFetchResponse:l,retryDelay:u,raw:d}=t;return({chain:f,retryCount:p,timeout:m})=>{let{batchSize:h=1e3,wait:g=0}=typeof n==`object`?n:{},_=t.retryCount??p,v=m??t.timeout??1e4,y=e||f?.rpcUrls.default.http[0];if(!y)throw new nf;let b=Xd(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return Qd({key:a,methods:o,name:s,async request({method:e,params:t}){let r={method:e,params:t},{schedule:i}=Fd({id:y,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e}),sort:(e,t)=>e.id-t.id}),[{error:a,result:o}]=await(async e=>n?i(e):[await b.request({body:e})])(r);if(d)return{error:a,result:o};if(a)throw new ed({body:r,error:a,url:y});return o},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}var af=2147483648,of={convertEVMChainIdToCoinType(e){if(e>=af)throw Error(`Invalid chainId`);return(af|e)>>>0}},sf=oe({suggestions:[],loading:!1}),cf={state:sf,subscribe(e){return I(sf,()=>e(sf))},subscribeKey(e,t){return ie(sf,e,t)},async resolveName(e){try{return await V.lookupEnsName(e)}catch(e){throw Error(e?.reasons?.[0]?.description||`Error resolving name`)}},async isNameRegistered(e){try{return await V.lookupEnsName(e),!0}catch{return!1}},async getSuggestions(e){try{return sf.loading=!0,sf.suggestions=[],sf.suggestions=(await V.getEnsNameSuggestions(e)).suggestions.map(e=>({...e,name:e.name}))||[],sf.suggestions}catch(e){let t=this.parseEnsApiError(e,`Error fetching name suggestions`);throw Error(t)}finally{sf.loading=!1}},async getNamesForAddress(e){try{if(!G.state.activeCaipNetwork)return[];let t=E.getEnsFromCacheForAddress(e);if(t)return t;let n=await V.reverseLookupEnsName({address:e});return E.updateEnsCache({address:e,ens:n,timestamp:Date.now()}),n}catch(e){let t=this.parseEnsApiError(e,`Error fetching names for address`);throw Error(t)}},async registerName(e){let t=G.state.activeCaipNetwork;if(!t)throw Error(`Network not found`);let n=z.state.address,r=_.getAuthConnector();if(!n||!r)throw Error(`Address or auth connector not found`);sf.loading=!0;try{let r=JSON.stringify({name:e,attributes:{},timestamp:Math.floor(Date.now()/1e3)});M.pushTransactionStack({view:`RegisterAccountNameSuccess`,goBack:!1,replace:!0,onCancel(){sf.loading=!1}});let i=await H.signMessage(r),a=t.id;if(!a)throw Error(`Network not found`);let o=of.convertEVMChainIdToCoinType(Number(a));await V.registerEnsName({coinType:o,address:n,signature:i,message:r}),z.setProfileName(e,t.chainNamespace),M.replace(`RegisterAccountNameSuccess`)}catch(t){let n=this.parseEnsApiError(t,`Error registering name ${e}`);throw M.replace(`RegisterAccountName`),Error(n)}finally{sf.loading=!1}},validateName(e){return/^[a-zA-Z0-9-]{4,}$/u.test(e)},parseEnsApiError(e,t){return e?.reasons?.[0]?.description||t}},lf={ConnectorExplorerIds:{[B.CONNECTOR_ID.COINBASE]:`fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa`,[B.CONNECTOR_ID.COINBASE_SDK]:`fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa`,[B.CONNECTOR_ID.SAFE]:`225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f`,[B.CONNECTOR_ID.LEDGER]:`19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927`,[B.CONNECTOR_ID.OKX]:`971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709`,[K.METMASK_CONNECTOR_NAME]:`c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96`,[K.TRUST_CONNECTOR_NAME]:`4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0`,[K.SOLFLARE_CONNECTOR_NAME]:`1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79`,[K.PHANTOM_CONNECTOR_NAME]:`a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393`,[K.COIN98_CONNECTOR_NAME]:`2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01`,[K.MAGIC_EDEN_CONNECTOR_NAME]:`8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6`,[K.BACKPACK_CONNECTOR_NAME]:`2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0`,[K.BITGET_CONNECTOR_NAME]:`38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662`,[K.FRONTIER_CONNECTOR_NAME]:`85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041`,[K.XVERSE_CONNECTOR_NAME]:`2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b`,[K.LEATHER_CONNECTOR_NAME]:`483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13`},NetworkImageIds:{1:`ba0ba0cd-17c6-4806-ad93-f9d174f17900`,42161:`3bff954d-5cb0-47a0-9a23-d20192e74600`,43114:`30c46e53-e989-45fb-4549-be3bd4eb3b00`,56:`93564157-2e8e-4ce7-81df-b264dbee9b00`,250:`06b26297-fe0c-4733-5d6b-ffa5498aac00`,10:`ab9c186a-c52f-464b-2906-ca59d760a400`,137:`41d04d42-da3b-4453-8506-668cc0727900`,5e3:`e86fae9b-b770-4eea-e520-150e12c81100`,295:`6a97d510-cac8-4e58-c7ce-e8681b044c00`,11155111:`e909ea0a-f92a-4512-c8fc-748044ea6800`,84532:`a18a7ecd-e307-4360-4746-283182228e00`,1301:`4eeea7ef-0014-4649-5d1d-07271a80f600`,130:`2257980a-3463-48c6-cbac-a42d2a956e00`,10143:`0a728e83-bacb-46db-7844-948f05434900`,100:`02b53f6a-e3d4-479e-1cb4-21178987d100`,9001:`f926ff41-260d-4028-635e-91913fc28e00`,324:`b310f07f-4ef7-49f3-7073-2a0a39685800`,314:`5a73b3dd-af74-424e-cae0-0de859ee9400`,4689:`34e68754-e536-40da-c153-6ef2e7188a00`,1088:`3897a66d-40b9-4833-162f-a2c90531c900`,1284:`161038da-44ae-4ec7-1208-0ea569454b00`,1285:`f1d73bb6-5450-4e18-38f7-fb6484264a00`,7777777:`845c60df-d429-4991-e687-91ae45791600`,42220:`ab781bbc-ccc6-418d-d32d-789b15da1f00`,8453:`7289c336-3981-4081-c5f4-efc26ac64a00`,1313161554:`3ff73439-a619-4894-9262-4470c773a100`,2020:`b8101fc0-9c19-4b6f-ec65-f6dfff106e00`,2021:`b8101fc0-9c19-4b6f-ec65-f6dfff106e00`,80094:`e329c2c9-59b0-4a02-83e4-212ff3779900`,"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":`a1b58899-f671-4276-6a5e-56ca5bd59700`,"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z":`a1b58899-f671-4276-6a5e-56ca5bd59700`,EtWTRABZaYq6iMfeYKouRu166VU2xqa1:`a1b58899-f671-4276-6a5e-56ca5bd59700`,"000000000019d6689c085ae165831e93":`0b4838db-0161-4ffe-022d-532bf03dba00`,"000000000933ea01ad0ee984209779ba":`39354064-d79b-420b-065d-f980c4b78200`},ConnectorImageIds:{[B.CONNECTOR_ID.COINBASE]:`0c2840c3-5b04-4c44-9661-fbd4b49e1800`,[B.CONNECTOR_ID.COINBASE_SDK]:`0c2840c3-5b04-4c44-9661-fbd4b49e1800`,[B.CONNECTOR_ID.SAFE]:`461db637-8616-43ce-035a-d89b8a1d5800`,[B.CONNECTOR_ID.LEDGER]:`54a1aa77-d202-4f8d-0fb2-5d2bb6db0300`,[B.CONNECTOR_ID.WALLET_CONNECT]:`ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400`,[B.CONNECTOR_ID.INJECTED]:`07ba87ed-43aa-4adf-4540-9e6a2b9cae00`},ConnectorNamesMap:{[B.CONNECTOR_ID.INJECTED]:`Browser Wallet`,[B.CONNECTOR_ID.WALLET_CONNECT]:`WalletConnect`,[B.CONNECTOR_ID.COINBASE]:`Coinbase`,[B.CONNECTOR_ID.COINBASE_SDK]:`Coinbase`,[B.CONNECTOR_ID.LEDGER]:`Ledger`,[B.CONNECTOR_ID.SAFE]:`Safe`},ConnectorTypesMap:{[B.CONNECTOR_ID.INJECTED]:`INJECTED`,[B.CONNECTOR_ID.WALLET_CONNECT]:`WALLET_CONNECT`,[B.CONNECTOR_ID.EIP6963]:`ANNOUNCED`,[B.CONNECTOR_ID.AUTH]:`AUTH`},WalletConnectRpcChainIds:[1,5,11155111,10,420,42161,421613,137,80001,42220,1313161554,1313161555,56,97,43114,43113,100,8453,84531,7777777,999,324,280]},uf={UniversalProviderErrors:{UNAUTHORIZED_DOMAIN_NOT_ALLOWED:{message:`Unauthorized: origin not allowed`,alertErrorKey:`INVALID_APP_CONFIGURATION`},JWT_VALIDATION_ERROR:{message:`JWT validation error: JWT Token is not yet valid`,alertErrorKey:`JWT_TOKEN_NOT_VALID`},INVALID_KEY:{message:`Unauthorized: invalid key`,alertErrorKey:`INVALID_PROJECT_ID`}},ALERT_ERRORS:{SWITCH_NETWORK_NOT_FOUND:{shortMessage:`Network Not Found`,longMessage:`Network not found - please make sure it is included in 'networks' array in createAppKit function`},INVALID_APP_CONFIGURATION:{shortMessage:`Invalid App Configuration`,longMessage:()=>`Origin ${df()?window.origin:`unknown`} not found on Allowlist - update configuration on cloud.reown.com`},SOCIALS_TIMEOUT:{shortMessage:`Invalid App Configuration`,longMessage:()=>`There was an issue loading the embedded wallet. Please verify that your domain is allowed at cloud.reown.com`},JWT_TOKEN_NOT_VALID:{shortMessage:`Session Expired`,longMessage:`Invalid session found on UniversalProvider - please check your time settings and connect again`},INVALID_PROJECT_ID:{shortMessage:`Invalid App Configuration`,longMessage:`Invalid Project ID - update configuration`},PROJECT_ID_NOT_CONFIGURED:{shortMessage:`Project ID Not Configured`,longMessage:`Project ID Not Configured - update configuration on cloud.reown.com`}}};function df(){return typeof window<`u`}var ff={createLogger(e,t=`error`){let{logger:n}=T({opts:x({level:t})});return n.error=(...t)=>{for(let n of t)if(n instanceof Error){e(n,...t);return}e(void 0,...t)},n}},pf=`rpc.walletconnect.org`;function mf(e,t){let n=new URL(`https://rpc.walletconnect.org/v1/`);return n.searchParams.set(`chainId`,e),n.searchParams.set(`projectId`,t),n.toString()}var hf=`near:mainnet.solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp.eip155:1101.eip155:56.eip155:42161.eip155:7777777.eip155:59144.eip155:324.solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1.eip155:5000.solana:4sgjmw1sunhzsxgspuhpqldx6wiyjntz.eip155:80084.eip155:5003.eip155:100.eip155:8453.eip155:42220.eip155:1313161555.eip155:17000.eip155:1.eip155:300.eip155:1313161554.eip155:1329.eip155:84532.eip155:421614.eip155:11155111.eip155:8217.eip155:43114.solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z.eip155:999999999.eip155:11155420.eip155:80002.eip155:97.eip155:43113.eip155:137.eip155:10.eip155:1301.bip122:000000000019d6689c085ae165831e93.bip122:000000000933ea01ad0ee984209779ba`.split(`.`),gf={extendRpcUrlWithProjectId(e,t){let n=!1;try{n=new URL(e).host===pf}catch{n=!1}if(n){let n=new URL(e);return n.searchParams.has(`projectId`)||n.searchParams.set(`projectId`,t),n.toString()}return e},isCaipNetwork(e){return`chainNamespace`in e&&`caipNetworkId`in e},getChainNamespace(e){return this.isCaipNetwork(e)?e.chainNamespace:B.CHAIN.EVM},getCaipNetworkId(e){return this.isCaipNetwork(e)?e.caipNetworkId:`${B.CHAIN.EVM}:${e.id}`},getDefaultRpcUrl(e,t,n){let r=e.rpcUrls?.default?.http?.[0];return hf.includes(t)?mf(t,n):r||``},extendCaipNetwork(e,{customNetworkImageUrls:t,projectId:n,customRpcUrls:r}){let i=this.getChainNamespace(e),a=this.getCaipNetworkId(e),o=e.rpcUrls.default.http?.[0],s=this.getDefaultRpcUrl(e,a,n),c=e?.rpcUrls?.chainDefault?.http?.[0]||o,l=r?.[a]?.map(e=>e.url)||[],u=[...l,s],d=[...l];return c&&!d.includes(c)&&d.push(c),{...e,chainNamespace:i,caipNetworkId:a,assets:{imageId:lf.NetworkImageIds[e.id],imageUrl:t?.[e.id]},rpcUrls:{...e.rpcUrls,default:{http:u},chainDefault:{http:d}}}},extendCaipNetworks(e,{customNetworkImageUrls:t,projectId:n,customRpcUrls:r}){return e.map(e=>gf.extendCaipNetwork(e,{customNetworkImageUrls:t,customRpcUrls:r,projectId:n}))},getViemTransport(e,t,n){let r=[];if(n?.forEach(e=>{r.push(rf(e.url,e.config))}),hf.includes(e.caipNetworkId)){let n=this.getDefaultRpcUrl(e,e.caipNetworkId,t);r.push(rf(n,{fetchOptions:{headers:{"Content-Type":`text/plain`}}}))}return $d(r)},extendWagmiTransports(e,t,n){return hf.includes(e.caipNetworkId)?$d([n,rf(this.getDefaultRpcUrl(e,e.caipNetworkId,t))]):n},getUnsupportedNetwork(e){return{id:e.split(`:`)[1],caipNetworkId:e,name:B.UNSUPPORTED_NETWORK_NAME,chainNamespace:e.split(`:`)[0],nativeCurrency:{name:``,decimals:0,symbol:``},rpcUrls:{default:{http:[]}}}},getCaipNetworkFromStorage(e){let t=E.getActiveCaipNetworkId(),n=G.getAllRequestedCaipNetworks(),r=Array.from(G.state.chains?.keys()||[]),i=t?.split(`:`)[0],a=i?r.includes(i):!1,o=n?.find(e=>e.caipNetworkId===t);return a&&!o&&t?this.getUnsupportedNetwork(t):o||e||n?.[0]}},_f={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0},vf=oe({providers:{..._f},providerIds:{..._f}}),yf={state:vf,subscribeKey(e,t){return ie(vf,e,t)},subscribe(e){return I(vf,()=>{e(vf)})},subscribeProviders(e){return I(vf.providers,()=>e(vf.providers))},setProvider(e,t){t&&(vf.providers[e]=U(t))},getProvider(e){return vf.providers[e]},setProviderId(e,t){t&&(vf.providerIds[e]=t)},getProviderId(e){if(e)return vf.providerIds[e]},reset(){vf.providers={..._f},vf.providerIds={..._f}},resetChain(e){vf.providers[e]=void 0,vf.providerIds[e]=void 0}},bf=`2.23.2`,xf={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${bf}`},Sf=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=xf.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...xf.version?[`Version: ${xf.version}`]:[]].join(`
|
|
9
|
-
`);super(o,n.cause?{cause:n.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=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=bf}walk(e){return Cf(this,e)}};function Cf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Cf(e.cause,t):t?null:e}function wf(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function Tf(e){return wf(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Ef=class extends Sf{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}};function Df(e,{dir:t,size:n=32}={}){return typeof e==`string`?Of(e,{dir:t,size:n}):kf(e,{dir:t,size:n})}function Of(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Ef({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function kf(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ef({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Af=class extends Sf{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number "${i}" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},jf=class extends Sf{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}};function Mf(e,{size:t}){if(Tf(e)>t)throw new jf({givenSize:Tf(e),maxSize:t})}function Nf(e,t={}){let{signed:n}=t;t.size&&Mf(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Pf(e,t={}){return Number(Nf(e,t))}var Ff=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function If(e,t={}){return typeof e==`number`||typeof e==`bigint`?zf(e,t):typeof e==`string`?Vf(e,t):typeof e==`boolean`?Lf(e,t):Rf(e,t)}function Lf(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Mf(n,{size:t.size}),Df(n,{size:t.size})):n}function Rf(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Ff[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Mf(r,{size:t.size}),Df(r,{dir:`right`,size:t.size})):r}function zf(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Af({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?Df(s,{size:r}):s}var Bf=new TextEncoder;function Vf(e,t={}){return Rf(Bf.encode(e),t)}var Hf=new TextEncoder;function Uf(e,t={}){return typeof e==`number`||typeof e==`bigint`?Jf(e,t):typeof e==`boolean`?Wf(e,t):wf(e)?qf(e,t):Yf(e,t)}function Wf(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Mf(n,{size:t.size}),Df(n,{size:t.size})):n}var Gf={zero:48,nine:57,A:65,F:70,a:97,f:102};function Kf(e){if(e>=Gf.zero&&e<=Gf.nine)return e-Gf.zero;if(e>=Gf.A&&e<=Gf.F)return e-(Gf.A-10);if(e>=Gf.a&&e<=Gf.f)return e-(Gf.a-10)}function qf(e,t={}){let n=e;t.size&&(Mf(n,{size:t.size}),n=Df(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=Kf(r.charCodeAt(t++)),i=Kf(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new Sf(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);a[e]=n*16+i}return a}function Jf(e,t){return qf(zf(e,t))}function Yf(e,t={}){let n=Hf.encode(e);return typeof t.size==`number`?(Mf(n,{size:t.size}),Df(n,{dir:`right`,size:t.size})):n}var Xf=BigInt(2**32-1),Zf=BigInt(32);function Qf(e,t=!1){return t?{h:Number(e&Xf),l:Number(e>>Zf&Xf)}:{h:Number(e>>Zf&Xf)|0,l:Number(e&Xf)|0}}function $f(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=Qf(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var ep=(e,t,n)=>e<<n|t>>>32-n,tp=(e,t,n)=>t<<n|e>>>32-n,np=(e,t,n)=>t<<n-32|e>>>64-n,rp=(e,t,n)=>e<<n-32|t>>>64-n,ip=[],ap=[],op=[],sp=BigInt(0),cp=BigInt(1),lp=BigInt(2),up=BigInt(7),dp=BigInt(256),fp=BigInt(113);for(let e=0,t=cp,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ip.push(2*(5*r+n)),ap.push((e+1)*(e+2)/2%64);let i=sp;for(let e=0;e<7;e++)t=(t<<cp^(t>>up)*fp)%dp,t&lp&&(i^=cp<<(cp<<BigInt(e))-cp);op.push(i)}var[pp,mp]=$f(op,!0),hp=(e,t,n)=>n>32?np(e,t,n):ep(e,t,n),gp=(e,t,n)=>n>32?rp(e,t,n):tp(e,t,n);function _p(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=hp(a,o,1)^n[r],c=gp(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=ap[n],a=hp(t,i,r),o=gp(t,i,r),s=ip[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=pp[r],e[1]^=mp[r]}n.fill(0)}var vp=class e extends we{constructor(e,t,n,r=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Se(n),0>=this.blockLen||this.blockLen>=200)throw Error(`Sha3 supports only keccak-f1600 function`);this.state=new Uint8Array(200),this.state32=xe(this.state)}keccak(){ge||Ce(this.state32),_p(this.state32,this.rounds),ge||Ce(this.state32),this.posOut=0,this.pos=0}update(e){ye(this);let{blockLen:t,state:n}=this;e=_e(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){ye(this,!1),ve(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return Se(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(be(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},yp=((e,t,n)=>Te(()=>new vp(t,e,n)))(1,136,256/8);function bp(e,t){let n=t||`hex`,r=yp(wf(e,{strict:!1})?Uf(e):e);return n===`bytes`?r:If(r)}var xp=new class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let 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){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192);function Sp(e,t){if(xp.has(`${e}.${t}`))return xp.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=bp(Yf(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return xp.set(`${e}.${t}`,a),a}var Cp;(function(e){e.Mainnet=`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,e.Devnet=`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,e.Deprecated_Mainnet=`solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ`,e.Deprecated_Devnet=`solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K`})(Cp||={});var wp;(function(e){e.signTransaction=`solana_signTransaction`,e.signMessage=`solana_signMessage`,e.signAndSendTransaction=`solana_signAndSendTransaction`,e.signAndSendAllTransactions=`solana_signAndSendAllTransactions`,e.signAllTransactions=`solana_signAllTransactions`})(wp||={});var Tp={Mainnet:`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,Devnet:`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,Deprecated_Mainnet:`solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ`,Deprecated_Devnet:`solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K`},Ep=Object.defineProperty,Dp=(e,t,n)=>t in e?Ep(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Op=(e,t,n)=>Dp(e,typeof t==`symbol`?t:t+``,n),kp=class extends At{constructor(e){super(),this.opts=e,Op(this,`protocol`,`wc`),Op(this,`version`,2)}},Ap=Object.defineProperty,jp=(e,t,n)=>t in e?Ap(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mp=(e,t,n)=>jp(e,typeof t==`symbol`?t:t+``,n),Np=class extends At{constructor(e,t){super(),this.core=e,this.logger=t,Mp(this,`records`,new Map)}},Pp=class{constructor(e,t){this.logger=e,this.core=t}},Fp=class extends At{constructor(e,t){super(),this.relayer=e,this.logger=t}},Ip=class extends At{constructor(e){super()}},Lp=class{constructor(e,t,n,r){this.core=e,this.logger=t,this.name=n}},Rp=class extends At{constructor(e,t){super(),this.relayer=e,this.logger=t}},zp=class extends At{constructor(e,t){super(),this.core=e,this.logger=t}},Bp=class{constructor(e,t,n){this.core=e,this.logger=t,this.store=n}},Vp=class{constructor(e,t){this.projectId=e,this.logger=t}},Hp=class{constructor(e,t,n){this.core=e,this.logger=t,this.telemetryEnabled=n}};function Up(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function Wp(e){return Up(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Gp=`2.23.2`,Kp={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Gp}`},qp=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Kp.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Kp.version?[`Version: ${Kp.version}`]:[]].join(`
|
|
10
|
-
`);super(o,n.cause?{cause:n.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=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Gp}walk(e){return Jp(this,e)}};function Jp(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Jp(e.cause,t):t?null:e}var Yp=class extends qp{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}};function Xp(e,{dir:t,size:n=32}={}){return typeof e==`string`?Zp(e,{dir:t,size:n}):Qp(e,{dir:t,size:n})}function Zp(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Yp({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Qp(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Yp({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var $p=class extends qp{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number "${i}" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},em=class extends qp{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}};function tm(e,{size:t}){if(Wp(e)>t)throw new em({givenSize:Wp(e),maxSize:t})}function nm(e,t={}){let{signed:n}=t;t.size&&tm(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function rm(e,t={}){return Number(nm(e,t))}var im=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function am(e,t={}){return typeof e==`number`||typeof e==`bigint`?cm(e,t):typeof e==`string`?um(e,t):typeof e==`boolean`?om(e,t):sm(e,t)}function om(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(tm(n,{size:t.size}),Xp(n,{size:t.size})):n}function sm(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=im[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(tm(r,{size:t.size}),Xp(r,{dir:`right`,size:t.size})):r}function cm(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new $p({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?Xp(s,{size:r}):s}var lm=new TextEncoder;function um(e,t={}){return sm(lm.encode(e),t)}var dm=new TextEncoder;function fm(e,t={}){return typeof e==`number`||typeof e==`bigint`?_m(e,t):typeof e==`boolean`?pm(e,t):Up(e)?gm(e,t):vm(e,t)}function pm(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(tm(n,{size:t.size}),Xp(n,{size:t.size})):n}var mm={zero:48,nine:57,A:65,F:70,a:97,f:102};function hm(e){if(e>=mm.zero&&e<=mm.nine)return e-mm.zero;if(e>=mm.A&&e<=mm.F)return e-(mm.A-10);if(e>=mm.a&&e<=mm.f)return e-(mm.a-10)}function gm(e,t={}){let n=e;t.size&&(tm(n,{size:t.size}),n=Xp(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=hm(r.charCodeAt(t++)),i=hm(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new qp(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);a[e]=n*16+i}return a}function _m(e,t){return gm(cm(e,t))}function vm(e,t={}){let n=dm.encode(e);return typeof t.size==`number`?(tm(n,{size:t.size}),Xp(n,{dir:`right`,size:t.size})):n}var ym=BigInt(2**32-1),bm=BigInt(32);function xm(e,t=!1){return t?{h:Number(e&ym),l:Number(e>>bm&ym)}:{h:Number(e>>bm&ym)|0,l:Number(e&ym)|0}}function Sm(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=xm(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var Cm=(e,t,n)=>e<<n|t>>>32-n,wm=(e,t,n)=>t<<n|e>>>32-n,Tm=(e,t,n)=>t<<n-32|e>>>64-n,Em=(e,t,n)=>e<<n-32|t>>>64-n,Dm=[],Om=[],km=[],Am=BigInt(0),jm=BigInt(1),Mm=BigInt(2),Nm=BigInt(7),Pm=BigInt(256),Fm=BigInt(113);for(let e=0,t=jm,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Dm.push(2*(5*r+n)),Om.push((e+1)*(e+2)/2%64);let i=Am;for(let e=0;e<7;e++)t=(t<<jm^(t>>Nm)*Fm)%Pm,t&Mm&&(i^=jm<<(jm<<BigInt(e))-jm);km.push(i)}var[Im,Lm]=Sm(km,!0),Rm=(e,t,n)=>n>32?Tm(e,t,n):Cm(e,t,n),zm=(e,t,n)=>n>32?Em(e,t,n):wm(e,t,n);function Bm(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=Rm(a,o,1)^n[r],c=zm(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=Om[n],a=Rm(t,i,r),o=zm(t,i,r),s=Dm[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=Im[r],e[1]^=Lm[r]}n.fill(0)}var Vm=class e extends Ge{constructor(e,t,n,r=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ue(n),0>=this.blockLen||this.blockLen>=200)throw Error(`Sha3 supports only keccak-f1600 function`);this.state=new Uint8Array(200),this.state32=He(this.state)}keccak(){Le||We(this.state32),Bm(this.state32,this.rounds),Le||We(this.state32),this.posOut=0,this.pos=0}update(e){Be(this);let{blockLen:t,state:n}=this;e=Re(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Be(this,!1),ze(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return Ue(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ve(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},Hm=((e,t,n)=>Ke(()=>new Vm(t,e,n)))(1,136,256/8);function Um(e,t){let n=t||`hex`,r=Hm(Up(e,{strict:!1})?fm(e):e);return n===`bytes`?r:am(r)}var Wm=new class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let 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){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192);function Gm(e,t){if(Wm.has(`${e}.${t}`))return Wm.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=Um(vm(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Wm.set(`${e}.${t}`,a),a}function Km(e){return Gm(`0x${Um(`0x${e.substring(4)}`).substring(26)}`)}async function qm({hash:e,signature:t}){let n=Up(e)?e:am(e),{secp256k1:r}=await a(async()=>{let{secp256k1:e}=await import(`./secp256k1-CBKdYWfq.js`);return{secp256k1:e}},__vite__mapDeps([0,1,2]));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Jm(Number(a??i));return new r.Signature(nm(e),nm(n)).addRecoveryBit(o)}let e=Up(t)?t:am(t),n=Jm(rm(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Jm(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function Ym({hash:e,signature:t}){return Km(await qm({hash:e,signature:t}))}var Xm=`:`;function Zm(e){let[t,n]=e.split(Xm);return{namespace:t,reference:n}}function Qm(e){let[t,n,r]=e.split(Xm);return{namespace:t,reference:n,address:r}}function $m(e,t){return e.includes(`:`)?[e]:t.chains||[]}var eh={reactNative:`react-native`,node:`node`,browser:`browser`,unknown:`unknown`};function th(){return typeof process<`u`&&typeof process.versions<`u`&&typeof process.versions.node<`u`}function nh(){return!(0,Ms.getDocument)()&&!!(0,Ms.getNavigator)()&&navigator.product===`ReactNative`}function rh(){return nh()&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`&&(global==null?void 0:global.Platform.OS)===`android`}function ih(){return nh()&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`&&(global==null?void 0:global.Platform.OS)===`ios`}function ah(){return!th()&&!!(0,Ms.getNavigator)()&&!!(0,Ms.getDocument)()}function oh(){return nh()?eh.reactNative:th()?eh.node:ah()?eh.browser:eh.unknown}function sh(){try{return nh()&&typeof global<`u`&&typeof(global==null?void 0:global.Application)<`u`?global.Application?.applicationId:void 0}catch{return}}function ch(e,t){let n=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let r=t[e];r!==void 0&&n.set(e,r)}return n.toString()}function lh(){return(0,Ns.getWindowMetadata)()||{name:``,description:``,url:``,icons:[``]}}function uh(){if(oh()===eh.reactNative&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`){let{OS:e,Version:t}=global.Platform;return[e,t].join(`-`)}let e=ws();if(e===null)return`unknown`;let t=e.os?e.os.replace(` `,``).toLowerCase():`unknown`;return e.type===`browser`?[t,e.name,e.version].join(`-`):[t,e.version].join(`-`)}function dh(){let e=oh();return e===eh.browser?[e,(0,Ms.getLocation)()?.host||`unknown`].join(`:`):e}function fh(e,t,n){let r=uh(),i=dh();return[[e,t].join(`-`),[`js`,n].join(`-`),r,i].join(`/`)}function ph({protocol:e,version:t,relayUrl:n,sdkVersion:r,auth:i,projectId:a,useOnCloseEvent:o,bundleId:s,packageName:c}){let l=n.split(`?`),u={auth:i,ua:fh(e,t,r),projectId:a,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:s||void 0},d=ch(l[1]||``,u);return l[0]+`?`+d}function mh(e,t){return e.filter(e=>t.includes(e)).length===e.length}function hh(e){return Object.fromEntries(e.entries())}function gh(e){return new Map(Object.entries(e))}function _h(e=q.FIVE_MINUTES,t){let n=(0,q.toMiliseconds)(e||q.FIVE_MINUTES),r,i,a,o;return{resolve:e=>{a&&r&&(clearTimeout(a),r(e),o=Promise.resolve(e))},reject:e=>{a&&i&&(clearTimeout(a),i(e))},done:()=>new Promise((e,s)=>{if(o)return e(o);a=setTimeout(()=>{let e=Error(t);o=Promise.reject(e),s(e)},n),r=e,i=s})}}function vh(e,t,n){return new Promise(async(r,i)=>{let a=setTimeout(()=>i(Error(n)),t);try{r(await e)}catch(e){i(e)}clearTimeout(a)})}function yh(e,t){if(typeof t==`string`&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===`topic`){if(typeof t!=`string`)throw Error(`Value must be "string" for expirer target type: topic`);return`topic:${t}`}else if(e.toLowerCase()===`id`){if(typeof t!=`number`)throw Error(`Value must be "number" for expirer target type: id`);return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function bh(e){return yh(`topic`,e)}function xh(e){return yh(`id`,e)}function Sh(e){let[t,n]=e.split(`:`),r={id:void 0,topic:void 0};if(t===`topic`&&typeof n==`string`)r.topic=n;else if(t===`id`&&Number.isInteger(Number(n)))r.id=Number(n);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${n}`);return r}function Ch(e,t){return(0,q.fromMiliseconds)((t||Date.now())+(0,q.toMiliseconds)(e))}function wh(e){return Date.now()>=(0,q.toMiliseconds)(e)}function Th(e,t){return`${e}${t?`:${t}`:``}`}function Eh(e=[],t=[]){return[...new Set([...e,...t])]}async function Dh({id:e,topic:t,wcDeepLink:n}){var r;try{if(!n)return;let i=(typeof n==`string`?JSON.parse(n):n)?.href;if(typeof i!=`string`)return;let a=Oh(i,e,t),o=oh();if(o===eh.browser){if(!((r=(0,Ms.getDocument)())!=null&&r.hasFocus())){console.warn(`Document does not have focus, skipping deeplink.`);return}kh(a)}else o===eh.reactNative&&typeof(global==null?void 0:global.Linking)<`u`&&await global.Linking.openURL(a)}catch(e){console.error(e)}}function Oh(e,t,n){let r=`requestId=${t}&sessionTopic=${n}`;e.endsWith(`/`)&&(e=e.slice(0,-1));let i=`${e}`;if(e.startsWith(`https://t.me`)){let t=e.includes(`?`)?`&startapp=`:`?startapp=`;i=`${i}${t}${Ih(r,!0)}`}else i=`${i}/wc?${r}`;return i}function kh(e){let t=`_self`;Fh()?t=`_top`:(Ph()||e.startsWith(`https://`)||e.startsWith(`http://`))&&(t=`_blank`),window.open(e,t,`noreferrer noopener`)}async function Ah(e,t){let n=``;try{if(ah()&&(n=localStorage.getItem(t),n))return n;n=await e.getItem(t)}catch(e){console.error(e)}return n}function jh(e,t){if(!e.includes(t))return null;let n=e.split(/([&,?,=])/);return n[n.indexOf(t)+2]}function Mh(){return typeof crypto<`u`&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/gu,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function Nh(){return typeof process<`u`&&{}.IS_VITEST===`true`}function Ph(){return typeof window<`u`&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Fh(){try{return window.self!==window.top}catch{return!1}}function Ih(e,t=!1){let n=Buffer.from(e).toString(`base64`);return t?n.replace(/[=]/g,``):n}function Lh(e){return Buffer.from(e,`base64`).toString(`utf-8`)}function Rh(e){return new Promise(t=>setTimeout(t,e))}function zh(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Bh(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Vh(e,...t){if(!Bh(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Hh(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.wrapConstructor`);zh(e.outputLen),zh(e.blockLen)}function Uh(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Wh(e,t){Vh(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}var Gh=BigInt(2**32-1),Kh=BigInt(32);function qh(e,t=!1){return t?{h:Number(e&Gh),l:Number(e>>Kh&Gh)}:{h:Number(e>>Kh&Gh)|0,l:Number(e&Gh)|0}}function Jh(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=qh(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var Yh=(e,t,n)=>e<<n|t>>>32-n,Xh=(e,t,n)=>t<<n|e>>>32-n,Zh=(e,t,n)=>t<<n-32|e>>>64-n,Qh=(e,t,n)=>e<<n-32|t>>>64-n,$h=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0;function eg(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function tg(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ng(e,t){return e<<32-t|e>>>t}var rg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ig(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function ag(e){for(let t=0;t<e.length;t++)e[t]=ig(e[t])}function og(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got `+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function sg(e){return typeof e==`string`&&(e=og(e)),Vh(e),e}var cg=class{clone(){return this._cloneInto()}};function lg(e){let t=t=>e().update(sg(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function ug(e=32){if($h&&typeof $h.getRandomValues==`function`)return $h.getRandomValues(new Uint8Array(e));if($h&&typeof $h.randomBytes==`function`)return $h.randomBytes(e);throw Error(`crypto.getRandomValues must be defined`)}var dg=[],fg=[],pg=[],mg=BigInt(0),hg=BigInt(1),gg=BigInt(2),_g=BigInt(7),vg=BigInt(256),yg=BigInt(113);for(let e=0,t=hg,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],dg.push(2*(5*r+n)),fg.push((e+1)*(e+2)/2%64);let i=mg;for(let e=0;e<7;e++)t=(t<<hg^(t>>_g)*yg)%vg,t&gg&&(i^=hg<<(hg<<BigInt(e))-hg);pg.push(i)}var[bg,xg]=Jh(pg,!0),Sg=(e,t,n)=>n>32?Zh(e,t,n):Yh(e,t,n),Cg=(e,t,n)=>n>32?Qh(e,t,n):Xh(e,t,n);function wg(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=Sg(a,o,1)^n[r],c=Cg(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=fg[n],a=Sg(t,i,r),o=Cg(t,i,r),s=dg[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=bg[r],e[1]^=xg[r]}n.fill(0)}var Tg=class e extends cg{constructor(e,t,n,r=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,zh(n),0>=this.blockLen||this.blockLen>=200)throw Error(`Sha3 supports only keccak-f1600 function`);this.state=new Uint8Array(200),this.state32=eg(this.state)}keccak(){rg||ag(this.state32),wg(this.state32,this.rounds),rg||ag(this.state32),this.posOut=0,this.pos=0}update(e){Uh(this);let{blockLen:t,state:n}=this;e=sg(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Uh(this,!1),Vh(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return zh(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Wh(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},Eg=((e,t,n)=>lg(()=>new Tg(t,e,n)))(1,136,256/8),Dg=`https://rpc.walletconnect.org/v1`;function Og(e){let t=`Ethereum Signed Message:
|
|
11
|
-
${e.length}`,n=new TextEncoder().encode(t+e);return`0x`+Buffer.from(Eg(n)).toString(`hex`)}async function kg(e,t,n,r,i,a){switch(n.t){case`eip191`:return await Ag(e,t,n.s);case`eip1271`:return await jg(e,t,n.s,r,i,a);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function Ag(e,t,n){return(await Ym({hash:Og(t),signature:n})).toLowerCase()===e.toLowerCase()}async function jg(e,t,n,r,i,a){let o=Zm(r);if(!o.namespace||!o.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{let o=n.substring(2),s=`0x1626ba7e`+Og(t).substring(2)+`00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041`+o,{result:c}=await(await fetch(`${a||Dg}/?chainId=${r}&projectId=${i}`,{method:`POST`,body:JSON.stringify({id:Mg(),jsonrpc:`2.0`,method:`eth_call`,params:[{to:e,data:s},`latest`]})})).json();return c?c.slice(0,10).toLowerCase()===`0x1626ba7e`:!1}catch(e){return console.error(`isValidEip1271Signature: `,e),!1}}function Mg(){return Date.now()+Math.floor(Math.random()*1e3)}var Ng=Object.defineProperty,Pg=Object.defineProperties,Fg=Object.getOwnPropertyDescriptors,Ig=Object.getOwnPropertySymbols,Lg=Object.prototype.hasOwnProperty,Rg=Object.prototype.propertyIsEnumerable,zg=(e,t,n)=>t in e?Ng(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bg=(e,t)=>{for(var n in t||={})Lg.call(t,n)&&zg(e,n,t[n]);if(Ig)for(var n of Ig(t))Rg.call(t,n)&&zg(e,n,t[n]);return e},Vg=(e,t)=>Pg(e,Fg(t)),Hg=`did:pkh:`,Ug=e=>e?.split(`:`),Wg=e=>{let t=e&&Ug(e);if(t)return e.includes(Hg)?t[3]:t[1]},Gg=e=>{let t=e&&Ug(e);if(t)return t[2]+`:`+t[3]},Kg=e=>{let t=e&&Ug(e);if(t)return t.pop()};async function qg(e){let{cacao:t,projectId:n}=e,{s:r,p:i}=t,a=Jg(i,i.iss);return await kg(Kg(i.iss),a,r,Gg(i.iss),n)}var Jg=(e,t)=>{let n=`${e.domain} wants you to sign in with your Ethereum account:`,r=Kg(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let i=e.statement||void 0,a=`URI: ${e.aud||e.uri}`,o=`Version: ${e.version}`,s=`Chain ID: ${Wg(t)}`,c=`Nonce: ${e.nonce}`,l=`Issued At: ${e.iat}`,u=e.exp?`Expiration Time: ${e.exp}`:void 0,d=e.nbf?`Not Before: ${e.nbf}`:void 0,f=e.requestId?`Request ID: ${e.requestId}`:void 0,p=e.resources?`Resources:${e.resources.map(e=>`
|
|
12
|
-
- ${e}`).join(``)}`:void 0,m=l_(e.resources);if(m){let e=t_(m);i=o_(i,e)}return[n,r,``,i,``,a,o,s,c,l,u,d,f,p].filter(e=>e!=null).join(`
|
|
13
|
-
`)};function Yg(e){return Buffer.from(JSON.stringify(e)).toString(`base64`)}function Xg(e){return JSON.parse(Buffer.from(e,`base64`).toString(`utf-8`))}function Zg(e){if(!e)throw Error(`No recap provided, value is undefined`);if(!e.att)throw Error("No `att` property found");let t=Object.keys(e.att);if(!(t!=null&&t.length))throw Error("No resources found in `att` property");t.forEach(t=>{let n=e.att[t];if(Array.isArray(n)||typeof n!=`object`)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(n).length)throw Error(`Resource object is empty: ${t}`);Object.keys(n).forEach(e=>{let t=n[e];if(!Array.isArray(t))throw Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach(t=>{if(typeof t!=`object`)throw Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)})})})}function Qg(e,t,n,r={}){return n?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:$g(t,n,r)}}}function $g(e,t,n={}){t=t?.sort((e,t)=>e.localeCompare(t));let r=t.map(t=>({[`${e}/${t}`]:[n]}));return Object.assign({},...r)}function e_(e){return Zg(e),`urn:recap:${Yg(e).replace(/=/g,``)}`}function t_(e){let t=Xg(e.replace(`urn:recap:`,``));return Zg(t),t}function n_(e,t,n){return e_(Qg(e,t,n))}function r_(e){return e&&e.includes(`urn:recap:`)}function i_(e,t){return e_(a_(t_(e),t_(t)))}function a_(e,t){Zg(e),Zg(t);let n=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),r={att:{}};return n.forEach(n=>{Object.keys(e.att?.[n]||{}).concat(Object.keys(t.att?.[n]||{})).sort((e,t)=>e.localeCompare(t)).forEach(i=>{r.att[n]=Vg(Bg({},r.att[n]),{[i]:e.att[n]?.[i]||t.att[n]?.[i]})})}),r}function o_(e=``,t){Zg(t);let n=`I further authorize the stated URI to perform the following actions on my behalf: `;if(e.includes(n))return e;let r=[],i=0;Object.keys(t.att).forEach(e=>{let n=Object.keys(t.att[e]).map(e=>({ability:e.split(`/`)[0],action:e.split(`/`)[1]}));n.sort((e,t)=>e.action.localeCompare(t.action));let a={};n.forEach(e=>{a[e.ability]||(a[e.ability]=[]),a[e.ability].push(e.action)});let o=Object.keys(a).map(t=>(i++,`(${i}) '${t}': '${a[t].join(`', '`)}' for '${e}'.`));r.push(o.join(`, `).replace(`.,`,`.`))});let a=`${n}${r.join(` `)}`;return`${e?e+` `:``}${a}`}function s_(e){let t=t_(e);Zg(t);let n=t.att?.eip155;return n?Object.keys(n).map(e=>e.split(`/`)[1]):[]}function c_(e){let t=t_(e);Zg(t);let n=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;(t=e?.[0])!=null&&t.chains&&n.push(e[0].chains)})}),[...new Set(n.flat())]}function l_(e){if(!e)return;let t=e?.[e.length-1];return r_(t)?t:void 0}function u_(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function d_(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function f_(e,...t){if(!d_(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function p_(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function m_(e,t){f_(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function h_(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var g_=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),__=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw Error(`Non little-endian hardware is not supported`);function v_(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function y_(e){if(typeof e==`string`)e=v_(e);else if(d_(e))e=E_(e);else throw Error(`Uint8Array expected, got `+typeof e);return e}function b_(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function x_(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}var S_=(e,t)=>{function n(n,...r){if(f_(n),e.nonceLength!==void 0){let t=r[0];if(!t)throw Error(`nonce / iv required`);e.varSizeNonce?f_(t):f_(t,e.nonceLength)}let i=e.tagLength;i&&r[1]!==void 0&&f_(r[1]);let a=t(n,...r),o=(e,t)=>{if(t!==void 0){if(e!==2)throw Error(`cipher output not supported`);f_(t)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,f_(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(f_(e),i&&e.length<i)throw Error(`invalid ciphertext length: smaller than tagLength=`+i);return o(a.decrypt.length,t),a.decrypt(e,t)}}}return Object.assign(n,e),n};function C_(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error(`invalid output length, expected `+e+`, got: `+t.length);if(n&&!T_(t))throw Error(`invalid output, must be aligned`);return t}function w_(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function T_(e){return e.byteOffset%4==0}function E_(e){return Uint8Array.from(e)}function D_(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var O_=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),k_=O_(`expand 16-byte k`),A_=O_(`expand 32-byte k`),j_=g_(k_),M_=g_(A_);function N_(e,t){return e<<t|e>>>32-t}function P_(e){return e.byteOffset%4==0}var F_=64,I_=16,L_=2**32-1,R_=new Uint32Array;function z_(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(F_),u=g_(l),d=P_(i)&&P_(a),f=d?g_(i):R_,p=d?g_(a):R_;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=L_)throw Error(`arx: counter overflow`);let h=Math.min(F_,c-m);if(d&&h===F_){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<I_;t++)n=e+t,p[n]=f[n]^u[t];m+=F_;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function B_(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=b_({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return u_(i),u_(o),h_(a),h_(n),(t,s,c,l,u=0)=>{f_(t),f_(s),f_(c);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),f_(l),u_(u),u<0||u>=L_)throw Error(`arx: counter overflow`);if(l.length<d)throw Error(`arx: output (${l.length}) is shorter than data (${d})`);let f=[],p=t.length,m,h;if(p===32)f.push(m=E_(t)),h=M_;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=j_,f.push(m);else throw Error(`arx: invalid 32-byte key, got length=${p}`);P_(s)||f.push(s=E_(s));let g=g_(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,g_(s.subarray(0,16)),g),s=s.subarray(16)}let _=16-i;if(_!==s.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let e=new Uint8Array(12);e.set(s,a?0:12-s.length),s=e,f.push(s)}let v=g_(s);return z_(e,h,g,v,c,l,u,o),D_(...f),l}}var V_=(e,t)=>e[t++]&255|(e[t++]&255)<<8,H_=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=y_(e),f_(e,32);let t=V_(e,0),n=V_(e,2),r=V_(e,4),i=V_(e,6),a=V_(e,8),o=V_(e,10),s=V_(e,12),c=V_(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|o<<2)&8191,this.r[7]=(o>>>11|s<<5)&8065,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=V_(e,16+2*t)}process(e,t,n=!1){let r=n?0:2048,{h:i,r:a}=this,o=a[0],s=a[1],c=a[2],l=a[3],u=a[4],d=a[5],f=a[6],p=a[7],m=a[8],h=a[9],g=V_(e,t+0),_=V_(e,t+2),v=V_(e,t+4),y=V_(e,t+6),b=V_(e,t+8),x=V_(e,t+10),S=V_(e,t+12),C=V_(e,t+14),w=i[0]+(g&8191),T=i[1]+((g>>>13|_<<3)&8191),E=i[2]+((_>>>10|v<<6)&8191),D=i[3]+((v>>>7|y<<9)&8191),O=i[4]+((y>>>4|b<<12)&8191),k=i[5]+(b>>>1&8191),A=i[6]+((b>>>14|x<<2)&8191),j=i[7]+((x>>>11|S<<5)&8191),M=i[8]+((S>>>8|C<<8)&8191),N=i[9]+(C>>>5|r),P=0,F=P+w*o+5*h*T+5*m*E+5*p*D+5*f*O;P=F>>>13,F&=8191,F+=5*d*k+5*u*A+5*l*j+5*c*M+5*s*N,P+=F>>>13,F&=8191;let I=P+w*s+T*o+5*h*E+5*m*D+5*p*O;P=I>>>13,I&=8191,I+=5*f*k+5*d*A+5*u*j+5*l*M+5*c*N,P+=I>>>13,I&=8191;let L=P+w*c+T*s+E*o+5*h*D+5*m*O;P=L>>>13,L&=8191,L+=5*p*k+5*f*A+5*d*j+5*u*M+5*l*N,P+=L>>>13,L&=8191;let R=P+w*l+T*c+E*s+D*o+5*h*O;P=R>>>13,R&=8191,R+=5*m*k+5*p*A+5*f*j+5*d*M+5*u*N,P+=R>>>13,R&=8191;let z=P+w*u+T*l+E*c+D*s+O*o;P=z>>>13,z&=8191,z+=5*h*k+5*m*A+5*p*j+5*f*M+5*d*N,P+=z>>>13,z&=8191;let B=P+w*d+T*u+E*l+D*c+O*s;P=B>>>13,B&=8191,B+=k*o+5*h*A+5*m*j+5*p*M+5*f*N,P+=B>>>13,B&=8191;let V=P+w*f+T*d+E*u+D*l+O*c;P=V>>>13,V&=8191,V+=k*s+A*o+5*h*j+5*m*M+5*p*N,P+=V>>>13,V&=8191;let H=P+w*p+T*f+E*d+D*u+O*l;P=H>>>13,H&=8191,H+=k*c+A*s+j*o+5*h*M+5*m*N,P+=H>>>13,H&=8191;let ee=P+w*m+T*p+E*f+D*d+O*u;P=ee>>>13,ee&=8191,ee+=k*l+A*c+j*s+M*o+5*h*N,P+=ee>>>13,ee&=8191;let U=P+w*h+T*m+E*p+D*f+O*d;P=U>>>13,U&=8191,U+=k*u+A*l+j*c+M*s+N*o,P+=U>>>13,U&=8191,P=(P<<2)+P|0,P=P+F|0,F=P&8191,P>>>=13,I+=P,i[0]=F,i[1]=I,i[2]=L,i[3]=R,i[4]=z,i[5]=B,i[6]=V,i[7]=H,i[8]=ee,i[9]=U}finalize(){let{h:e,pad:t}=this,n=new Uint16Array(10),r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=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,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(r^1)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+t[0];e[0]=a&65535;for(let n=1;n<8;n++)a=(e[n]+t[n]|0)+(a>>>16)|0,e[n]=a&65535;D_(n)}update(e){p_(this);let{buffer:t,blockLen:n}=this;e=y_(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(n-this.pos,r-i);if(a===n){for(;n<=r-i;i+=n)this.process(e,i);continue}t.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){D_(this.h,this.r,this.buffer,this.pad)}digestInto(e){p_(this),m_(e,this),this.finished=!0;let{buffer:t,h:n}=this,{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}};function U_(e){let t=(t,n)=>e(n).update(y_(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}var W_=U_(e=>new H_(e));function G_(e,t,n,r,i,a=20){let o=e[0],s=e[1],c=e[2],l=e[3],u=t[0],d=t[1],f=t[2],p=t[3],m=t[4],h=t[5],g=t[6],_=t[7],v=i,y=n[0],b=n[1],x=n[2],S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I=b,L=x;for(let e=0;e<a;e+=2)S=S+E|0,P=N_(P^S,16),A=A+P|0,E=N_(E^A,12),S=S+E|0,P=N_(P^S,8),A=A+P|0,E=N_(E^A,7),C=C+D|0,F=N_(F^C,16),j=j+F|0,D=N_(D^j,12),C=C+D|0,F=N_(F^C,8),j=j+F|0,D=N_(D^j,7),w=w+O|0,I=N_(I^w,16),M=M+I|0,O=N_(O^M,12),w=w+O|0,I=N_(I^w,8),M=M+I|0,O=N_(O^M,7),T=T+k|0,L=N_(L^T,16),N=N+L|0,k=N_(k^N,12),T=T+k|0,L=N_(L^T,8),N=N+L|0,k=N_(k^N,7),S=S+D|0,L=N_(L^S,16),M=M+L|0,D=N_(D^M,12),S=S+D|0,L=N_(L^S,8),M=M+L|0,D=N_(D^M,7),C=C+O|0,P=N_(P^C,16),N=N+P|0,O=N_(O^N,12),C=C+O|0,P=N_(P^C,8),N=N+P|0,O=N_(O^N,7),w=w+k|0,F=N_(F^w,16),A=A+F|0,k=N_(k^A,12),w=w+k|0,F=N_(F^w,8),A=A+F|0,k=N_(k^A,7),T=T+E|0,I=N_(I^T,16),j=j+I|0,E=N_(E^j,12),T=T+E|0,I=N_(I^T,8),j=j+I|0,E=N_(E^j,7);let R=0;r[R++]=o+S|0,r[R++]=s+C|0,r[R++]=c+w|0,r[R++]=l+T|0,r[R++]=u+E|0,r[R++]=d+D|0,r[R++]=f+O|0,r[R++]=p+k|0,r[R++]=m+A|0,r[R++]=h+j|0,r[R++]=g+M|0,r[R++]=_+N|0,r[R++]=v+P|0,r[R++]=y+F|0,r[R++]=b+I|0,r[R++]=x+L|0}var K_=B_(G_,{counterRight:!1,counterLength:4,allowShortKeys:!1}),q_=new Uint8Array(16),J_=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(q_.subarray(n))},Y_=new Uint8Array(32);function X_(e,t,n,r,i){let a=e(t,n,Y_),o=W_.create(a);i&&J_(o,i),J_(o,r);let s=new Uint8Array(16),c=__(s);w_(c,0,BigInt(i?i.length:0),!0),w_(c,8,BigInt(r.length),!0),o.update(s);let l=o.digest();return D_(a,s),l}var Z_=S_({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=C_(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=X_(e,t,n,s,r);return a.set(c,o),D_(c),a},decrypt(i,a){a=C_(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=X_(e,t,n,o,r);if(!x_(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),D_(c),a}}))(K_)),Q_=class extends cg{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Hh(e);let n=sg(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),i.fill(0)}update(e){return Uh(this),this.iHash.update(e),this}digestInto(e){Uh(this),Vh(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},$_=(e,t,n)=>new Q_(e,t).update(n).digest();$_.create=(e,t)=>new Q_(e,t);function ev(e,t,n){return Hh(e),n===void 0&&(n=new Uint8Array(e.outputLen)),$_(e,sg(n),sg(t))}var tv=new Uint8Array([0]),nv=new Uint8Array;function rv(e,t,n,r=32){if(Hh(e),zh(r),r>255*e.outputLen)throw Error(`Length should be <= 255*HashLen`);let i=Math.ceil(r/e.outputLen);n===void 0&&(n=nv);let a=new Uint8Array(i*e.outputLen),o=$_.create(e,t),s=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let t=0;t<i;t++)tv[0]=t+1,s.update(t===0?nv:c).update(n).update(tv).digestInto(c),a.set(c,e.outputLen*t),o._cloneInto(s);return o.destroy(),s.destroy(),c.fill(0),tv.fill(0),a.slice(0,r)}var iv=(e,t,n,r,i)=>rv(e,ev(e,t,n),r,i);function av(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function ov(e,t,n){return e&t^~e&n}function sv(e,t,n){return e&t^e&n^t&n}var cv=class extends cg{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=tg(this.buffer)}update(e){Uh(this);let{view:t,buffer:n,blockLen:r}=this;e=sg(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=tg(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Uh(this),Wh(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;av(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=tg(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.length=r,e.pos=o,e.finished=i,e.destroyed=a,r%t&&e.buffer.set(n),e}},lv=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]),uv=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),dv=new Uint32Array(64),fv=class extends cv{constructor(){super(64,32,8,!1),this.A=uv[0]|0,this.B=uv[1]|0,this.C=uv[2]|0,this.D=uv[3]|0,this.E=uv[4]|0,this.F=uv[5]|0,this.G=uv[6]|0,this.H=uv[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)dv[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=dv[e-15],n=dv[e-2],r=ng(t,7)^ng(t,18)^t>>>3;dv[e]=(ng(n,17)^ng(n,19)^n>>>10)+dv[e-7]+r+dv[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=ng(o,6)^ng(o,11)^ng(o,25),u=l+t+ov(o,s,c)+lv[e]+dv[e]|0,d=(ng(n,2)^ng(n,13)^ng(n,22))+sv(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){dv.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},pv=lg(()=>new fv),mv=BigInt(0);function hv(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function gv(e){if(!hv(e))throw Error(`Uint8Array expected`)}var _v=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function vv(e){gv(e);let t=``;for(let n=0;n<e.length;n++)t+=_v[e[n]];return t}function yv(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?mv:BigInt(`0x`+e)}var bv={_0:48,_9:57,A:65,F:70,a:97,f:102};function xv(e){if(e>=bv._0&&e<=bv._9)return e-bv._0;if(e>=bv.A&&e<=bv.F)return e-(bv.A-10);if(e>=bv.a&&e<=bv.f)return e-(bv.a-10)}function Sv(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=xv(e.charCodeAt(i)),a=xv(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function Cv(e){return gv(e),yv(vv(Uint8Array.from(e).reverse()))}function wv(e,t){return Sv(e.toString(16).padStart(t*2,`0`))}function Tv(e,t){return wv(e,t).reverse()}function Ev(e,t,n){let r;if(typeof t==`string`)try{r=Sv(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(hv(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}var Dv=e=>typeof e==`bigint`&&mv<=e;function Ov(e,t,n){return Dv(e)&&Dv(t)&&Dv(n)&&t<=e&&e<n}function kv(e,t,n,r){if(!Ov(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}var Av={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||hv(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function jv(e,t,n={}){let r=(t,n,r)=>{let i=Av[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}var Mv=BigInt(0),Nv=BigInt(1);function Pv(e,t){let n=e%t;return n>=Mv?n:t+n}function Fv(e,t,n){if(t<Mv)throw Error(`invalid exponent, negatives unsupported`);if(n<=Mv)throw Error(`invalid modulus`);if(n===Nv)return Mv;let r=Nv;for(;t>Mv;)t&Nv&&(r=r*e%n),e=e*e%n,t>>=Nv;return r}function Iv(e,t,n){let r=e;for(;t-- >Mv;)r*=r,r%=n;return r}var Lv=BigInt(0),Rv=BigInt(1);function zv(e){return jv(e,{a:`bigint`},{montgomeryBits:`isSafeInteger`,nByteLength:`isSafeInteger`,adjustScalarBytes:`function`,domain:`function`,powPminus2:`function`,Gu:`bigint`}),Object.freeze({...e})}function Bv(e){let t=zv(e),{P:n}=t,r=e=>Pv(e,n),i=t.montgomeryBits,a=Math.ceil(i/8),o=t.nByteLength,s=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>Fv(e,n-BigInt(2),n));function l(e,t,n){let i=r(e*(t-n));return t=r(t-i),n=r(n+i),[t,n]}let u=(t.a-BigInt(2))/BigInt(4);function d(e,t){kv(`u`,e,Lv,n),kv(`scalar`,t,Lv,n);let a=t,o=e,s=Rv,d=Lv,f=e,p=Rv,m=Lv,h;for(let e=BigInt(i-1);e>=Lv;e--){let t=a>>e&Rv;m^=t,h=l(m,s,f),s=h[0],f=h[1],h=l(m,d,p),d=h[0],p=h[1],m=t;let n=s+d,i=r(n*n),c=s-d,g=r(c*c),_=i-g,v=f+p,y=r((f-p)*n),b=r(v*c),x=y+b,S=y-b;f=r(x*x),p=r(o*r(S*S)),s=r(i*g),d=r(_*(i+r(u*_)))}h=l(m,s,f),s=h[0],f=h[1],h=l(m,d,p),d=h[0],p=h[1];let g=c(d);return r(s*g)}function f(e){return Tv(r(e),a)}function p(e){let t=Ev(`u coordinate`,e,a);return o===32&&(t[31]&=127),Cv(t)}function m(e){let t=Ev(`scalar`,e),n=t.length;if(n!==a&&n!==o){let e=``+a+` or `+o;throw Error(`invalid scalar, expected `+e+` bytes, got `+n)}return Cv(s(t))}function h(e,t){let n=d(p(t),m(e));if(n===Lv)throw Error(`invalid private or public key received`);return f(n)}let g=f(t.Gu);function _(e){return h(e,g)}return{scalarMult:h,scalarMultBase:_,getSharedSecret:(e,t)=>h(e,t),getPublicKey:e=>_(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var Vv=BigInt(`57896044618658097711785492504343953926634992332820282019728792003956564819949`),Hv=BigInt(1),Uv=BigInt(2),Wv=BigInt(3),Gv=BigInt(5);function Kv(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=Vv,o=e*e%a*e%a,s=Iv(Iv(o,Uv,a)*o%a,Hv,a)*e%a,c=Iv(s,Gv,a)*s%a,l=Iv(c,t,a)*c%a,u=Iv(l,n,a)*l%a,d=Iv(u,r,a)*u%a;return{pow_p_5_8:Iv(Iv(Iv(Iv(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,Uv,a)*e%a,b2:o}}function qv(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Jv=Bv({P:Vv,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Vv,{pow_p_5_8:n,b2:r}=Kv(e);return Pv(Iv(n,Wv,t)*r,t)},adjustScalarBytes:qv,randomBytes:ug}),Yv=`base10`,Xv=`base16`,Zv=`base64pad`,Qv=`base64url`,$v=`utf8`,ey=0,ty=1,ny=12,ry=32;function iy(){let e=Jv.utils.randomPrivateKey(),t=Jv.getPublicKey(e);return{privateKey:wl(e,Xv),publicKey:wl(t,Xv)}}function ay(){return wl(ug(ry),Xv)}function oy(e,t){return wl(iv(pv,Jv.getSharedSecret(Cl(e,Xv),Cl(t,Xv)),void 0,void 0,ry),Xv)}function sy(e){return wl(pv(Cl(e,Xv)),Xv)}function cy(e){return wl(pv(Cl(e,$v)),Xv)}function ly(e){return Cl(`${e}`,Yv)}function uy(e){return Number(wl(e,Yv))}function dy(e){let t=ly(typeof e.type<`u`?e.type:0);if(uy(t)===1&&typeof e.senderPublicKey>`u`)throw Error(`Missing sender public key for type 1 envelope`);let n=typeof e.senderPublicKey<`u`?Cl(e.senderPublicKey,Xv):void 0,r=typeof e.iv<`u`?Cl(e.iv,Xv):ug(ny);return hy({type:t,sealed:Z_(Cl(e.symKey,Xv),r).encrypt(Cl(e.message,$v)),iv:r,senderPublicKey:n,encoding:e.encoding})}function fy(e){let t=Cl(e.symKey,Xv),{sealed:n,iv:r}=gy(e),i=Z_(t,r).decrypt(n);if(i===null)throw Error(`Failed to decrypt`);return wl(i,$v)}function py(e,t){let n=ly(2),r=ug(ny);return hy({type:n,sealed:Cl(e,$v),iv:r,encoding:t})}function my(e,t){let{sealed:n}=gy({encoded:e,encoding:t});return wl(n,$v)}function hy(e){let{encoding:t=Zv}=e;if(uy(e.type)===2)return wl(Ls([e.type,e.sealed]),t);if(uy(e.type)===1){if(typeof e.senderPublicKey>`u`)throw Error(`Missing sender public key for type 1 envelope`);return wl(Ls([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return wl(Ls([e.type,e.iv,e.sealed]),t)}function gy(e){let{encoded:t,encoding:n=Zv}=e,r=Cl(t,n),i=r.slice(ey,ty),a=ty;if(uy(i)===1){let e=r.slice(a,33),t=r.slice(33,45);return{type:i,sealed:r.slice(45),iv:t,senderPublicKey:e}}if(uy(i)===2)return{type:i,sealed:r.slice(a),iv:ug(ny)};let o=r.slice(a,13);return{type:i,sealed:r.slice(13),iv:o}}function _y(e,t){let n=gy({encoded:e,encoding:t?.encoding});return vy({type:uy(n.type),senderPublicKey:typeof n.senderPublicKey<`u`?wl(n.senderPublicKey,Xv):void 0,receiverPublicKey:t?.receiverPublicKey})}function vy(e){let t=e?.type||0;if(t===1){if(typeof e?.senderPublicKey>`u`)throw Error(`missing sender public key`);if(typeof e?.receiverPublicKey>`u`)throw Error(`missing receiver public key`)}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function yy(e){return e.type===1&&typeof e.senderPublicKey==`string`&&typeof e.receiverPublicKey==`string`}function by(e){return e.type===2}function xy(e){return new yu.ec(`p256`).keyFromPublic({x:Buffer.from(e.x,`base64`).toString(`hex`),y:Buffer.from(e.y,`base64`).toString(`hex`)},`hex`)}function Sy(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4;return n>0&&(t+=`=`.repeat(4-n)),t}function Cy(e){return Buffer.from(Sy(e),`base64`)}function wy(e,t){let[n,r,i]=e.split(`.`),a=Cy(i);if(a.length!==64)throw Error(`Invalid signature length`);let o=a.slice(0,32).toString(`hex`),s=a.slice(32,64).toString(`hex`),c=pv(`${n}.${r}`),l=xy(t),u=wl(c,Xv);if(!l.verify(u,{r:o,s}))throw Error(`Invalid signature`);return us(e).payload}function Ty(e){return e?.relay||{protocol:`irn`}}function Ey(e){let t=bu[e];if(typeof t>`u`)throw Error(`Relay Protocol not supported: ${e}`);return t}function Dy(e,t=`-`){let n={},r=`relay`+t;return Object.keys(e).forEach(t=>{if(t.startsWith(r)){let i=t.replace(r,``);n[i]=e[t]}}),n}function Oy(e){if(!e.includes(`wc:`)){let t=Lh(e);t!=null&&t.includes(`wc:`)&&(e=t)}e=e.includes(`wc://`)?e.replace(`wc://`,``):e,e=e.includes(`wc:`)?e.replace(`wc:`,``):e;let t=e.indexOf(`:`),n=e.indexOf(`?`)===-1?void 0:e.indexOf(`?`),r=e.substring(0,t),i=e.substring(t+1,n).split(`@`),a=typeof n<`u`?e.substring(n):``,o=new URLSearchParams(a),s={};o.forEach((e,t)=>{s[t]=e});let c=typeof s.methods==`string`?s.methods.split(`,`):void 0;return{protocol:r,topic:ky(i[0]),version:parseInt(i[1],10),symKey:s.symKey,relay:Dy(s),methods:c,expiryTimestamp:s.expiryTimestamp?parseInt(s.expiryTimestamp,10):void 0}}function ky(e){return e.startsWith(`//`)?e.substring(2):e}function Ay(e,t=`-`){let n={};return Object.keys(e).forEach(r=>{let i=r,a=`relay`+t+i;e[i]&&(n[a]=e[i])}),n}function jy(e){let t=new URLSearchParams,n=Ay(e.relay);Object.keys(n).sort().forEach(e=>{t.set(e,n[e])}),t.set(`symKey`,e.symKey),e.expiryTimestamp&&t.set(`expiryTimestamp`,e.expiryTimestamp.toString()),e.methods&&t.set(`methods`,e.methods.join(`,`));let r=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${r}`}function My(e,t,n){return`${e}?wc_ev=${n}&topic=${t}`}function Ny(e){let t=[];return e.forEach(e=>{let[n,r]=e.split(`:`);t.push(`${n}:${r}`)}),t}function Py(e){let t=[];return Object.values(e).forEach(e=>{t.push(...Ny(e.accounts))}),t}function Fy(e,t){let n=[];return Object.values(e).forEach(e=>{Ny(e.accounts).includes(t)&&n.push(...e.methods)}),n}function Iy(e,t){let n=[];return Object.values(e).forEach(e=>{Ny(e.accounts).includes(t)&&n.push(...e.events)}),n}function Ly(e){return e.includes(`:`)}function Ry(e){return Ly(e)?e.split(`:`)[0]:e}function zy(e){let t={};return e?.forEach(e=>{var n;let[r,i]=e.split(`:`);t[r]||(t[r]={accounts:[],chains:[],events:[],methods:[]}),t[r].accounts.push(e),(n=t[r].chains)==null||n.push(`${r}:${i}`)}),t}function By(e,t){t=t.map(e=>e.replace(`did:pkh:`,``));let n=zy(t);for(let[t,r]of Object.entries(n))r.methods?r.methods=Eh(r.methods,e):r.methods=e,r.events=[`chainChanged`,`accountsChanged`];return n}var Vy={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}},Hy={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 Y(e,t){let{message:n,code:r}=Hy[e];return{message:t?`${n} ${t}`:n,code:r}}function Uy(e,t){let{message:n,code:r}=Vy[e];return{message:t?`${n} ${t}`:n,code:r}}function Wy(e,t){return Array.isArray(e)?typeof t<`u`&&e.length?e.every(t):!0:!1}function Gy(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function Ky(e){return typeof e>`u`}function qy(e,t){return t&&Ky(e)?!0:typeof e==`string`&&!!e.trim().length}function Jy(e,t){return t&&Ky(e)?!0:typeof e==`number`&&!isNaN(e)}function Yy(e,t){let{requiredNamespaces:n}=t,r=Object.keys(e.namespaces),i=Object.keys(n),a=!0;return mh(i,r)?(r.forEach(t=>{let{accounts:r,methods:i,events:o}=e.namespaces[t],s=Ny(r),c=n[t];(!mh($m(t,c),s)||!mh(c.methods,i)||!mh(c.events,o))&&(a=!1)}),a):!1}function Xy(e){return qy(e,!1)&&e.includes(`:`)?e.split(`:`).length===2:!1}function Zy(e){if(qy(e,!1)&&e.includes(`:`)){let t=e.split(`:`);if(t.length===3){let e=t[0]+`:`+t[1];return!!t[2]&&Xy(e)}}return!1}function Qy(e){function t(e){try{return typeof new URL(e)<`u`}catch{return!1}}try{if(qy(e,!1))return t(e)?!0:t(Lh(e))}catch{}return!1}function $y(e){return e?.proposer?.publicKey}function eb(e){return e?.topic}function tb(e,t){let n=null;return qy(e?.publicKey,!1)||(n=Y(`MISSING_OR_INVALID`,`${t} controller public key should be a string`)),n}function nb(e){let t=!0;return Wy(e)?e.length&&(t=e.every(e=>qy(e,!1))):t=!1,t}function rb(e,t,n){let r=null;return Wy(t)&&t.length?t.forEach(e=>{r||Xy(e)||(r=Uy(`UNSUPPORTED_CHAINS`,`${n}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):Xy(e)||(r=Uy(`UNSUPPORTED_CHAINS`,`${n}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),r}function ib(e,t,n){let r=null;return Object.entries(e).forEach(([e,i])=>{if(r)return;let a=rb(e,$m(e,i),`${t} ${n}`);a&&(r=a)}),r}function ab(e,t){let n=null;return Wy(e)?e.forEach(e=>{n||Zy(e)||(n=Uy(`UNSUPPORTED_ACCOUNTS`,`${t}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=Uy(`UNSUPPORTED_ACCOUNTS`,`${t}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n}function ob(e,t){let n=null;return Object.values(e).forEach(e=>{if(n)return;let r=ab(e?.accounts,`${t} namespace`);r&&(n=r)}),n}function sb(e,t){let n=null;return nb(e?.methods)?nb(e?.events)||(n=Uy(`UNSUPPORTED_EVENTS`,`${t}, events should be an array of strings or empty array for no events`)):n=Uy(`UNSUPPORTED_METHODS`,`${t}, methods should be an array of strings or empty array for no methods`),n}function cb(e,t){let n=null;return Object.values(e).forEach(e=>{if(n)return;let r=sb(e,`${t}, namespace`);r&&(n=r)}),n}function lb(e,t,n){let r=null;if(e&&Gy(e)){let i=cb(e,t);i&&(r=i);let a=ib(e,t,n);a&&(r=a)}else r=Y(`MISSING_OR_INVALID`,`${t}, ${n} should be an object with data`);return r}function ub(e,t){let n=null;if(e&&Gy(e)){let r=cb(e,t);r&&(n=r);let i=ob(e,t);i&&(n=i)}else n=Y(`MISSING_OR_INVALID`,`${t}, namespaces should be an object with data`);return n}function db(e){return qy(e.protocol,!0)}function fb(e,t){let n=!1;return t&&!e?n=!0:e&&Wy(e)&&e.length&&e.forEach(e=>{n=db(e)}),n}function pb(e){return typeof e==`number`}function mb(e){return typeof e<`u`&&!0}function hb(e){return!(!e||typeof e!=`object`||!e.code||!Jy(e.code,!1)||!e.message||!qy(e.message,!1))}function gb(e){return!(Ky(e)||!qy(e.method,!1))}function _b(e){return!(Ky(e)||Ky(e.result)&&Ky(e.error)||!Jy(e.id,!1)||!qy(e.jsonrpc,!1))}function vb(e){return!(Ky(e)||!qy(e.name,!1))}function yb(e,t){return!(!Xy(t)||!Py(e).includes(t))}function bb(e,t,n){return qy(n,!1)?Fy(e,t).includes(n):!1}function xb(e,t,n){return qy(n,!1)?Iy(e,t).includes(n):!1}function Sb(e,t,n){let r=null,i=Cb(e),a=Tb(t),o=Object.keys(i),s=Object.keys(a),c=wb(Object.keys(e)),l=wb(Object.keys(t)),u=c.filter(e=>!l.includes(e));return u.length&&(r=Y(`NON_CONFORMING_NAMESPACES`,`${n} namespaces keys don't satisfy requiredNamespaces.
|
|
14
|
-
Required: ${u.toString()}
|
|
15
|
-
Received: ${Object.keys(t).toString()}`)),mh(o,s)||(r=Y(`NON_CONFORMING_NAMESPACES`,`${n} namespaces chains don't satisfy required namespaces.
|
|
16
|
-
Required: ${o.toString()}
|
|
17
|
-
Approved: ${s.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(`:`)||r)return;let i=Ny(t[e].accounts);i.includes(e)||(r=Y(`NON_CONFORMING_NAMESPACES`,`${n} namespaces accounts don't satisfy namespace accounts for ${e}
|
|
18
|
-
Required: ${e}
|
|
19
|
-
Approved: ${i.toString()}`))}),o.forEach(e=>{r||(mh(i[e].methods,a[e].methods)?mh(i[e].events,a[e].events)||(r=Y(`NON_CONFORMING_NAMESPACES`,`${n} namespaces events don't satisfy namespace events for ${e}`)):r=Y(`NON_CONFORMING_NAMESPACES`,`${n} namespaces methods don't satisfy namespace methods for ${e}`))}),r}function Cb(e){let t={};return Object.keys(e).forEach(n=>{var r;n.includes(`:`)?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(r=>{t[r]={methods:e[n].methods,events:e[n].events}})}),t}function wb(e){return[...new Set(e.map(e=>e.includes(`:`)?e.split(`:`)[0]:e))]}function Tb(e){let t={};return Object.keys(e).forEach(n=>{n.includes(`:`)?t[n]=e[n]:Ny(e[n].accounts)?.forEach(r=>{t[r]={accounts:e[n].accounts.filter(e=>e.includes(`${r}:`)),methods:e[n].methods,events:e[n].events}})}),t}function Eb(e,t){return Jy(e,!1)&&e<=t.max&&e>=t.min}function Db(){let e=oh();return new Promise(t=>{switch(e){case eh.browser:t(Ob());break;case eh.reactNative:t(kb());break;case eh.node:t(Ab());break;default:t(!0)}})}function Ob(){return ah()&&navigator?.onLine}async function kb(){return nh()&&typeof global<`u`&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function Ab(){return!0}function jb(e){switch(oh()){case eh.browser:Mb(e);break;case eh.reactNative:Nb(e);break;case eh.node:break}}function Mb(e){!nh()&&ah()&&(window.addEventListener(`online`,()=>e(!0)),window.addEventListener(`offline`,()=>e(!1)))}function Nb(e){nh()&&typeof global<`u`&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}var Pb={},Fb=class{static get(e){return Pb[e]}static set(e,t){Pb[e]=t}static delete(e){delete Pb[e]}},Ib=n(i(((e,t)=>{var n=200,r=`__lodash_hash_undefined__`,i=1,a=2,o=9007199254740991,s=`[object Arguments]`,c=`[object Array]`,l=`[object AsyncFunction]`,u=`[object Boolean]`,d=`[object Date]`,f=`[object Error]`,p=`[object Function]`,m=`[object GeneratorFunction]`,h=`[object Map]`,g=`[object Number]`,_=`[object Null]`,v=`[object Object]`,y=`[object Promise]`,b=`[object Proxy]`,x=`[object RegExp]`,S=`[object Set]`,C=`[object String]`,w=`[object Symbol]`,T=`[object Undefined]`,E=`[object WeakMap]`,D=`[object ArrayBuffer]`,O=`[object DataView]`,k=`[object Float32Array]`,A=`[object Float64Array]`,j=`[object Int8Array]`,M=`[object Int16Array]`,N=`[object Int32Array]`,P=`[object Uint8Array]`,F=`[object Uint8ClampedArray]`,I=`[object Uint16Array]`,L=`[object Uint32Array]`,R=/[\\^$.*+?()[\]{}|]/g,z=/^\[object .+?Constructor\]$/,B=/^(?:0|[1-9]\d*)$/,V={};V[k]=V[A]=V[j]=V[M]=V[N]=V[P]=V[F]=V[I]=V[L]=!0,V[s]=V[c]=V[D]=V[u]=V[O]=V[d]=V[f]=V[p]=V[h]=V[g]=V[v]=V[x]=V[S]=V[C]=V[E]=!1;var H=typeof global==`object`&&global&&global.Object===Object&&global,ee=typeof self==`object`&&self&&self.Object===Object&&self,U=H||ee||Function(`return this`)(),W=typeof e==`object`&&e&&!e.nodeType&&e,te=W&&typeof t==`object`&&t&&!t.nodeType&&t,ne=te&&te.exports===W,re=ne&&H.process,ie=function(){try{return re&&re.binding&&re.binding(`util`)}catch{}}(),G=ie&&ie.isTypedArray;function ae(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function oe(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function se(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function ce(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function le(e){return function(t){return e(t)}}function ue(e,t){return e.has(t)}function de(e,t){return e?.[t]}function fe(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function pe(e,t){return function(n){return e(t(n))}}function K(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var me=Array.prototype,he=Function.prototype,ge=Object.prototype,_e=U[`__core-js_shared__`],ve=he.toString,ye=ge.hasOwnProperty,be=function(){var e=/[^.]+$/.exec(_e&&_e.keys&&_e.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}(),xe=ge.toString,Se=RegExp(`^`+ve.call(ye).replace(R,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`),Ce=ne?U.Buffer:void 0,we=U.Symbol,Te=U.Uint8Array,Ee=ge.propertyIsEnumerable,De=me.splice,Oe=we?we.toStringTag:void 0,ke=Object.getOwnPropertySymbols,Ae=Ce?Ce.isBuffer:void 0,je=pe(Object.keys,Object),Me=Mt(U,`DataView`),Ne=Mt(U,`Map`),Pe=Mt(U,`Promise`),Fe=Mt(U,`Set`),Ie=Mt(U,`WeakMap`),Le=Mt(Object,`create`),Re=Vt(Me),ze=Vt(Ne),Be=Vt(Pe),Ve=Vt(Fe),He=Vt(Ie),Ue=we?we.prototype:void 0,We=Ue?Ue.valueOf:void 0;function Ge(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ke(){this.__data__=Le?Le(null):{},this.size=0}function qe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}function Je(e){var t=this.__data__;if(Le){var n=t[e];return n===r?void 0:n}return ye.call(t,e)?t[e]:void 0}function Ye(e){var t=this.__data__;return Le?t[e]!==void 0:ye.call(t,e)}function Xe(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=Le&&t===void 0?r:t,this}Ge.prototype.clear=Ke,Ge.prototype.delete=qe,Ge.prototype.get=Je,Ge.prototype.has=Ye,Ge.prototype.set=Xe;function Ze(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Qe(){this.__data__=[],this.size=0}function $e(e){var t=this.__data__,n=yt(t,e);return n<0?!1:(n==t.length-1?t.pop():De.call(t,n,1),--this.size,!0)}function et(e){var t=this.__data__,n=yt(t,e);return n<0?void 0:t[n][1]}function tt(e){return yt(this.__data__,e)>-1}function nt(e,t){var n=this.__data__,r=yt(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}Ze.prototype.clear=Qe,Ze.prototype.delete=$e,Ze.prototype.get=et,Ze.prototype.has=tt,Ze.prototype.set=nt;function rt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function it(){this.size=0,this.__data__={hash:new Ge,map:new(Ne||Ze),string:new Ge}}function at(e){var t=q(this,e).delete(e);return this.size-=+!!t,t}function ot(e){return q(this,e).get(e)}function st(e){return q(this,e).has(e)}function ct(e,t){var n=q(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}rt.prototype.clear=it,rt.prototype.delete=at,rt.prototype.get=ot,rt.prototype.has=st,rt.prototype.set=ct;function lt(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new rt;++t<n;)this.add(e[t])}function ut(e){return this.__data__.set(e,r),this}function dt(e){return this.__data__.has(e)}lt.prototype.add=lt.prototype.push=ut,lt.prototype.has=dt;function ft(e){var t=this.__data__=new Ze(e);this.size=t.size}function pt(){this.__data__=new Ze,this.size=0}function mt(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function ht(e){return this.__data__.get(e)}function gt(e){return this.__data__.has(e)}function _t(e,t){var r=this.__data__;if(r instanceof Ze){var i=r.__data__;if(!Ne||i.length<n-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new rt(i)}return r.set(e,t),this.size=r.size,this}ft.prototype.clear=pt,ft.prototype.delete=mt,ft.prototype.get=ht,ft.prototype.has=gt,ft.prototype.set=_t;function vt(e,t){var n=Wt(e),r=!n&&Ut(e),i=!n&&!r&&Kt(e),a=!n&&!r&&!i&&Qt(e),o=n||r||i||a,s=o?ce(e.length,String):[],c=s.length;for(var l in e)(t||ye.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||It(l,c)))&&s.push(l);return s}function yt(e,t){for(var n=e.length;n--;)if(Ht(e[n][0],t))return n;return-1}function bt(e,t,n){var r=t(e);return Wt(e)?r:oe(r,n(e))}function xt(e){return e==null?e===void 0?T:_:Oe&&Oe in Object(e)?Nt(e):Bt(e)}function St(e){return Zt(e)&&xt(e)==s}function Ct(e,t,n,r,i){return e===t?!0:e==null||t==null||!Zt(e)&&!Zt(t)?e!==e&&t!==t:wt(e,t,n,r,Ct,i)}function wt(e,t,n,r,a,o){var l=Wt(e),u=Wt(t),d=l?c:Ft(e),f=u?c:Ft(t);d=d==s?v:d,f=f==s?v:f;var p=d==v,m=f==v,h=d==f;if(h&&Kt(e)){if(!Kt(t))return!1;l=!0,p=!1}if(h&&!p)return o||=new ft,l||Qt(e)?Ot(e,t,n,r,a,o):kt(e,t,d,n,r,a,o);if(!(n&i)){var g=p&&ye.call(e,`__wrapped__`),_=m&&ye.call(t,`__wrapped__`);if(g||_){var y=g?e.value():e,b=_?t.value():t;return o||=new ft,a(y,b,n,r,o)}}return h?(o||=new ft,At(e,t,n,r,a,o)):!1}function Tt(e){return!Xt(e)||Rt(e)?!1:(Jt(e)?Se:z).test(Vt(e))}function Et(e){return Zt(e)&&Yt(e.length)&&!!V[xt(e)]}function Dt(e){if(!zt(e))return je(e);var t=[];for(var n in Object(e))ye.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Ot(e,t,n,r,o,s){var c=n&i,l=e.length,u=t.length;if(l!=u&&!(c&&u>l))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var f=-1,p=!0,m=n&a?new lt:void 0;for(s.set(e,t),s.set(t,e);++f<l;){var h=e[f],g=t[f];if(r)var _=c?r(g,h,f,t,e,s):r(h,g,f,e,t,s);if(_!==void 0){if(_)continue;p=!1;break}if(m){if(!se(t,function(e,t){if(!ue(m,t)&&(h===e||o(h,e,n,r,s)))return m.push(t)})){p=!1;break}}else if(!(h===g||o(h,g,n,r,s))){p=!1;break}}return s.delete(e),s.delete(t),p}function kt(e,t,n,r,o,s,c){switch(n){case O:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case D:return!(e.byteLength!=t.byteLength||!s(new Te(e),new Te(t)));case u:case d:case g:return Ht(+e,+t);case f:return e.name==t.name&&e.message==t.message;case x:case C:return e==t+``;case h:var l=fe;case S:var p=r&i;if(l||=K,e.size!=t.size&&!p)return!1;var m=c.get(e);if(m)return m==t;r|=a,c.set(e,t);var _=Ot(l(e),l(t),r,o,s,c);return c.delete(e),_;case w:if(We)return We.call(e)==We.call(t)}return!1}function At(e,t,n,r,a,o){var s=n&i,c=jt(e),l=c.length;if(l!=jt(t).length&&!s)return!1;for(var u=l;u--;){var d=c[u];if(!(s?d in t:ye.call(t,d)))return!1}var f=o.get(e);if(f&&o.get(t))return f==t;var p=!0;o.set(e,t),o.set(t,e);for(var m=s;++u<l;){d=c[u];var h=e[d],g=t[d];if(r)var _=s?r(g,h,d,t,e,o):r(h,g,d,e,t,o);if(!(_===void 0?h===g||a(h,g,n,r,o):_)){p=!1;break}m||=d==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return o.delete(e),o.delete(t),p}function jt(e){return bt(e,$t,Pt)}function q(e,t){var n=e.__data__;return Lt(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function Mt(e,t){var n=de(e,t);return Tt(n)?n:void 0}function Nt(e){var t=ye.call(e,Oe),n=e[Oe];try{e[Oe]=void 0;var r=!0}catch{}var i=xe.call(e);return r&&(t?e[Oe]=n:delete e[Oe]),i}var Pt=ke?function(e){return e==null?[]:(e=Object(e),ae(ke(e),function(t){return Ee.call(e,t)}))}:en,Ft=xt;(Me&&Ft(new Me(new ArrayBuffer(1)))!=O||Ne&&Ft(new Ne)!=h||Pe&&Ft(Pe.resolve())!=y||Fe&&Ft(new Fe)!=S||Ie&&Ft(new Ie)!=E)&&(Ft=function(e){var t=xt(e),n=t==v?e.constructor:void 0,r=n?Vt(n):``;if(r)switch(r){case Re:return O;case ze:return h;case Be:return y;case Ve:return S;case He:return E}return t});function It(e,t){return t??=o,!!t&&(typeof e==`number`||B.test(e))&&e>-1&&e%1==0&&e<t}function Lt(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function Rt(e){return!!be&&be in e}function zt(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||ge)}function Bt(e){return xe.call(e)}function Vt(e){if(e!=null){try{return ve.call(e)}catch{}try{return e+``}catch{}}return``}function Ht(e,t){return e===t||e!==e&&t!==t}var Ut=St(function(){return arguments}())?St:function(e){return Zt(e)&&ye.call(e,`callee`)&&!Ee.call(e,`callee`)},Wt=Array.isArray;function Gt(e){return e!=null&&Yt(e.length)&&!Jt(e)}var Kt=Ae||tn;function qt(e,t){return Ct(e,t)}function Jt(e){if(!Xt(e))return!1;var t=xt(e);return t==p||t==m||t==l||t==b}function Yt(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=o}function Xt(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}function Zt(e){return typeof e==`object`&&!!e}var Qt=G?le(G):Et;function $t(e){return Gt(e)?vt(e):Dt(e)}function en(){return[]}function tn(){return!1}t.exports=qt}))()),Lb=`core`,Rb=`wc@2:${Lb}:`,zb={name:Lb,logger:`error`},Bb={database:`:memory:`},Vb=`crypto`,Hb=`client_ed25519_seed`,Ub=q.ONE_DAY,Wb=`keychain`,Gb=`messages`,Kb=q.SIX_HOURS,qb=`publisher`,Jb=`relayer`,Yb={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`},Xb={payload:`payload`,connect:`connect`,disconnect:`disconnect`,error:`error`},Zb=`2.19.0`,Qb={link_mode:`link_mode`,relay:`relay`},$b=`WALLETCONNECT_CLIENT_ID`,ex={created:`subscription_created`,deleted:`subscription_deleted`,expired:`subscription_expired`,disabled:`subscription_disabled`,sync:`subscription_sync`,resubscribed:`subscription_resubscribed`};q.THIRTY_DAYS;var tx=`subscription`,nx=q.FIVE_SECONDS*1e3,rx=`pairing`;q.THIRTY_DAYS;var ix={wc_pairingDelete:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:q.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:q.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:q.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:q.ONE_DAY,prompt:!1,tag:0},res:{ttl:q.ONE_DAY,prompt:!1,tag:0}}},ax={create:`pairing_create`,expire:`pairing_expire`,delete:`pairing_delete`,ping:`pairing_ping`},ox={created:`history_created`,updated:`history_updated`,deleted:`history_deleted`,sync:`history_sync`},sx=`history`,cx=`expirer`,lx={created:`expirer_created`,deleted:`expirer_deleted`,expired:`expirer_expired`,sync:`expirer_sync`};q.ONE_DAY;var ux=`verify-api`,dx=`https://verify.walletconnect.com`,fx=`https://verify.walletconnect.org`,px=`${fx}/v3`,mx=[dx,fx],hx=`echo`,gx=`https://echo.walletconnect.com`,_x={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`},vx={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`},yx={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`},bx={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`},xx={authenticated_session_approve_started:`authenticated_session_approve_started`,authenticated_session_not_expired:`authenticated_session_not_expired`,chains_caip2_compliant:`chains_caip2_compliant`,chains_evm_compliant:`chains_evm_compliant`,create_authenticated_session_topic:`create_authenticated_session_topic`,cacaos_verified:`cacaos_verified`,store_authenticated_session:`store_authenticated_session`,subscribing_authenticated_session_topic:`subscribing_authenticated_session_topic`,subscribe_authenticated_session_topic_success:`subscribe_authenticated_session_topic_success`,publishing_authenticated_session_approve:`publishing_authenticated_session_approve`,authenticated_session_approve_publish_success:`authenticated_session_approve_publish_success`},Sx={no_internet_connection:`no_internet_connection`,no_wss_connection:`no_wss_connection`,missing_session_authenticate_request:`missing_session_authenticate_request`,session_authenticate_request_expired:`session_authenticate_request_expired`,chains_caip2_compliant_failure:`chains_caip2_compliant_failure`,chains_evm_compliant_failure:`chains_evm_compliant_failure`,invalid_cacao:`invalid_cacao`,subscribe_authenticated_session_topic_failure:`subscribe_authenticated_session_topic_failure`,authenticated_session_approve_publish_failure:`authenticated_session_approve_publish_failure`,authenticated_session_pending_request_not_found:`authenticated_session_pending_request_not_found`},Cx=.1,wx=`event-client`,Tx=`https://pulse.walletconnect.org/batch`;function Ex(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var Dx=Ex,Ox=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},kx=e=>new TextEncoder().encode(e),Ax=e=>new TextDecoder().decode(e),jx=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},Mx=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}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 Px(this,e)}},Nx=class{constructor(e){this.decoders=e}or(e){return Px(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Px=(e,t)=>new Nx({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Fx=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new jx(e,t,n),this.decoder=new Mx(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ix=({name:e,prefix:t,encode:n,decode:r})=>new Fx(e,t,n,r),Lx=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=Dx(n,t);return Ix({prefix:e,name:t,encode:r,decode:e=>Ox(i(e))})},Rx=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},zx=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},Bx=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Ix({prefix:t,name:e,encode(e){return zx(e,r,n)},decode(t){return Rx(t,r,n,e)}}),Vx=Ix({prefix:`\0`,name:`identity`,encode:e=>Ax(e),decode:e=>kx(e)}),Hx=Object.freeze({__proto__:null,identity:Vx}),Ux=Bx({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),Wx=Object.freeze({__proto__:null,base2:Ux}),Gx=Bx({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),Kx=Object.freeze({__proto__:null,base8:Gx}),qx=Lx({prefix:`9`,name:`base10`,alphabet:`0123456789`}),Jx=Object.freeze({__proto__:null,base10:qx}),Yx=Bx({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Xx=Bx({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Zx=Object.freeze({__proto__:null,base16:Yx,base16upper:Xx}),Qx=Bx({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),$x=Bx({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),eS=Bx({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),tS=Bx({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),nS=Bx({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),rS=Bx({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),iS=Bx({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),aS=Bx({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),oS=Bx({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),sS=Object.freeze({__proto__:null,base32:Qx,base32upper:$x,base32pad:eS,base32padupper:tS,base32hex:nS,base32hexupper:rS,base32hexpad:iS,base32hexpadupper:aS,base32z:oS}),cS=Lx({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),lS=Lx({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),uS=Object.freeze({__proto__:null,base36:cS,base36upper:lS}),dS=Lx({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),fS=Lx({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),pS=Object.freeze({__proto__:null,base58btc:dS,base58flickr:fS}),mS=Bx({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),hS=Bx({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),gS=Bx({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),_S=Bx({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),vS=Object.freeze({__proto__:null,base64:mS,base64pad:hS,base64url:gS,base64urlpad:_S}),yS=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),bS=yS.reduce((e,t,n)=>(e[n]=t,e),[]),xS=yS.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function SS(e){return e.reduce((e,t)=>(e+=bS[t],e),``)}function CS(e){let t=[];for(let n of e){let e=xS[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var wS=Ix({prefix:`🚀`,name:`base256emoji`,encode:SS,decode:CS}),TS=Object.freeze({__proto__:null,base256emoji:wS}),ES=AS,DS=128,OS=-128,kS=2**31;function AS(e,t,n){t||=[],n||=0;for(var r=n;e>=kS;)t[n++]=e&255|DS,e/=128;for(;e&OS;)t[n++]=e&255|DS,e>>>=7;return t[n]=e|0,AS.bytes=n-r+1,t}var jS=PS,MS=128,NS=127;function PS(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw PS.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&NS)<<r:(a&NS)*2**r,r+=7}while(a>=MS);return PS.bytes=i-t,n}var FS=2**7,IS=2**14,LS=2**21,RS=2**28,zS=2**35,BS=2**42,VS=2**49,HS=2**56,US=2**63,WS={encode:ES,decode:jS,encodingLength:function(e){return e<FS?1:e<IS?2:e<LS?3:e<RS?4:e<zS?5:e<BS?6:e<VS?7:e<HS?8:e<US?9:10}},GS=(e,t,n=0)=>(WS.encode(e,t,n),t),KS=e=>WS.encodingLength(e),qS=(e,t)=>{let n=t.byteLength,r=KS(e),i=r+KS(n),a=new Uint8Array(i+n);return GS(e,a,0),GS(n,a,r),a.set(t,i),new JS(e,n,t,a)},JS=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},YS=({name:e,code:t,encode:n})=>new XS(e,t,n),XS=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?qS(this.code,t):t.then(e=>qS(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},ZS=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),QS=YS({name:`sha2-256`,code:18,encode:ZS(`SHA-256`)}),$S=YS({name:`sha2-512`,code:19,encode:ZS(`SHA-512`)}),eC=Object.freeze({__proto__:null,sha256:QS,sha512:$S}),tC=0,nC=`identity`,rC=Ox,iC=Object.freeze({__proto__:null,identity:{code:tC,name:nC,encode:rC,digest:e=>qS(tC,rC(e))}});new TextEncoder,new TextDecoder;var aC={...Hx,...Wx,...Kx,...Jx,...Zx,...sS,...uS,...pS,...vS,...TS};({...eC,...iC});function oC(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function sC(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var cC=sC(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),lC=sC(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=oC(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),uC={utf8:cC,"utf-8":cC,hex:aC.base16,latin1:lC,ascii:lC,binary:lC,...aC};function dC(e,t=`utf8`){let n=uC[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}var fC=Object.defineProperty,pC=(e,t,n)=>t in e?fC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t,n)=>pC(e,typeof t==`symbol`?t:t+``,n),hC=class{constructor(e,t){this.core=e,this.logger=t,mC(this,`keychain`,new Map),mC(this,`name`,Wb),mC(this,`version`,`0.3`),mC(this,`initialized`,!1),mC(this,`storagePrefix`,Rb),mC(this,`init`,async()=>{if(!this.initialized){let e=await this.getKeyChain();typeof e<`u`&&(this.keychain=e),this.initialized=!0}}),mC(this,`has`,e=>(this.isInitialized(),this.keychain.has(e))),mC(this,`set`,async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),mC(this,`get`,e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>`u`){let{message:t}=Y(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}),mC(this,`del`,async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=g(t,this.name)}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,hh(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?gh(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}},gC=Object.defineProperty,_C=(e,t,n)=>t in e?gC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vC=(e,t,n)=>_C(e,typeof t==`symbol`?t:t+``,n),yC=class{constructor(e,t,n){this.core=e,this.logger=t,vC(this,`name`,Vb),vC(this,`keychain`),vC(this,`randomSessionIdentifier`,ay()),vC(this,`initialized`,!1),vC(this,`init`,async()=>{this.initialized||=(await this.keychain.init(),!0)}),vC(this,`hasKeys`,e=>(this.isInitialized(),this.keychain.has(e))),vC(this,`getClientId`,async()=>(this.isInitialized(),as(ds(await this.getClientSeed()).publicKey))),vC(this,`generateKeyPair`,()=>{this.isInitialized();let e=iy();return this.setPrivateKey(e.publicKey,e.privateKey)}),vC(this,`signJWT`,async e=>{this.isInitialized();let t=ds(await this.getClientSeed()),n=this.randomSessionIdentifier;return await fs(n,e,Ub,t)}),vC(this,`generateSharedKey`,(e,t,n)=>{this.isInitialized();let r=oy(this.getPrivateKey(e),t);return this.setSymKey(r,n)}),vC(this,`setSymKey`,async(e,t)=>{this.isInitialized();let n=t||sy(e);return await this.keychain.set(n,e),n}),vC(this,`deleteKeyPair`,async e=>{this.isInitialized(),await this.keychain.del(e)}),vC(this,`deleteSymKey`,async e=>{this.isInitialized(),await this.keychain.del(e)}),vC(this,`encode`,async(e,t,n)=>{this.isInitialized();let r=vy(n),i=f(t);if(by(r))return py(i,n?.encoding);if(yy(r)){let t=r.senderPublicKey,n=r.receiverPublicKey;e=await this.generateSharedKey(t,n)}let a=this.getSymKey(e),{type:o,senderPublicKey:s}=r;return dy({type:o,symKey:a,message:i,senderPublicKey:s,encoding:n?.encoding})}),vC(this,`decode`,async(e,t,n)=>{this.isInitialized();let r=_y(t,n);if(by(r))return pe(my(t,n?.encoding));if(yy(r)){let t=r.receiverPublicKey,n=r.senderPublicKey;e=await this.generateSharedKey(t,n)}try{return pe(fy({symKey:this.getSymKey(e),encoded:t,encoding:n?.encoding}))}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),vC(this,`getPayloadType`,(e,t=Zv)=>uy(gy({encoded:e,encoding:t}).type)),vC(this,`getPayloadSenderPublicKey`,(e,t=Zv)=>{let n=gy({encoded:e,encoding:t});return n.senderPublicKey?wl(n.senderPublicKey,Xv):void 0}),this.core=e,this.logger=g(t,this.name),this.keychain=n||new hC(this.core,this.logger)}get context(){return D(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(Hb)}catch{e=ay(),await this.keychain.set(Hb,e)}return dC(e,`base16`)}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}},bC=Object.defineProperty,xC=(e,t,n)=>t in e?bC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,SC=(e,t,n)=>xC(e,typeof t==`symbol`?t:t+``,n),CC=class extends Pp{constructor(e,t){super(e,t),this.logger=e,this.core=t,SC(this,`messages`,new Map),SC(this,`name`,Gb),SC(this,`version`,`0.3`),SC(this,`initialized`,!1),SC(this,`storagePrefix`,Rb),SC(this,`init`,async()=>{if(!this.initialized){this.logger.trace(`Initialized`);try{let e=await this.getRelayerMessages();typeof e<`u`&&(this.messages=e),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),SC(this,`set`,async(e,t)=>{this.isInitialized();let n=cy(t),r=this.messages.get(e);return typeof r>`u`&&(r={}),typeof r[n]<`u`||(r[n]=t,this.messages.set(e,r),await this.persist()),n}),SC(this,`get`,e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>`u`&&(t={}),t}),SC(this,`has`,(e,t)=>(this.isInitialized(),typeof this.get(e)[cy(t)]<`u`)),SC(this,`del`,async e=>{this.isInitialized(),this.messages.delete(e),await this.persist()}),this.logger=g(e,this.name),this.core=t}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,hh(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?gh(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}},wC=Object.defineProperty,TC=Object.defineProperties,EC=Object.getOwnPropertyDescriptors,DC=Object.getOwnPropertySymbols,OC=Object.prototype.hasOwnProperty,kC=Object.prototype.propertyIsEnumerable,AC=(e,t,n)=>t in e?wC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jC=(e,t)=>{for(var n in t||={})OC.call(t,n)&&AC(e,n,t[n]);if(DC)for(var n of DC(t))kC.call(t,n)&&AC(e,n,t[n]);return e},MC=(e,t)=>TC(e,EC(t)),NC=(e,t,n)=>AC(e,typeof t==`symbol`?t:t+``,n),PC=class extends Fp{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,NC(this,`events`,new jt.EventEmitter),NC(this,`name`,qb),NC(this,`queue`,new Map),NC(this,`publishTimeout`,(0,q.toMiliseconds)(q.ONE_MINUTE)),NC(this,`initialPublishTimeout`,(0,q.toMiliseconds)(q.ONE_SECOND*15)),NC(this,`needsTransportRestart`,!1),NC(this,`publish`,async(e,t,n)=>{var r;this.logger.debug(`Publishing Payload`),this.logger.trace({type:`method`,method:`publish`,params:{topic:e,message:t,opts:n}});let i=n?.ttl||Kb,a=Ty(n),o=n?.prompt||!1,s=n?.tag||0,c=n?.id||W().toString(),l={topic:e,message:t,opts:{ttl:i,relay:a,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}},u=`Failed to publish payload, please try again. id:${c} tag:${s}`;try{let r=new Promise(async r=>{let a=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(Yb.publish,a),r(l))};this.relayer.events.on(Yb.publish,a);let u=vh(new Promise((r,a)=>{this.rpcPublish({topic:e,message:t,ttl:i,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}).then(r).catch(e=>{this.logger.warn(e,e?.message),a(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${s}`);try{await u,this.events.removeListener(Yb.publish,a)}catch(e){this.queue.set(c,MC(jC({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:`method`,method:`publish`,params:{id:c,topic:e,message:t,opts:n}}),await vh(r,this.publishTimeout,u)}catch(e){if(this.logger.debug(`Failed to Publish Payload`),this.logger.error(e),(r=n?.internal)!=null&&r.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),NC(this,`on`,(e,t)=>{this.events.on(e,t)}),NC(this,`once`,(e,t)=>{this.events.once(e,t)}),NC(this,`off`,(e,t)=>{this.events.off(e,t)}),NC(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=g(t,this.name),this.registerEventListeners()}get context(){return D(this.logger)}async rpcPublish(e){var t,n;let{topic:r,message:i,ttl:a=Kb,prompt:o,tag:s,id:c,attestation:l,tvf:u}=e,d={method:Ey(Ty().protocol).publish,params:jC({topic:r,message:i,ttl:a,prompt:o,tag:s,attestation:l},u),id:c};Ky(d.params?.prompt)&&((t=d.params)==null||delete t.prompt),Ky(d.params?.tag)&&((n=d.params)==null||delete n.tag),this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`message`,direction:`outgoing`,request:d});let f=await this.relayer.request(d);return this.relayer.events.emit(Yb.publish,e),this.logger.debug(`Successfully Published Payload`),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let n=e.attempt+1;this.queue.set(t,MC(jC({},e),{attempt:n}));let{topic:r,message:i,opts:a,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${n}`),await this.rpcPublish(MC(jC({},e),{topic:r,message:i,ttl:a.ttl,prompt:a.prompt,tag:a.tag,id:a.id,attestation:o,tvf:a.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(Pt.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Yb.connection_stalled);return}this.checkQueue()}),this.relayer.on(Yb.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},FC=Object.defineProperty,IC=(e,t,n)=>t in e?FC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LC=(e,t,n)=>IC(e,typeof t==`symbol`?t:t+``,n),RC=class{constructor(){LC(this,`map`,new Map),LC(this,`set`,(e,t)=>{let n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])}),LC(this,`get`,e=>this.map.get(e)||[]),LC(this,`exists`,(e,t)=>this.get(e).includes(t)),LC(this,`delete`,(e,t)=>{if(typeof t>`u`){this.map.delete(e);return}if(!this.map.has(e))return;let n=this.get(e);if(!this.exists(e,t))return;let r=n.filter(e=>e!==t);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),LC(this,`clear`,()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}},zC=Object.defineProperty,BC=Object.defineProperties,VC=Object.getOwnPropertyDescriptors,HC=Object.getOwnPropertySymbols,UC=Object.prototype.hasOwnProperty,WC=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?zC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,KC=(e,t)=>{for(var n in t||={})UC.call(t,n)&&GC(e,n,t[n]);if(HC)for(var n of HC(t))WC.call(t,n)&&GC(e,n,t[n]);return e},qC=(e,t)=>BC(e,VC(t)),JC=(e,t,n)=>GC(e,typeof t==`symbol`?t:t+``,n),YC=class extends Rp{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,JC(this,`subscriptions`,new Map),JC(this,`topicMap`,new RC),JC(this,`events`,new jt.EventEmitter),JC(this,`name`,tx),JC(this,`version`,`0.3`),JC(this,`pending`,new Map),JC(this,`cached`,[]),JC(this,`initialized`,!1),JC(this,`pendingSubscriptionWatchLabel`,`pending_sub_watch_label`),JC(this,`pollingInterval`,20),JC(this,`storagePrefix`,Rb),JC(this,`subscribeTimeout`,(0,q.toMiliseconds)(q.ONE_MINUTE)),JC(this,`initialSubscribeTimeout`,(0,q.toMiliseconds)(q.ONE_SECOND*15)),JC(this,`clientId`),JC(this,`batchSubscribeTopicsLimit`,500),JC(this,`init`,async()=>{this.initialized||(this.logger.trace(`Initialized`),this.registerEventListeners(),await this.restore()),this.initialized=!0}),JC(this,`subscribe`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Subscribing Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}});try{let n=Ty(t),r={topic:e,relay:n,transportType:t?.transportType};this.pending.set(e,r);let i=await this.rpcSubscribe(e,n,t);return typeof i==`string`&&(this.onSubscribe(i,r),this.logger.debug(`Successfully Subscribed Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}})),i}catch(e){throw this.logger.debug(`Failed to Subscribe Topic`),this.logger.error(e),e}}),JC(this,`unsubscribe`,async(e,t)=>{this.isInitialized(),typeof t?.id<`u`?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),JC(this,`isSubscribed`,async e=>{if(this.topics.includes(e))return!0;let t=`${this.pendingSubscriptionWatchLabel}_${e}`;return await new Promise((n,r)=>{let i=new q.Watch;i.start(t);let a=setInterval(()=>{(!this.pending.has(e)&&this.topics.includes(e)||this.cached.some(t=>t.topic===e))&&(clearInterval(a),i.stop(t),n(!0)),i.elapsed(t)>=nx&&(clearInterval(a),i.stop(t),r(Error(`Subscription resolution timeout`)))},this.pollingInterval)}).catch(()=>!1)}),JC(this,`on`,(e,t)=>{this.events.on(e,t)}),JC(this,`once`,(e,t)=>{this.events.once(e,t)}),JC(this,`off`,(e,t)=>{this.events.off(e,t)}),JC(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),JC(this,`start`,async()=>{await this.onConnect()}),JC(this,`stop`,async()=>{await this.onDisconnect()}),JC(this,`restart`,async()=>{await this.restore(),await this.onRestart()}),JC(this,`checkPending`,async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),JC(this,`registerEventListeners`,()=>{this.relayer.core.heartbeat.on(Pt.pulse,async()=>{await this.checkPending()}),this.events.on(ex.created,async e=>{let t=ex.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()}),this.events.on(ex.deleted,async e=>{let t=ex.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=g(t,this.name),this.clientId=``}get context(){return D(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 n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let n=this.topicMap.get(e);await Promise.all(n.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,n){this.logger.debug(`Unsubscribing Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}});try{let r=Ty(n);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);let i=Uy(`USER_DISCONNECTED`,`${this.name}, ${e}`);await this.onUnsubscribe(e,t,i),this.logger.debug(`Successfully Unsubscribed Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}})}catch(e){throw this.logger.debug(`Failed to Unsubscribe Topic`),this.logger.error(e),e}}async rpcSubscribe(e,t,n){(!n||n?.transportType===Qb.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});let r={method:Ey(t.protocol).subscribe,params:{topic:e}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:r});let i=n?.internal?.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(n?.transportType===Qb.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(r).catch(e=>this.logger.warn(e))},(0,q.toMiliseconds)(q.ONE_SECOND)),t;let a=await vh(new Promise(async t=>{let n=r=>{r.topic===e&&(this.events.removeListener(ex.created,n),t(r.id))};this.events.on(ex.created,n);try{let i=await vh(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(ex.created,n),t(i)}catch{}}),this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&i)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug(`Outgoing Relay Subscribe Payload stalled`),this.relayer.events.emit(Yb.connection_stalled),i)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t=e[0].relay,n={method:Ey(t.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});try{await await vh(new Promise(e=>{this.relayer.request(n).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,`rpcBatchSubscribe failed, please try again`)}catch{this.relayer.events.emit(Yb.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;let t=e[0].relay,n={method:Ey(t.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});let r;try{r=await await vh(new Promise((e,t)=>{this.relayer.request(n).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,`rpcBatchFetchMessages failed, please try again`)}catch{this.relayer.events.emit(Yb.connection_stalled)}return r}rpcUnsubscribe(e,t,n){let r={method:Ey(n.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,qC(KC({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,KC({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),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,KC({},t)),this.topicMap.set(t.topic,e),this.events.emit(ex.created,t)}getSubscription(e){this.logger.debug(`Getting subscription`),this.logger.trace({type:`method`,method:`getSubscription`,id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=Y(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug(`Deleting subscription`),this.logger.trace({type:`method`,method:`deleteSubscription`,id:e,reason:t});let n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(ex.deleted,qC(KC({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(ex.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let n=0;n<t;n++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(ex.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>`u`||!e.length)return;if(this.subscriptions.size){let{message:e}=Y(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>qC(KC({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await Rh((0,q.toMiliseconds)(q.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||=await this.relayer.core.crypto.getClientId(),this.clientId}async getSubscriptionId(e){return cy(e+await this.getClientId())}},XC=Object.defineProperty,ZC=Object.getOwnPropertySymbols,QC=Object.prototype.hasOwnProperty,$C=Object.prototype.propertyIsEnumerable,ew=(e,t,n)=>t in e?XC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tw=(e,t)=>{for(var n in t||={})QC.call(t,n)&&ew(e,n,t[n]);if(ZC)for(var n of ZC(t))$C.call(t,n)&&ew(e,n,t[n]);return e},nw=(e,t,n)=>ew(e,typeof t==`symbol`?t:t+``,n),rw=class extends Ip{constructor(e){super(e),nw(this,`protocol`,`wc`),nw(this,`version`,2),nw(this,`core`),nw(this,`logger`),nw(this,`events`,new jt.EventEmitter),nw(this,`provider`),nw(this,`messages`),nw(this,`subscriber`),nw(this,`publisher`),nw(this,`name`,Jb),nw(this,`transportExplicitlyClosed`,!1),nw(this,`initialized`,!1),nw(this,`connectionAttemptInProgress`,!1),nw(this,`relayUrl`),nw(this,`projectId`),nw(this,`packageName`),nw(this,`bundleId`),nw(this,`hasExperiencedNetworkDisruption`,!1),nw(this,`pingTimeout`),nw(this,`heartBeatTimeout`,(0,q.toMiliseconds)(q.THIRTY_SECONDS+q.FIVE_SECONDS)),nw(this,`reconnectTimeout`),nw(this,`connectPromise`),nw(this,`reconnectInProgress`,!1),nw(this,`requestsInFlight`,[]),nw(this,`connectTimeout`,(0,q.toMiliseconds)(q.ONE_SECOND*15)),nw(this,`request`,async e=>{this.logger.debug(`Publishing Request Payload`);let t=e.id||W().toString();await this.toEstablishConnection();try{this.logger.trace({id:t,method:e.method,topic:e.params?.topic},`relayer.request - publishing...`);let n=`${t}:${e.params?.tag||``}`;this.requestsInFlight.push(n);let r=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==n),r}catch(e){throw this.logger.debug(`Failed to Publish Request: ${t}`),e}}),nw(this,`resetPingTimeout`,()=>{if(th())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e;this.logger.debug({},`pingTimeout: Connection stalled, terminating...`),(e=this.provider?.connection?.socket)==null||e.terminate()},this.heartBeatTimeout)}catch(e){this.logger.warn(e,e?.message)}}),nw(this,`onPayloadHandler`,e=>{this.onProviderPayload(e),this.resetPingTimeout()}),nw(this,`onConnectHandler`,()=>{this.logger.warn({},`Relayer connected 🛜`),this.startPingTimeout(),this.events.emit(Yb.connect)}),nw(this,`onDisconnectHandler`,()=>{this.logger.warn({},`Relayer disconnected 🛑`),this.requestsInFlight=[],this.onProviderDisconnect()}),nw(this,`onProviderErrorHandler`,e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(Yb.error,e),this.logger.fatal(`Fatal socket error received, closing transport`),this.transportClose()}),nw(this,`registerProviderListeners`,()=>{this.provider.on(Xb.payload,this.onPayloadHandler),this.provider.on(Xb.connect,this.onConnectHandler),this.provider.on(Xb.disconnect,this.onDisconnectHandler),this.provider.on(Xb.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<`u`&&typeof e.logger!=`string`?g(e.logger,this.name):(0,v.default)(x({level:e.logger||`error`})),this.messages=new CC(this.logger,e.core),this.subscriber=new YC(this,this.logger),this.publisher=new PC(this,this.logger),this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.projectId=e.projectId,rh()?this.packageName=sh():ih()&&(this.bundleId=sh()),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 D(this.logger)}get connected(){return this.provider?.connection?.socket?.readyState===1||!1}get connecting(){return this.provider?.connection?.socket?.readyState===0||this.connectPromise!==void 0||!1}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Qb.relay})}async subscribe(e,t){this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===`relay`)&&await this.toEstablishConnection();let n=typeof t?.internal?.throwOnFailedPublish>`u`?!0:t?.internal?.throwOnFailedPublish,r=this.subscriber.topicMap.get(e)?.[0]||``,i,a=t=>{t.topic===e&&(this.subscriber.off(ex.created,a),i())};return await Promise.all([new Promise(e=>{i=e,this.subscriber.on(ex.created,a)}),new Promise(async(i,a)=>{r=await this.subscriber.subscribe(e,tw({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&a(e)})||r,i()})]),r}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 vh(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,n)=>{await this.connect(e).then(t).catch(n).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},`Restarting transport...`),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await Db())throw Error(`No internet connection detected. Please restart your network and try again.`)}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(`Batch message events is empty. Ignoring...`);return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(let e of t)try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,`Error while processing batch message event: `+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:n}=e;if(!t.sessionExists){let e={topic:n,expiry:Ch(q.FIVE_MINUTES),relay:{protocol:`irn`},active:!1};await this.core.pairing.pairings.set(n,e)}this.events.emit(Yb.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(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(Xb.disconnect,n),await vh(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(Xb.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(Xb.disconnect,n),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(Xb.disconnect,n)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop();let t=e;this.logger.warn({},t.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,q.toMiliseconds)(t*1))),t++}}startPingTimeout(){var e,t;if(th())try{(e=this.provider?.connection)!=null&&e.socket&&((t=this.provider?.connection?.socket)==null||t.on(`ping`,()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new L(new Du(ph({sdkVersion:Zb,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){let{topic:t,message:n}=e;await this.messages.set(t,n)}async shouldIgnoreMessageEvent(e){let{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.warn(`Ignoring message for non-subscribed topic ${t}`),!0;let r=this.messages.has(t,n);return r&&this.logger.warn(`Ignoring duplicate message: ${n}`),r}async onProviderPayload(e){if(this.logger.debug(`Incoming Relay Payload`),this.logger.trace({type:`payload`,direction:`incoming`,payload:e}),p(e)){if(!e.method.endsWith(`_subscription`))return;let t=e.params,{topic:n,message:r,publishedAt:i,attestation:a}=t.data,o={topic:n,message:r,publishedAt:i,transportType:Qb.relay,attestation:a};this.logger.debug(`Emitting Relayer Payload`),this.logger.trace(tw({type:`event`,event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else ue(e)&&this.events.emit(Yb.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Yb.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){let t=d(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Xb.payload,this.onPayloadHandler),this.provider.off(Xb.connect,this.onConnectHandler),this.provider.off(Xb.disconnect,this.onDisconnectHandler),this.provider.off(Xb.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Db();jb(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(Yb.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,q.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}},iw=Object.defineProperty,aw=Object.getOwnPropertySymbols,ow=Object.prototype.hasOwnProperty,sw=Object.prototype.propertyIsEnumerable,cw=(e,t,n)=>t in e?iw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lw=(e,t)=>{for(var n in t||={})ow.call(t,n)&&cw(e,n,t[n]);if(aw)for(var n of aw(t))sw.call(t,n)&&cw(e,n,t[n]);return e},uw=(e,t,n)=>cw(e,typeof t==`symbol`?t:t+``,n),dw=class extends Lp{constructor(e,t,n,r=Rb,i=void 0){super(e,t,n,r),this.core=e,this.logger=t,this.name=n,uw(this,`map`,new Map),uw(this,`version`,`0.3`),uw(this,`cached`,[]),uw(this,`initialized`,!1),uw(this,`getKey`),uw(this,`storagePrefix`,Rb),uw(this,`recentlyDeleted`,[]),uw(this,`recentlyDeletedLimit`,200),uw(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>{this.getKey&&e!==null&&!Ky(e)?this.map.set(this.getKey(e),e):$y(e)?this.map.set(e.id,e):eb(e)&&this.map.set(e.topic,e)}),this.cached=[],!0)}),uw(this,`set`,async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug(`Setting value`),this.logger.trace({type:`method`,method:`set`,key:e,value:t}),this.map.set(e,t),await this.persist())}),uw(this,`get`,e=>(this.isInitialized(),this.logger.debug(`Getting value`),this.logger.trace({type:`method`,method:`get`,key:e}),this.getData(e))),uw(this,`getAll`,e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(n=>(0,Ib.default)(t[n],e[n]))):this.values)),uw(this,`update`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Updating value`),this.logger.trace({type:`method`,method:`update`,key:e,update:t});let n=lw(lw({},this.getData(e)),t);this.map.set(e,n),await this.persist()}),uw(this,`delete`,async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug(`Deleting value`),this.logger.trace({type:`method`,method:`delete`,key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=g(t,this.name),this.storagePrefix=r,this.getKey=i}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=Y(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>`u`||!e.length)return;if(this.map.size){let{message:e}=Y(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}},fw=Object.defineProperty,pw=(e,t,n)=>t in e?fw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,X=(e,t,n)=>pw(e,typeof t==`symbol`?t:t+``,n),mw=class{constructor(e,t){this.core=e,this.logger=t,X(this,`name`,rx),X(this,`version`,`0.3`),X(this,`events`,new jt.default),X(this,`pairings`),X(this,`initialized`,!1),X(this,`storagePrefix`,Rb),X(this,`ignoredPayloadTypes`,[1]),X(this,`registeredMethods`,[]),X(this,`init`,async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(`Initialized`))}),X(this,`register`,({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),X(this,`create`,async e=>{this.isInitialized();let t=ay(),n=await this.core.crypto.setSymKey(t),r=Ch(q.FIVE_MINUTES),i={protocol:`irn`},a={topic:n,expiry:r,relay:i,active:!1,methods:e?.methods},o=jy({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:t,relay:i,expiryTimestamp:r,methods:e?.methods});return this.events.emit(ax.create,a),this.core.expirer.set(n,r),await this.pairings.set(n,a),await this.core.relayer.subscribe(n,{transportType:e?.transportType}),{topic:n,uri:o}}),X(this,`pair`,async e=>{this.isInitialized();let t=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[_x.pairing_started]}});this.isValidPair(e,t);let{topic:n,symKey:r,relay:i,expiryTimestamp:a,methods:o}=Oy(e.uri);t.props.properties.topic=n,t.addTrace(_x.pairing_uri_validation_success),t.addTrace(_x.pairing_uri_not_expired);let s;if(this.pairings.keys.includes(n)){if(s=this.pairings.get(n),t.addTrace(_x.existing_pairing),s.active)throw t.setError(vx.active_pairing_already_exists),Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);t.addTrace(_x.pairing_not_expired)}let c=a||Ch(q.FIVE_MINUTES),l={topic:n,relay:i,expiry:c,active:!1,methods:o};this.core.expirer.set(n,c),await this.pairings.set(n,l),t.addTrace(_x.store_new_pairing),e.activatePairing&&await this.activate({topic:n}),this.events.emit(ax.create,l),t.addTrace(_x.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(r,n),t.addTrace(_x.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{t.setError(vx.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:i})}catch(e){throw t.setError(vx.subscribe_pairing_topic_failure),e}return t.addTrace(_x.subscribe_pairing_topic_success),l}),X(this,`activate`,async({topic:e})=>{this.isInitialized();let t=Ch(q.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),X(this,`ping`,async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn(`ping() is deprecated and will be removed in the next major release.`);let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,`wc_pairingPing`,{}),{done:n,resolve:r,reject:i}=_h();this.events.once(Th(`pairing_ping`,e),({error:e})=>{e?i(e):r()}),await n()}}),X(this,`updateExpiry`,async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),X(this,`updateMetadata`,async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),X(this,`getPairings`,()=>(this.isInitialized(),this.pairings.values)),X(this,`disconnect`,async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,`wc_pairingDelete`,Uy(`USER_DISCONNECTED`)),await this.deletePairing(t))}),X(this,`formatUriFromPairing`,e=>{this.isInitialized();let{topic:t,relay:n,expiry:r,methods:i}=e,a=this.core.crypto.keychain.get(t);return jy({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:a,relay:n,expiryTimestamp:r,methods:i})}),X(this,`sendRequest`,async(e,t,n)=>{let r=te(t,n),i=await this.core.crypto.encode(e,r),a=ix[t].req;return this.core.history.set(e,r),this.core.relayer.publish(e,i,a),r.id}),X(this,`sendResult`,async(e,t,n)=>{let r=d(e,n),i=await this.core.crypto.encode(t,r),a=ix[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,i,a),await this.core.history.resolve(r)}),X(this,`sendError`,async(e,t,n)=>{let r=w(e,n),i=await this.core.crypto.encode(t,r),a=(await this.core.history.get(t,e)).request.method,o=ix[a]?ix[a].res:ix.unregistered_method.res;await this.core.relayer.publish(t,i,o),await this.core.history.resolve(r)}),X(this,`deletePairing`,async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,Uy(`USER_DISCONNECTED`)),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),X(this,`cleanup`,async()=>{let e=this.pairings.getAll().filter(e=>wh(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),X(this,`onRelayEventRequest`,e=>{let{topic:t,payload:n}=e;switch(n.method){case`wc_pairingPing`:return this.onPairingPingRequest(t,n);case`wc_pairingDelete`:return this.onPairingDeleteRequest(t,n);default:return this.onUnknownRpcMethodRequest(t,n)}}),X(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n}=e,r=(await this.core.history.get(t,n.id)).request.method;switch(r){case`wc_pairingPing`:return this.onPairingPingResponse(t,n);default:return this.onUnknownRpcMethodResponse(r)}}),X(this,`onPairingPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult(n,e,!0),this.events.emit(ax.ping,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),X(this,`onPairingPingResponse`,(e,t)=>{let{id:n}=t;setTimeout(()=>{k(t)?this.events.emit(Th(`pairing_ping`,n),{}):O(t)&&this.events.emit(Th(`pairing_ping`,n),{error:t.error})},500)}),X(this,`onPairingDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(ax.delete,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),X(this,`onUnknownRpcMethodRequest`,async(e,t)=>{let{id:n,method:r}=t;try{if(this.registeredMethods.includes(r))return;let t=Uy(`WC_METHOD_UNSUPPORTED`,r);await this.sendError(n,e,t),this.logger.error(t)}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),X(this,`onUnknownRpcMethodResponse`,e=>{this.registeredMethods.includes(e)||this.logger.error(Uy(`WC_METHOD_UNSUPPORTED`,e))}),X(this,`isValidPair`,(e,t)=>{var n;if(!mb(e)){let{message:n}=Y(`MISSING_OR_INVALID`,`pair() params: ${e}`);throw t.setError(vx.malformed_pairing_uri),Error(n)}if(!Qy(e.uri)){let{message:n}=Y(`MISSING_OR_INVALID`,`pair() uri: ${e.uri}`);throw t.setError(vx.malformed_pairing_uri),Error(n)}let r=Oy(e?.uri);if(!((n=r?.relay)!=null&&n.protocol)){let{message:e}=Y(`MISSING_OR_INVALID`,`pair() uri#relay-protocol`);throw t.setError(vx.malformed_pairing_uri),Error(e)}if(!(r!=null&&r.symKey)){let{message:e}=Y(`MISSING_OR_INVALID`,`pair() uri#symKey`);throw t.setError(vx.malformed_pairing_uri),Error(e)}if(r!=null&&r.expiryTimestamp&&(0,q.toMiliseconds)(r?.expiryTimestamp)<Date.now()){t.setError(vx.pairing_expired);let{message:e}=Y(`EXPIRED`,`pair() URI has expired. Please try again with a new connection URI.`);throw Error(e)}}),X(this,`isValidPing`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),X(this,`isValidDisconnect`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),X(this,`isValidPairingTopic`,async e=>{if(!qy(e,!1)){let{message:t}=Y(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=Y(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(wh(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=Y(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=g(t,this.name),this.pairings=new dw(this.core,this.logger,this.name,this.storagePrefix)}get context(){return D(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(Yb.message,async e=>{let{topic:t,message:n,transportType:r}=e;if(!this.pairings.keys.includes(t)||r===Qb.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))return;let i=await this.core.crypto.decode(t,n);try{p(i)?(this.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):ue(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.core.history.delete(t,i.id))}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(lx.expired,async e=>{let{topic:t}=Sh(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(ax.expire,{topic:t}))})}},hw=Object.defineProperty,gw=(e,t,n)=>t in e?hw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_w=(e,t,n)=>gw(e,typeof t==`symbol`?t:t+``,n),vw=class extends Np{constructor(e,t){super(e,t),this.core=e,this.logger=t,_w(this,`records`,new Map),_w(this,`events`,new jt.EventEmitter),_w(this,`name`,sx),_w(this,`version`,`0.3`),_w(this,`cached`,[]),_w(this,`initialized`,!1),_w(this,`storagePrefix`,Rb),_w(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),!0)}),_w(this,`set`,(e,t,n)=>{if(this.isInitialized(),this.logger.debug(`Setting JSON-RPC request history record`),this.logger.trace({type:`method`,method:`set`,topic:e,request:t,chainId:n}),this.records.has(t.id))return;let r={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:n,expiry:Ch(q.THIRTY_DAYS)};this.records.set(r.id,r),this.persist(),this.events.emit(ox.created,r)}),_w(this,`resolve`,async e=>{if(this.isInitialized(),this.logger.debug(`Updating JSON-RPC response history record`),this.logger.trace({type:`method`,method:`update`,response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>`u`&&(t.response=O(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(ox.updated,t))}),_w(this,`get`,async(e,t)=>(this.isInitialized(),this.logger.debug(`Getting record`),this.logger.trace({type:`method`,method:`get`,topic:e,id:t}),await this.getRecord(t))),_w(this,`delete`,(e,t)=>{this.isInitialized(),this.logger.debug(`Deleting record`),this.logger.trace({type:`method`,method:`delete`,id:t}),this.values.forEach(n=>{if(n.topic===e){if(typeof t<`u`&&n.id!==t)return;this.records.delete(n.id),this.events.emit(ox.deleted,n)}}),this.persist()}),_w(this,`exists`,async(e,t)=>(this.isInitialized(),this.records.has(t)?(await this.getRecord(t)).topic===e:!1)),_w(this,`on`,(e,t)=>{this.events.on(e,t)}),_w(this,`once`,(e,t)=>{this.events.once(e,t)}),_w(this,`off`,(e,t)=>{this.events.off(e,t)}),_w(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=g(t,this.name)}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){let e=[];return this.values.forEach(t=>{if(typeof t.response<`u`)return;let n={topic:t.topic,request:te(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=Y(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(ox.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>`u`||!e.length)return;if(this.records.size){let{message:e}=Y(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(ox.created,e=>{let t=ox.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(ox.updated,e=>{let t=ox.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(ox.deleted,e=>{let t=ox.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.core.heartbeat.on(Pt.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,q.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(ox.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}},yw=Object.defineProperty,bw=(e,t,n)=>t in e?yw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xw=(e,t,n)=>bw(e,typeof t==`symbol`?t:t+``,n),Sw=class extends zp{constructor(e,t){super(e,t),this.core=e,this.logger=t,xw(this,`expirations`,new Map),xw(this,`events`,new jt.EventEmitter),xw(this,`name`,cx),xw(this,`version`,`0.3`),xw(this,`cached`,[]),xw(this,`initialized`,!1),xw(this,`storagePrefix`,Rb),xw(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),!0)}),xw(this,`has`,e=>{try{let t=this.formatTarget(e);return typeof this.getExpiration(t)<`u`}catch{return!1}}),xw(this,`set`,(e,t)=>{this.isInitialized();let n=this.formatTarget(e),r={target:n,expiry:t};this.expirations.set(n,r),this.checkExpiry(n,r),this.events.emit(lx.created,{target:n,expiration:r})}),xw(this,`get`,e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),xw(this,`del`,e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),n=this.getExpiration(t);this.expirations.delete(t),this.events.emit(lx.deleted,{target:t,expiration:n})}}),xw(this,`on`,(e,t)=>{this.events.on(e,t)}),xw(this,`once`,(e,t)=>{this.events.once(e,t)}),xw(this,`off`,(e,t)=>{this.events.off(e,t)}),xw(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=g(t,this.name)}get context(){return D(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 bh(e);if(typeof e==`number`)return xh(e);let{message:t}=Y(`UNKNOWN_TYPE`,`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(lx.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>`u`||!e.length)return;if(this.expirations.size){let{message:e}=Y(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=Y(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:n}=t;(0,q.toMiliseconds)(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(lx.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Pt.pulse,()=>this.checkExpirations()),this.events.on(lx.created,e=>{let t=lx.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(lx.expired,e=>{let t=lx.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(lx.deleted,e=>{let t=lx.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}},Cw=Object.defineProperty,ww=(e,t,n)=>t in e?Cw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Tw=(e,t,n)=>ww(e,typeof t==`symbol`?t:t+``,n),Ew=class extends Bp{constructor(e,t,n){super(e,t,n),this.core=e,this.logger=t,this.store=n,Tw(this,`name`,ux),Tw(this,`abortController`),Tw(this,`isDevEnv`),Tw(this,`verifyUrlV3`,px),Tw(this,`storagePrefix`,Rb),Tw(this,`version`,2),Tw(this,`publicKey`),Tw(this,`fetchPromise`),Tw(this,`init`,async()=>{this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,q.toMiliseconds)(this.publicKey?.expiresAt)<Date.now()&&(this.logger.debug(`verify v2 public key expired`),await this.removePublicKey()))}),Tw(this,`register`,async e=>{if(!ah()||this.isDevEnv)return;let t=window.location.origin,{id:n,decryptedId:r}=e,i=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${n}&decryptedId=${r}`;try{let e=(0,Ms.getDocument)(),t=this.startAbortTimer(q.ONE_SECOND*5),r=await new Promise((r,a)=>{let o=()=>{window.removeEventListener(`message`,c),e.body.removeChild(s),a(`attestation aborted`)};this.abortController.signal.addEventListener(`abort`,o);let s=e.createElement(`iframe`);s.src=i,s.style.display=`none`,s.addEventListener(`error`,o,{signal:this.abortController.signal});let c=i=>{if(i.data&&typeof i.data==`string`)try{let a=JSON.parse(i.data);if(a.type===`verify_attestation`){if(us(a.attestation).payload.id!==n)return;clearInterval(t),e.body.removeChild(s),this.abortController.signal.removeEventListener(`abort`,o),window.removeEventListener(`message`,c),r(a.attestation===null?``:a.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(s),window.addEventListener(`message`,c,{signal:this.abortController.signal})});return this.logger.debug(`jwt attestation`,r),r}catch(e){this.logger.warn(e)}return``}),Tw(this,`resolve`,async e=>{if(this.isDevEnv)return``;let{attestationId:t,hash:n,encryptedId:r}=e;if(t===``){this.logger.debug(`resolve: attestationId is empty, skipping`);return}if(t){if(us(t).payload.id!==r)return;let e=await this.isValidJwtAttestation(t);if(e){if(!e.isVerified){this.logger.warn(`resolve: jwt attestation: origin url not verified`);return}return e}}if(!n)return;let i=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(n,i)}),Tw(this,`fetchAttestation`,async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let n=this.startAbortTimer(q.ONE_SECOND*5),r=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(n),r.status===200?await r.json():void 0}),Tw(this,`getVerifyUrl`,e=>{let t=e||`https://verify.walletconnect.org`;return mx.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: https://verify.walletconnect.org`),t=`https://verify.walletconnect.org`),t}),Tw(this,`fetchPublicKey`,async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(q.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),Tw(this,`persistPublicKey`,async e=>{this.logger.debug(`persisting public key to local storage`,e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),Tw(this,`removePublicKey`,async()=>{this.logger.debug(`removing verify v2 public key from storage`),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),Tw(this,`isValidJwtAttestation`,async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}let n=await this.fetchAndPersistPublicKey();try{if(n)return this.validateAttestation(e,n)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}}),Tw(this,`getPublicKey`,async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),Tw(this,`fetchAndPersistPublicKey`,async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),Tw(this,`validateAttestation`,(e,t)=>{let n=wy(e,t.publicKey),r={hasExpired:(0,q.toMiliseconds)(n.exp)<Date.now(),payload:n};if(r.hasExpired)throw this.logger.warn(`resolve: jwt attestation expired`),Error(`JWT attestation expired`);return{origin:r.payload.origin,isScam:r.payload.isScam,isVerified:r.payload.isVerified}}),this.logger=g(t,this.name),this.abortController=new AbortController,this.isDevEnv=Nh(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//verify:public:key`}get context(){return D(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,q.toMiliseconds)(e))}},Dw=Object.defineProperty,Ow=(e,t,n)=>t in e?Dw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kw=(e,t,n)=>Ow(e,typeof t==`symbol`?t:t+``,n),Aw=class extends Vp{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,kw(this,`context`,hx),kw(this,`registerDeviceToken`,async e=>{let{clientId:t,token:n,notificationType:r,enableEncrypted:i=!1}=e,a=`${gx}/${this.projectId}/clients`;await fetch(a,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({client_id:t,type:r,token:n,always_raw:i})})}),this.logger=g(t,this.context)}},jw=Object.defineProperty,Mw=Object.getOwnPropertySymbols,Nw=Object.prototype.hasOwnProperty,Pw=Object.prototype.propertyIsEnumerable,Fw=(e,t,n)=>t in e?jw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iw=(e,t)=>{for(var n in t||={})Nw.call(t,n)&&Fw(e,n,t[n]);if(Mw)for(var n of Mw(t))Pw.call(t,n)&&Fw(e,n,t[n]);return e},Lw=(e,t,n)=>Fw(e,typeof t==`symbol`?t:t+``,n),Rw=class extends Hp{constructor(e,t,n=!0){super(e,t,n),this.core=e,this.logger=t,Lw(this,`context`,wx),Lw(this,`storagePrefix`,Rb),Lw(this,`storageVersion`,Cx),Lw(this,`events`,new Map),Lw(this,`shouldPersist`,!1),Lw(this,`init`,async()=>{if(!Nh())try{let e={eventId:Mh(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:`INIT`,type:``,properties:{client_id:await this.core.crypto.getClientId(),user_agent:fh(this.core.relayer.protocol,this.core.relayer.version,Zb)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),Lw(this,`createEvent`,e=>{let{event:t=`ERROR`,type:n=``,properties:{topic:r,trace:i}}=e,a=Mh(),o=this.core.projectId||``,s=Iw({eventId:a,timestamp:Date.now(),props:{event:t,type:n,properties:{topic:r,trace:i}},bundleId:o,domain:this.getAppDomain()},this.setMethods(a));return this.telemetryEnabled&&(this.events.set(a,s),this.shouldPersist=!0),s}),Lw(this,`getEvent`,e=>{let{eventId:t,topic:n}=e;if(t)return this.events.get(t);let r=Array.from(this.events.values()).find(e=>e.props.properties.topic===n);if(r)return Iw(Iw({},r),this.setMethods(r.eventId))}),Lw(this,`deleteEvent`,e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),Lw(this,`setEventListeners`,()=>{this.core.heartbeat.on(Pt.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,q.fromMiliseconds)(Date.now())-(0,q.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),Lw(this,`setMethods`,e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),Lw(this,`addTrace`,(e,t)=>{let n=this.events.get(e);n&&(n.props.properties.trace.push(t),this.events.set(e,n),this.shouldPersist=!0)}),Lw(this,`setError`,(e,t)=>{let n=this.events.get(e);n&&(n.props.type=t,n.timestamp=Date.now(),this.events.set(e,n),this.shouldPersist=!0)}),Lw(this,`persist`,async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),Lw(this,`restore`,async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,Iw(Iw({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),Lw(this,`submit`,async()=>{if(!this.telemetryEnabled||this.events.size===0)return;let e=[];for(let[t,n]of this.events)n.props.type&&e.push(n);if(e.length!==0)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),Lw(this,`sendEvent`,async e=>{let t=this.getAppDomain()?``:`&sp=desktop`;return await fetch(`${Tx}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Zb}${t}`,{method:`POST`,body:JSON.stringify(e)})}),Lw(this,`getAppDomain`,()=>lh().url),this.logger=g(t,this.context),this.telemetryEnabled=n,n?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+`//`+this.context}},zw=Object.defineProperty,Bw=Object.getOwnPropertySymbols,Vw=Object.prototype.hasOwnProperty,Hw=Object.prototype.propertyIsEnumerable,Uw=(e,t,n)=>t in e?zw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ww=(e,t)=>{for(var n in t||={})Vw.call(t,n)&&Uw(e,n,t[n]);if(Bw)for(var n of Bw(t))Hw.call(t,n)&&Uw(e,n,t[n]);return e},Gw=(e,t,n)=>Uw(e,typeof t==`symbol`?t:t+``,n),Kw=class e extends kp{constructor(e){var t;super(e),Gw(this,`protocol`,`wc`),Gw(this,`version`,2),Gw(this,`name`,Lb),Gw(this,`relayUrl`),Gw(this,`projectId`),Gw(this,`customStoragePrefix`),Gw(this,`events`,new jt.EventEmitter),Gw(this,`logger`),Gw(this,`heartbeat`),Gw(this,`relayer`),Gw(this,`crypto`),Gw(this,`storage`),Gw(this,`history`),Gw(this,`expirer`),Gw(this,`pairing`),Gw(this,`verify`),Gw(this,`echoClient`),Gw(this,`linkModeSupportedApps`),Gw(this,`eventClient`),Gw(this,`initialized`,!1),Gw(this,`logChunkController`),Gw(this,`on`,(e,t)=>this.events.on(e,t)),Gw(this,`once`,(e,t)=>this.events.once(e,t)),Gw(this,`off`,(e,t)=>this.events.off(e,t)),Gw(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),Gw(this,`dispatchEnvelope`,({topic:e,message:t,sessionExists:n})=>{if(!e||!t)return;let r={topic:e,message:t,publishedAt:Date.now(),transportType:Qb.link_mode};this.relayer.onLinkMessageEvent(r,{sessionExists:n})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:``;let{logger:n,chunkLoggerController:r}=T({opts:x({level:typeof e?.logger==`string`&&e.logger?e.logger:zb.logger,name:Lb}),maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=r,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;(e=this.logChunkController)!=null&&e.downloadLogsBlobInBrowser&&((t=this.logChunkController)==null||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=g(n,this.name),this.heartbeat=new Ft,this.crypto=new yC(this,this.logger,e?.keychain),this.history=new vw(this,this.logger),this.expirer=new Sw(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Nn(Ww(Ww({},Bb),e?.storageOptions)),this.relayer=new rw({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new mw(this,this.logger),this.verify=new Ew(this,this.logger,this.storage),this.echoClient=new Aw(this.projectId||``,this.logger),this.linkModeSupportedApps=[],this.eventClient=new Rw(this,this.logger,e?.telemetryEnabled)}static async init(t){let n=new e(t);await n.initialize();let r=await n.crypto.getClientId();return await n.storage.setItem($b,r),n}get context(){return D(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){return this.logChunkController?.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(`WALLETCONNECT_LINK_MODE_APPS`,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(`WALLETCONNECT_LINK_MODE_APPS`)||[],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}}},qw=Object.defineProperty,Jw=(e,t,n)=>t in e?qw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yw=(e,t,n)=>Jw(e,typeof t==`symbol`?t:t+``,n),Xw=class{constructor(e){this.opts=e,Yw(this,`protocol`,`wc`),Yw(this,`version`,2)}},Zw=class{constructor(e){this.client=e}},Qw=`client`,$w=`wc@2:${Qw}:`,eT={name:Qw,logger:`error`,controller:!1,relayUrl:`wss://relay.walletconnect.org`},tT=`WALLETCONNECT_DEEPLINK_CHOICE`,nT=`proposal`;q.THIRTY_DAYS;var rT=`Proposal expired`,iT=`session`,aT=q.SEVEN_DAYS,oT=`engine`,sT={wc_sessionPropose:{req:{ttl:q.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1104},res:{ttl:q.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1106},res:{ttl:q.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:q.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:q.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1112},res:{ttl:q.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1114},res:{ttl:q.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:q.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:q.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1119}}},cT={min:q.FIVE_MINUTES,max:q.SEVEN_DAYS},lT={idle:`IDLE`,active:`ACTIVE`},uT={eth_sendTransaction:{key:``},eth_sendRawTransaction:{key:``},wallet_sendCalls:{key:``},solana_signTransaction:{key:`signature`},solana_signAllTransactions:{key:`transactions`},solana_signAndSendTransaction:{key:`signature`}},dT=`request`,fT=[`wc_sessionPropose`,`wc_sessionRequest`,`wc_authRequest`,`wc_sessionAuthenticate`],pT=`auth`,mT=`authKeys`,hT=`pairingTopics`,gT=`requests`,_T=`wc@1.5:${pT}:`,vT=`${_T}:PUB_KEY`,yT=Object.defineProperty,bT=Object.defineProperties,xT=Object.getOwnPropertyDescriptors,ST=Object.getOwnPropertySymbols,CT=Object.prototype.hasOwnProperty,wT=Object.prototype.propertyIsEnumerable,TT=(e,t,n)=>t in e?yT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ET=(e,t)=>{for(var n in t||={})CT.call(t,n)&&TT(e,n,t[n]);if(ST)for(var n of ST(t))wT.call(t,n)&&TT(e,n,t[n]);return e},DT=(e,t)=>bT(e,xT(t)),Z=(e,t,n)=>TT(e,typeof t==`symbol`?t:t+``,n),OT=class extends Zw{constructor(e){super(e),Z(this,`name`,oT),Z(this,`events`,new jt.default),Z(this,`initialized`,!1),Z(this,`requestQueue`,{state:lT.idle,queue:[]}),Z(this,`sessionRequestQueue`,{state:lT.idle,queue:[]}),Z(this,`requestQueueDelay`,q.ONE_SECOND),Z(this,`expectedPairingMethodMap`,new Map),Z(this,`recentlyDeletedMap`,new Map),Z(this,`recentlyDeletedLimit`,200),Z(this,`relayMessageCache`,[]),Z(this,`pendingSessions`,new Map),Z(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(sT)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,q.toMiliseconds)(this.requestQueueDelay)))}),Z(this,`connect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=DT(ET({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t);let{pairingTopic:n,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:a,relays:o}=t,s=n,c,l=!1;try{if(s){let e=this.client.core.pairing.pairings.get(s);this.client.logger.warn(`connect() with existing pairing topic is deprecated and will be removed in the next major release.`),l=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${s}) failed`),e}if(!s||!l){let{topic:e,uri:t}=await this.client.core.pairing.create();s=e,c=t}if(!s){let{message:e}=Y(`NO_MATCHING_KEY`,`connect() pairing topic: ${s}`);throw Error(e)}let u=await this.client.core.crypto.generateKeyPair(),d=sT.wc_sessionPropose.req.ttl||q.FIVE_MINUTES,f=Ch(d),p=DT(ET({requiredNamespaces:r,optionalNamespaces:i,relays:o??[{protocol:`irn`}],proposer:{publicKey:u,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:s},a&&{sessionProperties:a}),{id:S()}),m=Th(`session_connect`,p.id),{reject:h,resolve:g,done:_}=_h(d,rT),v=({id:e})=>{e===p.id&&(this.client.events.off(`proposal_expire`,v),this.pendingSessions.delete(p.id),this.events.emit(m,{error:{message:`Proposal expired`,code:0}}))};return this.client.events.on(`proposal_expire`,v),this.events.once(m,({error:e,session:t})=>{this.client.events.off(`proposal_expire`,v),e?h(e):t&&g(t)}),await this.sendRequest({topic:s,method:`wc_sessionPropose`,params:p,throwOnFailedPublish:!0,clientRpcId:p.id}),await this.setProposal(p.id,p),{uri:c,approval:_}}),Z(this,`pair`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error(`pair() failed`),e}}),Z(this,`approve`,async e=>{let t=this.client.core.eventClient.createEvent({properties:{topic:(e?.id)?.toString(),trace:[yx.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw t.setError(bx.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(n){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),t.setError(bx.proposal_not_found),n}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error(`approve() -> isValidApprove() failed`),t.setError(bx.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:r,namespaces:i,sessionProperties:a,sessionConfig:o}=e,s=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:t.eventId});let{pairingTopic:c,proposer:l,requiredNamespaces:u,optionalNamespaces:d}=s,f=this.client.core.eventClient?.getEvent({topic:c});f||=this.client.core.eventClient?.createEvent({type:yx.session_approve_started,properties:{topic:c,trace:[yx.session_approve_started,yx.session_namespaces_validation_success]}});let p=await this.client.core.crypto.generateKeyPair(),m=l.publicKey,h=await this.client.core.crypto.generateSharedKey(p,m),g=ET(ET({relay:{protocol:r??`irn`},namespaces:i,controller:{publicKey:p,metadata:this.client.metadata},expiry:Ch(aT)},a&&{sessionProperties:a}),o&&{sessionConfig:o}),_=Qb.relay;f.addTrace(yx.subscribing_session_topic);try{await this.client.core.relayer.subscribe(h,{transportType:_})}catch(e){throw f.setError(bx.subscribe_session_topic_failure),e}f.addTrace(yx.subscribe_session_topic_success);let v=DT(ET({},g),{topic:h,requiredNamespaces:u,optionalNamespaces:d,pairingTopic:c,acknowledged:!1,self:g.controller,peer:{publicKey:l.publicKey,metadata:l.metadata},controller:p,transportType:Qb.relay});await this.client.session.set(h,v),f.addTrace(yx.store_session);try{f.addTrace(yx.publishing_session_settle),await this.sendRequest({topic:h,method:`wc_sessionSettle`,params:g,throwOnFailedPublish:!0}).catch(e=>{throw f?.setError(bx.session_settle_publish_failure),e}),f.addTrace(yx.session_settle_publish_success),f.addTrace(yx.publishing_session_approve),await this.sendResult({id:n,topic:c,result:{relay:{protocol:r??`irn`},responderPublicKey:p},throwOnFailedPublish:!0}).catch(e=>{throw f?.setError(bx.session_approve_publish_failure),e}),f.addTrace(yx.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(h,Uy(`USER_DISCONNECTED`)),await this.client.core.relayer.unsubscribe(h),e}return this.client.core.eventClient.deleteEvent({eventId:f.eventId}),await this.client.core.pairing.updateMetadata({topic:c,metadata:l.metadata}),await this.client.proposal.delete(n,Uy(`USER_DISCONNECTED`)),await this.client.core.pairing.activate({topic:c}),await this.setExpiry(h,Ch(aT)),{topic:h,acknowledged:()=>Promise.resolve(this.client.session.get(h))}}),Z(this,`reject`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error(`reject() -> isValidReject() failed`),e}let{id:t,reason:n}=e,r;try{r=this.client.proposal.get(t).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),e}r&&(await this.sendError({id:t,topic:r,error:n,rpcOpts:sT.wc_sessionPropose.reject}),await this.client.proposal.delete(t,Uy(`USER_DISCONNECTED`)))}),Z(this,`update`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error(`update() -> isValidUpdate() failed`),e}let{topic:t,namespaces:n}=e,{done:r,resolve:i,reject:a}=_h(),o=S(),s=W().toString(),c=this.client.session.get(t).namespaces;return this.events.once(Th(`session_update`,o),({error:e})=>{e?a(e):i()}),await this.client.session.update(t,{namespaces:n}),await this.sendRequest({topic:t,method:`wc_sessionUpdate`,params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:s}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),a(e)}),{acknowledged:r}}),Z(this,`extend`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error(`extend() -> isValidExtend() failed`),e}let{topic:t}=e,n=S(),{done:r,resolve:i,reject:a}=_h();return this.events.once(Th(`session_extend`,n),({error:e})=>{e?a(e):i()}),await this.setExpiry(t,Ch(aT)),this.sendRequest({topic:t,method:`wc_sessionExtend`,params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(e=>{a(e)}),{acknowledged:r}}),Z(this,`request`,async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error(`request() -> isValidRequest() failed`),e}let{chainId:t,request:n,topic:r,expiry:i=sT.wc_sessionRequest.req.ttl}=e,a=this.client.session.get(r);a?.transportType===Qb.relay&&await this.confirmOnlineStateOrThrow();let o=S(),s=W().toString(),{done:c,resolve:l,reject:u}=_h(i,`Request expired. Please try again.`);this.events.once(Th(`session_request`,o),({error:e,result:t})=>{e?u(e):l(t)});let d=`wc_sessionRequest`,f=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(f)return await this.sendRequest({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:{request:DT(ET({},n),{expiryTimestamp:Ch(i)}),chainId:t},expiry:i,throwOnFailedPublish:!0,appLink:f}).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),await c();let p={request:DT(ET({},n),{expiryTimestamp:Ch(i)}),chainId:t},m=this.shouldSetTVF(d,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(ET({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:p,expiry:i,throwOnFailedPublish:!0},m&&{tvf:this.getTVFParams(o,p)})).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),e()}),new Promise(async e=>{var t;(t=a.sessionConfig)!=null&&t.disableDeepLink||await Dh({id:o,topic:r,wcDeepLink:await Ah(this.client.core.storage,tT)}),e()}),c()]).then(e=>e[2])}),Z(this,`respond`,async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:n}=e,{id:r}=n,i=this.client.session.get(t);i.transportType===Qb.relay&&await this.confirmOnlineStateOrThrow();let a=this.getAppLinkIfEnabled(i.peer.metadata,i.transportType);k(n)?await this.sendResult({id:r,topic:t,result:n.result,throwOnFailedPublish:!0,appLink:a}):O(n)&&await this.sendError({id:r,topic:t,error:n.error,appLink:a}),this.cleanupAfterResponse(e)}),Z(this,`ping`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error(`ping() -> isValidPing() failed`),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=S(),n=W().toString(),{done:r,resolve:i,reject:a}=_h();this.events.once(Th(`session_ping`,e),({error:e})=>{e?a(e):i()}),await Promise.all([this.sendRequest({topic:t,method:`wc_sessionPing`,params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:n}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(`ping() on pairing topic is deprecated and will be removed in the next major release.`),await this.client.core.pairing.ping({topic:t}))}),Z(this,`emit`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:n,chainId:r}=e,i=W().toString(),a=S();await this.sendRequest({topic:t,method:`wc_sessionEvent`,params:{event:n,chainId:r},throwOnFailedPublish:!0,relayRpcId:i,clientRpcId:a})}),Z(this,`disconnect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:`wc_sessionDelete`,params:Uy(`USER_DISCONNECTED`),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=Y(`MISMATCHED_TOPIC`,`Session or pairing topic not found: ${t}`);throw Error(e)}}),Z(this,`find`,e=>(this.isInitialized(),this.client.session.getAll().filter(t=>Yy(t,e)))),Z(this,`getPendingSessionRequests`,()=>this.client.pendingRequest.getAll()),Z(this,`authenticate`,async(e,t)=>{this.isInitialized(),this.isValidAuthenticate(e);let n=t&&this.client.core.linkModeSupportedApps.includes(t)&&this.client.metadata.redirect?.linkMode,r=n?Qb.link_mode:Qb.relay;r===Qb.relay&&await this.confirmOnlineStateOrThrow();let{chains:i,statement:a=``,uri:o,domain:s,nonce:c,type:l,exp:u,nbf:d,methods:f=[],expiry:p}=e,m=[...e.resources||[]],{topic:h,uri:g}=await this.client.core.pairing.create({methods:[`wc_sessionAuthenticate`],transportType:r});this.client.logger.info({message:`Generated new pairing`,pairing:{topic:h,uri:g}});let _=await this.client.core.crypto.generateKeyPair(),v=sy(_);if(await Promise.all([this.client.auth.authKeys.set(vT,{responseTopic:v,publicKey:_}),this.client.auth.pairingTopics.set(v,{topic:v,pairingTopic:h})]),await this.client.core.relayer.subscribe(v,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${h}`),f.length>0){let{namespace:e}=Zm(i[0]),t=n_(e,`request`,f);l_(m)&&(t=i_(t,m.pop())),m.push(t)}let y=p&&p>sT.wc_sessionAuthenticate.req.ttl?p:sT.wc_sessionAuthenticate.req.ttl,b={authPayload:{type:l??`caip122`,chains:i,statement:a,aud:o,domain:s,version:`1`,nonce:c,iat:new Date().toISOString(),exp:u,nbf:d,resources:m},requester:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:Ch(y)},x={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:i,methods:[...new Set([`personal_sign`,...f])],events:[`chainChanged`,`accountsChanged`]}},relays:[{protocol:`irn`}],pairingTopic:h,proposer:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:Ch(sT.wc_sessionPropose.req.ttl),id:S()},{done:C,resolve:w,reject:T}=_h(y,`Request expired`),E=S(),D=Th(`session_connect`,x.id),O=Th(`session_request`,E),k=async({error:e,session:t})=>{this.events.off(O,A),e?T(e):t&&w({session:t})},A=async e=>{var n,i,a;if(await this.deletePendingAuthRequest(E,{message:`fulfilled`,code:0}),e.error){let t=Uy(`WC_METHOD_UNSUPPORTED`,`wc_sessionAuthenticate`);return e.error.code===t.code?void 0:(this.events.off(D,k),T(e.error.message))}await this.deleteProposal(x.id),this.events.off(D,k);let{cacaos:o,responder:s}=e.result,c=[],l=[];for(let e of o){await qg({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,`Signature verification failed`),T(Uy(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`)));let{p:t}=e,n=l_(t.resources),r=[Gg(t.iss)],i=Kg(t.iss);if(n){let e=s_(n),t=c_(n);c.push(...e),r.push(...t)}for(let e of r)l.push(`${e}:${i}`)}let u=await this.client.core.crypto.generateSharedKey(_,s.publicKey),d;c.length>0&&(d={topic:u,acknowledged:!0,self:{publicKey:_,metadata:this.client.metadata},peer:s,controller:s.publicKey,expiry:Ch(aT),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:h,namespaces:By([...new Set(c)],[...new Set(l)]),transportType:r},await this.client.core.relayer.subscribe(u,{transportType:r}),await this.client.session.set(u,d),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:s.metadata}),d=this.client.session.get(u)),(n=this.client.metadata.redirect)!=null&&n.linkMode&&(i=s.metadata.redirect)!=null&&i.linkMode&&(a=s.metadata.redirect)!=null&&a.universal&&t&&(this.client.core.addLinkModeSupportedApp(s.metadata.redirect.universal),this.client.session.update(u,{transportType:Qb.link_mode})),w({auths:o,session:d})};this.events.once(D,k),this.events.once(O,A);let j;try{if(n){let e=te(`wc_sessionAuthenticate`,b,E);this.client.core.history.set(h,e),j=My(t,h,await this.client.core.crypto.encode(``,e,{type:2,encoding:Qv}))}else await Promise.all([this.sendRequest({topic:h,method:`wc_sessionAuthenticate`,params:b,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:E}),this.sendRequest({topic:h,method:`wc_sessionPropose`,params:x,expiry:sT.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:x.id})])}catch(e){throw this.events.off(D,k),this.events.off(O,A),e}return await this.setProposal(x.id,x),await this.setAuthRequest(E,{request:DT(ET({},b),{verifyContext:{}}),pairingTopic:h,transportType:r}),{uri:j??g,response:C}}),Z(this,`approveSessionAuthenticate`,async e=>{let{id:t,auths:n}=e,r=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[xx.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(Sx.no_internet_connection),e}let i=this.getPendingAuthRequest(t);if(!i)throw r.setError(Sx.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${t}`);let a=i.transportType||Qb.relay;a===Qb.relay&&await this.confirmOnlineStateOrThrow();let o=i.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),c=sy(o),l={type:1,receiverPublicKey:o,senderPublicKey:s},u=[],d=[];for(let e of n){if(!await qg({cacao:e,projectId:this.client.core.projectId})){r.setError(Sx.invalid_cacao);let e=Uy(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`);throw await this.sendError({id:t,topic:c,error:e,encodeOpts:l}),Error(e.message)}r.addTrace(xx.cacaos_verified);let{p:n}=e,i=l_(n.resources),a=[Gg(n.iss)],o=Kg(n.iss);if(i){let e=s_(i),t=c_(i);u.push(...e),a.push(...t)}for(let e of a)d.push(`${e}:${o}`)}let f=await this.client.core.crypto.generateSharedKey(s,o);r.addTrace(xx.create_authenticated_session_topic);let p;if(u?.length>0){p={topic:f,acknowledged:!0,self:{publicKey:s,metadata:this.client.metadata},peer:{publicKey:o,metadata:i.requester.metadata},controller:o,expiry:Ch(aT),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:i.pairingTopic,namespaces:By([...new Set(u)],[...new Set(d)]),transportType:a},r.addTrace(xx.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:a})}catch(e){throw r.setError(Sx.subscribe_authenticated_session_topic_failure),e}r.addTrace(xx.subscribe_authenticated_session_topic_success),await this.client.session.set(f,p),r.addTrace(xx.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:i.pairingTopic,metadata:i.requester.metadata})}r.addTrace(xx.publishing_authenticated_session_approve);try{await this.sendResult({topic:c,id:t,result:{cacaos:n,responder:{publicKey:s,metadata:this.client.metadata}},encodeOpts:l,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(i.requester.metadata,a)})}catch(e){throw r.setError(Sx.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(t,{message:`fulfilled`,code:0}),await this.client.core.pairing.activate({topic:i.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:p}}),Z(this,`rejectSessionAuthenticate`,async e=>{this.isInitialized();let{id:t,reason:n}=e,r=this.getPendingAuthRequest(t);if(!r)throw Error(`Could not find pending auth request with id ${t}`);r.transportType===Qb.relay&&await this.confirmOnlineStateOrThrow();let i=r.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),o=sy(i),s={type:1,receiverPublicKey:i,senderPublicKey:a};await this.sendError({id:t,topic:o,error:n,encodeOpts:s,rpcOpts:sT.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(r.requester.metadata,r.transportType)}),await this.client.auth.requests.delete(t,{message:`rejected`,code:0}),await this.client.proposal.delete(t,Uy(`USER_DISCONNECTED`))}),Z(this,`formatAuthMessage`,e=>{this.isInitialized();let{request:t,iss:n}=e;return Jg(t,n)}),Z(this,`processRelayMessageCache`,()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),Z(this,`cleanupDuplicatePairings`,async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(n=>n.peerMetadata?.url&&n.peerMetadata?.url===e.peer.metadata.url&&n.topic&&n.topic!==t.topic);if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info(`Duplicate pairings clean up finished`)}catch(e){this.client.logger.error(e)}}),Z(this,`deleteSession`,async e=>{let{topic:t,expirerHasDeleted:n=!1,emitEvent:r=!0,id:i=0}=e,{self:a}=this.client.session.get(t);await this.client.core.relayer.unsubscribe(t),await this.client.session.delete(t,Uy(`USER_DISCONNECTED`)),this.addToRecentlyDeleted(t,`session`),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(t)&&await this.client.core.crypto.deleteSymKey(t),n||this.client.core.expirer.del(t),this.client.core.storage.removeItem(tT).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===t&&this.deletePendingSessionRequest(e.id,Uy(`USER_DISCONNECTED`))}),t===this.sessionRequestQueue.queue[0]?.topic&&(this.sessionRequestQueue.state=lT.idle),r&&this.client.events.emit(`session_delete`,{id:i,topic:t})}),Z(this,`deleteProposal`,async(e,t)=>{if(t)try{let t=this.client.proposal.get(e);this.client.core.eventClient.getEvent({topic:t.pairingTopic})?.setError(bx.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,Uy(`USER_DISCONNECTED`)),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`proposal`)}),Z(this,`deletePendingSessionRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`request`),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),n&&(this.sessionRequestQueue.state=lT.idle,this.client.events.emit(`session_request_expire`,{id:e}))}),Z(this,`deletePendingAuthRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)])}),Z(this,`setExpiry`,async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),Z(this,`setProposal`,async(e,t)=>{this.client.core.expirer.set(e,Ch(sT.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),Z(this,`setAuthRequest`,async(e,t)=>{let{request:n,pairingTopic:r,transportType:i=Qb.relay}=t;this.client.core.expirer.set(e,n.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:e,pairingTopic:r,verifyContext:n.verifyContext,transportType:i})}),Z(this,`setPendingSessionRequest`,async e=>{let{id:t,topic:n,params:r,verifyContext:i}=e,a=r.request.expiryTimestamp||Ch(sT.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,a),await this.client.pendingRequest.set(t,{id:t,topic:n,params:r,verifyContext:i})}),Z(this,`sendRequest`,async e=>{let{topic:t,method:n,params:r,expiry:i,relayRpcId:a,clientRpcId:o,throwOnFailedPublish:s,appLink:c,tvf:l}=e,u=te(n,r,o),d,f=!!c;try{let e=f?Qv:Zv;d=await this.client.core.crypto.encode(t,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),e}let p;if(fT.includes(n)){let e=cy(JSON.stringify(u)),t=cy(d);p=await this.client.core.verify.register({id:t,decryptedId:e})}let m=sT[n].req;if(m.attestation=p,i&&(m.ttl=i),a&&(m.id=a),this.client.core.history.set(t,u),f){let e=My(c,t,d);await global.Linking.openURL(e,this.client.name)}else{let e=sT[n].req;i&&(e.ttl=i),a&&(e.id=a),e.tvf=DT(ET({},l),{correlationId:u.id}),s?(e.internal=DT(ET({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,e)):this.client.core.relayer.publish(t,d,e).catch(e=>this.client.logger.error(e))}return u.id}),Z(this,`sendResult`,async e=>{let{id:t,topic:n,result:r,throwOnFailedPublish:i,encodeOpts:a,appLink:o}=e,s=d(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?Qv:Zv;c=await this.client.core.crypto.encode(n,s,DT(ET({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),e}let u,f;try{u=await this.client.core.history.get(n,t);let e=u.request;try{this.shouldSetTVF(e.method,e.params)&&(f=this.getTVFParams(t,e.params,r))}catch(e){this.client.logger.warn(`sendResult() -> getTVFParams() failed`,e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${t}) failed`),e}if(l){let e=My(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=sT[u.request.method].res;e.tvf=DT(ET({},f),{correlationId:t}),i?(e.internal=DT(ET({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,c,e)):this.client.core.relayer.publish(n,c,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(s)}),Z(this,`sendError`,async e=>{let{id:t,topic:n,error:r,encodeOpts:i,rpcOpts:a,appLink:o}=e,s=w(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?Qv:Zv;c=await this.client.core.crypto.encode(n,s,DT(ET({},i||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}let u;try{u=await this.client.core.history.get(n,t)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${t}) failed`),e}if(l){let e=My(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=u.request.method,t=a||sT[e].res;this.client.core.relayer.publish(n,c,t)}await this.client.core.history.resolve(s)}),Z(this,`cleanup`,async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let n=!1;wh(t.expiry)&&(n=!0),this.client.core.crypto.keychain.has(t.topic)||(n=!0),n&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{wh(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),Z(this,`onRelayEventRequest`,async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),Z(this,`processRequestsQueue`,async()=>{if(this.requestQueue.state===lT.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=lT.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=lT.idle}),Z(this,`processRequest`,async e=>{let{topic:t,payload:n,attestation:r,transportType:i,encryptedId:a}=e,o=n.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case`wc_sessionPropose`:return await this.onSessionProposeRequest({topic:t,payload:n,attestation:r,encryptedId:a});case`wc_sessionSettle`:return await this.onSessionSettleRequest(t,n);case`wc_sessionUpdate`:return await this.onSessionUpdateRequest(t,n);case`wc_sessionExtend`:return await this.onSessionExtendRequest(t,n);case`wc_sessionPing`:return await this.onSessionPingRequest(t,n);case`wc_sessionDelete`:return await this.onSessionDeleteRequest(t,n);case`wc_sessionRequest`:return await this.onSessionRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});case`wc_sessionEvent`:return await this.onSessionEventRequest(t,n);case`wc_sessionAuthenticate`:return await this.onSessionAuthenticateRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),Z(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n,transportType:r}=e,i=(await this.client.core.history.get(t,n.id)).request.method;switch(i){case`wc_sessionPropose`:return this.onSessionProposeResponse(t,n,r);case`wc_sessionSettle`:return this.onSessionSettleResponse(t,n);case`wc_sessionUpdate`:return this.onSessionUpdateResponse(t,n);case`wc_sessionExtend`:return this.onSessionExtendResponse(t,n);case`wc_sessionPing`:return this.onSessionPingResponse(t,n);case`wc_sessionRequest`:return this.onSessionRequestResponse(t,n);case`wc_sessionAuthenticate`:return this.onSessionAuthenticateResponse(t,n);default:return this.client.logger.info(`Unsupported response method ${i}`)}}),Z(this,`onRelayEventUnknownPayload`,e=>{let{topic:t}=e,{message:n}=Y(`MISSING_OR_INVALID`,`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(n)}),Z(this,`shouldIgnorePairingRequest`,e=>{let{topic:t,requestMethod:n}=e,r=this.expectedPairingMethodMap.get(t);return!r||r.includes(n)?!1:!!(r.includes(`wc_sessionAuthenticate`)&&this.client.events.listenerCount(`session_authenticate`)>0)}),Z(this,`onSessionProposeRequest`,async e=>{let{topic:t,payload:n,attestation:r,encryptedId:i}=e,{params:a,id:o}=n;try{let e=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(`session_proposal`)===0&&(console.warn(`No listener for session_proposal event`),e?.setError(vx.proposal_listener_not_found)),this.isValidConnect(ET({},n.params));let s=ET({id:o,pairingTopic:t,expiryTimestamp:a.expiryTimestamp||Ch(sT.wc_sessionPropose.req.ttl)},a);await this.setProposal(o,s);let c=await this.getVerifyContext({attestationId:r,hash:cy(JSON.stringify(n)),encryptedId:i,metadata:s.proposer.metadata});e?.addTrace(_x.emit_session_proposal),this.client.events.emit(`session_proposal`,{id:o,params:s,verifyContext:c})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:sT.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),Z(this,`onSessionProposeResponse`,async(e,t,n)=>{let{id:r}=t;if(k(t)){let{result:i}=t;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,result:i});let a=this.client.proposal.get(r);this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,proposal:a});let o=a.proposer.publicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,selfPublicKey:o});let s=i.responderPublicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,peerPublicKey:s});let c=await this.client.core.crypto.generateSharedKey(o,s);this.pendingSessions.set(r,{sessionTopic:c,pairingTopic:e,proposalId:r,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:n});this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if(O(t)){await this.client.proposal.delete(r,Uy(`USER_DISCONNECTED`));let e=Th(`session_connect`,r);if(this.events.listenerCount(e)===0)throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),Z(this,`onSessionSettleRequest`,async(e,t)=>{let{id:n,params:r}=t;try{this.isValidSessionSettleRequest(r);let{relay:n,controller:i,expiry:a,namespaces:o,sessionProperties:s,sessionConfig:c}=t.params,l=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!l)return this.client.logger.error(`Pending session not found for topic ${e}`);let u=this.client.proposal.get(l.proposalId),d=DT(ET(ET({topic:e,relay:n,expiry:a,namespaces:o,acknowledged:!0,pairingTopic:l.pairingTopic,requiredNamespaces:u.requiredNamespaces,optionalNamespaces:u.optionalNamespaces,controller:i.publicKey,self:{publicKey:l.publicKey,metadata:this.client.metadata},peer:{publicKey:i.publicKey,metadata:i.metadata}},s&&{sessionProperties:s}),c&&{sessionConfig:c}),{transportType:Qb.relay});await this.client.session.set(d.topic,d),await this.setExpiry(d.topic,d.expiry),await this.client.core.pairing.updateMetadata({topic:l.pairingTopic,metadata:d.peer.metadata}),this.client.events.emit(`session_connect`,{session:d}),this.events.emit(Th(`session_connect`,l.proposalId),{session:d}),this.pendingSessions.delete(l.proposalId),this.deleteProposal(l.proposalId,!1),this.cleanupDuplicatePairings(d),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),Z(this,`onSessionSettleResponse`,async(e,t)=>{let{id:n}=t;k(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(Th(`session_approve`,n),{})):O(t)&&(await this.client.session.delete(e,Uy(`USER_DISCONNECTED`)),this.events.emit(Th(`session_approve`,n),{error:t.error}))}),Z(this,`onSessionUpdateRequest`,async(e,t)=>{let{params:n,id:r}=t;try{let t=`${e}_session_update`,i=Fb.get(t);if(i&&this.isRequestOutOfSync(i,r)){this.client.logger.warn(`Discarding out of sync request - ${r}`),this.sendError({id:r,topic:e,error:Uy(`INVALID_UPDATE_REQUEST`)});return}this.isValidUpdate(ET({topic:e},n));try{Fb.set(t,r),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw Fb.delete(t),e}this.client.events.emit(`session_update`,{id:r,topic:e,params:n})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),Z(this,`isRequestOutOfSync`,(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),Z(this,`onSessionUpdateResponse`,(e,t)=>{let{id:n}=t,r=Th(`session_update`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);k(t)?this.events.emit(Th(`session_update`,n),{}):O(t)&&this.events.emit(Th(`session_update`,n),{error:t.error})}),Z(this,`onSessionExtendRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,Ch(aT)),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_extend`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),Z(this,`onSessionExtendResponse`,(e,t)=>{let{id:n}=t,r=Th(`session_extend`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);k(t)?this.events.emit(Th(`session_extend`,n),{}):O(t)&&this.events.emit(Th(`session_extend`,n),{error:t.error})}),Z(this,`onSessionPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_ping`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),Z(this,`onSessionPingResponse`,(e,t)=>{let{id:n}=t,r=Th(`session_ping`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);setTimeout(()=>{k(t)?this.events.emit(Th(`session_ping`,n),{}):O(t)&&this.events.emit(Th(`session_ping`,n),{error:t.error})},500)}),Z(this,`onSessionDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(Yb.publish,async()=>{t(await this.deleteSession({topic:e,id:n}))})}),this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:Uy(`USER_DISCONNECTED`)})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),Z(this,`onSessionRequest`,async e=>{var t,n;let{topic:r,payload:i,attestation:a,encryptedId:o,transportType:s}=e,{id:c,params:l}=i;try{await this.isValidRequest(ET({topic:r},l));let e=this.client.session.get(r),i={id:c,topic:r,params:l,verifyContext:await this.getVerifyContext({attestationId:a,hash:cy(JSON.stringify(te(`wc_sessionRequest`,l,c))),encryptedId:o,metadata:e.peer.metadata,transportType:s})};await this.setPendingSessionRequest(i),s===Qb.link_mode&&(t=e.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.peer.metadata.redirect?.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(i):(this.addSessionRequestToSessionRequestQueue(i),this.processSessionRequestQueue())}catch(e){await this.sendError({id:c,topic:r,error:e}),this.client.logger.error(e)}}),Z(this,`onSessionRequestResponse`,(e,t)=>{let{id:n}=t,r=Th(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);k(t)?this.events.emit(Th(`session_request`,n),{result:t.result}):O(t)&&this.events.emit(Th(`session_request`,n),{error:t.error})}),Z(this,`onSessionEventRequest`,async(e,t)=>{let{id:n,params:r}=t;try{let t=`${e}_session_event_${r.event.name}`,i=Fb.get(t);if(i&&this.isRequestOutOfSync(i,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(ET({topic:e},r)),this.client.events.emit(`session_event`,{id:n,topic:e,params:r}),Fb.set(t,n)}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),Z(this,`onSessionAuthenticateResponse`,(e,t)=>{let{id:n}=t;this.client.logger.trace({type:`method`,method:`onSessionAuthenticateResponse`,topic:e,payload:t}),k(t)?this.events.emit(Th(`session_request`,n),{result:t.result}):O(t)&&this.events.emit(Th(`session_request`,n),{error:t.error})}),Z(this,`onSessionAuthenticateRequest`,async e=>{var t;let{topic:n,payload:r,attestation:i,encryptedId:a,transportType:o}=e;try{let{requester:e,authPayload:s,expiryTimestamp:c}=r.params,l=await this.getVerifyContext({attestationId:i,hash:cy(JSON.stringify(r)),encryptedId:a,metadata:e.metadata,transportType:o}),u={requester:e,pairingTopic:n,id:r.id,authPayload:s,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(r.id,{request:u,pairingTopic:n,transportType:o}),o===Qb.link_mode&&(t=e.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit(`session_authenticate`,{topic:n,params:r.params,id:r.id,verifyContext:l})}catch(e){this.client.logger.error(e);let t=r.params.requester.publicKey,i=await this.client.core.crypto.generateKeyPair(),a=this.getAppLinkIfEnabled(r.params.requester.metadata,o),s={type:1,receiverPublicKey:t,senderPublicKey:i};await this.sendError({id:r.id,topic:n,error:e,encodeOpts:s,rpcOpts:sT.wc_sessionAuthenticate.autoReject,appLink:a})}}),Z(this,`addSessionRequestToSessionRequestQueue`,e=>{this.sessionRequestQueue.queue.push(e)}),Z(this,`cleanupAfterResponse`,e=>{this.deletePendingSessionRequest(e.response.id,{message:`fulfilled`,code:0}),setTimeout(()=>{this.sessionRequestQueue.state=lT.idle,this.processSessionRequestQueue()},(0,q.toMiliseconds)(this.requestQueueDelay))}),Z(this,`cleanupPendingSentRequestsForTopic`,({topic:e,error:t})=>{let n=this.client.core.history.pending;n.length>0&&n.filter(t=>t.topic===e&&t.request.method===`wc_sessionRequest`).forEach(e=>{let n=e.request.id,r=Th(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);this.events.emit(Th(`session_request`,e.request.id),{error:t})})}),Z(this,`processSessionRequestQueue`,()=>{if(this.sessionRequestQueue.state===lT.active){this.client.logger.info(`session request queue is already active.`);return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(`session request queue is empty.`);return}try{this.sessionRequestQueue.state=lT.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),Z(this,`emitSessionRequest`,e=>{this.client.events.emit(`session_request`,e)}),Z(this,`onPairingCreated`,e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:te(`wc_sessionPropose`,{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties},t.id)})}),Z(this,`isValidConnect`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:n,optionalNamespaces:r,sessionProperties:i,relays:a}=e;if(Ky(t)||await this.isValidPairingTopic(t),!fb(a,!0)){let{message:e}=Y(`MISSING_OR_INVALID`,`connect() relays: ${a}`);throw Error(e)}!Ky(n)&&Gy(n)!==0&&this.validateNamespaces(n,`requiredNamespaces`),!Ky(r)&&Gy(r)!==0&&this.validateNamespaces(r,`optionalNamespaces`),Ky(i)||this.validateSessionProps(i,`sessionProperties`)}),Z(this,`validateNamespaces`,(e,t)=>{let n=lb(e,`connect()`,t);if(n)throw Error(n.message)}),Z(this,`isValidApprove`,async e=>{if(!mb(e))throw Error(Y(`MISSING_OR_INVALID`,`approve() params: ${e}`).message);let{id:t,namespaces:n,relayProtocol:r,sessionProperties:i}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let a=this.client.proposal.get(t),o=ub(n,`approve()`);if(o)throw Error(o.message);let s=Sb(a.requiredNamespaces,n,`approve()`);if(s)throw Error(s.message);if(!qy(r,!0)){let{message:e}=Y(`MISSING_OR_INVALID`,`approve() relayProtocol: ${r}`);throw Error(e)}Ky(i)||this.validateSessionProps(i,`sessionProperties`)}),Z(this,`isValidReject`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`reject() params: ${e}`);throw Error(t)}let{id:t,reason:n}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!hb(n)){let{message:e}=Y(`MISSING_OR_INVALID`,`reject() reason: ${JSON.stringify(n)}`);throw Error(e)}}),Z(this,`isValidSessionSettleRequest`,e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:n,namespaces:r,expiry:i}=e;if(!db(t)){let{message:e}=Y(`MISSING_OR_INVALID`,`onSessionSettleRequest() relay protocol should be a string`);throw Error(e)}let a=tb(n,`onSessionSettleRequest()`);if(a)throw Error(a.message);let o=ub(r,`onSessionSettleRequest()`);if(o)throw Error(o.message);if(wh(i)){let{message:e}=Y(`EXPIRED`,`onSessionSettleRequest()`);throw Error(e)}}),Z(this,`isValidUpdate`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:n}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let r=this.client.session.get(t),i=ub(n,`update()`);if(i)throw Error(i.message);let a=Sb(r.requiredNamespaces,n,`update()`);if(a)throw Error(a.message)}),Z(this,`isValidExtend`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),Z(this,`isValidRequest`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`request() params: ${e}`);throw Error(t)}let{topic:t,request:n,chainId:r,expiry:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:a}=this.client.session.get(t);if(!yb(a,r)){let{message:e}=Y(`MISSING_OR_INVALID`,`request() chainId: ${r}`);throw Error(e)}if(!gb(n)){let{message:e}=Y(`MISSING_OR_INVALID`,`request() ${JSON.stringify(n)}`);throw Error(e)}if(!bb(a,r,n.method)){let{message:e}=Y(`MISSING_OR_INVALID`,`request() method: ${n.method}`);throw Error(e)}if(i&&!Eb(i,cT)){let{message:e}=Y(`MISSING_OR_INVALID`,`request() expiry: ${i}. Expiry must be a number (in seconds) between ${cT.min} and ${cT.max}`);throw Error(e)}}),Z(this,`isValidRespond`,async e=>{var t;if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`respond() params: ${e}`);throw Error(t)}let{topic:n,response:r}=e;try{await this.isValidSessionTopic(n)}catch(n){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),n}if(!_b(r)){let{message:e}=Y(`MISSING_OR_INVALID`,`respond() response: ${JSON.stringify(r)}`);throw Error(e)}}),Z(this,`isValidPing`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),Z(this,`isValidEmit`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`emit() params: ${e}`);throw Error(t)}let{topic:t,event:n,chainId:r}=e;await this.isValidSessionTopic(t);let{namespaces:i}=this.client.session.get(t);if(!yb(i,r)){let{message:e}=Y(`MISSING_OR_INVALID`,`emit() chainId: ${r}`);throw Error(e)}if(!vb(n)){let{message:e}=Y(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}if(!xb(i,r,n.name)){let{message:e}=Y(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}}),Z(this,`isValidDisconnect`,async e=>{if(!mb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),Z(this,`isValidAuthenticate`,e=>{let{chains:t,uri:n,domain:r,nonce:i}=e;if(!Array.isArray(t)||t.length===0)throw Error(`chains is required and must be a non-empty array`);if(!qy(n,!1))throw Error(`uri is required parameter`);if(!qy(r,!1))throw Error(`domain is required parameter`);if(!qy(i,!1))throw Error(`nonce is required parameter`);if([...new Set(t.map(e=>Zm(e).namespace))].length>1)throw Error(`Multi-namespace requests are not supported. Please request single namespace only.`);let{namespace:a}=Zm(t[0]);if(a!==`eip155`)throw Error(`Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.`)}),Z(this,`getVerifyContext`,async e=>{let{attestationId:t,hash:n,encryptedId:r,metadata:i,transportType:a}=e,o={verified:{verifyUrl:i.verifyUrl||`https://verify.walletconnect.org`,validation:`UNKNOWN`,origin:i.url||``}};try{if(a===Qb.link_mode){let e=this.getAppLinkIfEnabled(i,a);return o.verified.validation=e&&new URL(e).origin===new URL(i.url).origin?`VALID`:`INVALID`,o}let e=await this.client.core.verify.resolve({attestationId:t,hash:n,encryptedId:r,verifyUrl:i.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(i.url).origin?`VALID`:`INVALID`)}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),Z(this,`validateSessionProps`,(e,t)=>{Object.values(e).forEach(e=>{if(!qy(e,!1)){let{message:n}=Y(`MISSING_OR_INVALID`,`${t} must be in Record<string, string> format. Received: ${JSON.stringify(e)}`);throw Error(n)}})}),Z(this,`getPendingAuthRequest`,e=>{let t=this.client.auth.requests.get(e);return typeof t==`object`?t:void 0}),Z(this,`addToRecentlyDeleted`,(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let n of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(n)}}}),Z(this,`checkRecentlyDeleted`,e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:n}=Y(`MISSING_OR_INVALID`,`Record was recently deleted - ${t}: ${e}`);throw Error(n)}}),Z(this,`isLinkModeEnabled`,(e,t)=>!e||t!==Qb.link_mode?!1:this.client.metadata?.redirect?.linkMode===!0&&this.client.metadata?.redirect?.universal!==void 0&&this.client.metadata?.redirect?.universal!==``&&e?.redirect?.universal!==void 0&&e?.redirect?.universal!==``&&e?.redirect?.linkMode===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<`u`),Z(this,`getAppLinkIfEnabled`,(e,t)=>this.isLinkModeEnabled(e,t)?e?.redirect?.universal:void 0),Z(this,`handleLinkModeMessage`,({url:e})=>{if(!e||!e.includes(`wc_ev`)||!e.includes(`topic`))return;let t=jh(e,`topic`)||``,n=decodeURIComponent(jh(e,`wc_ev`)||``),r=this.client.session.keys.includes(t);r&&this.client.session.update(t,{transportType:Qb.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:n,sessionExists:r})}),Z(this,`registerLinkModeListeners`,async()=>{var e;if(Nh()||nh()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){let e=global==null?void 0:global.Linking;if(typeof e<`u`){e.addEventListener(`url`,this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),Z(this,`shouldSetTVF`,(e,t)=>{if(!t||e!==`wc_sessionRequest`)return!1;let{request:n}=t;return Object.keys(uT).includes(n.method)}),Z(this,`getTVFParams`,(e,t,n)=>{try{let r=t.request.method,i=this.extractTxHashesFromResult(r,n);return DT(ET({correlationId:e,rpcMethods:[r],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[t.request.params?.[0]?.to]}),{txHashes:i})}catch(e){this.client.logger.warn(`Error getting TVF params`,e)}return{}}),Z(this,`isValidContractData`,e=>{if(!e)return!1;try{let t=e?.data||e?.[0]?.data;if(!t.startsWith(`0x`))return!1;let n=t.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2==0:!1}catch{}return!1}),Z(this,`extractTxHashesFromResult`,(e,t)=>{try{let n=uT[e];if(typeof t==`string`)return[t];let r=t[n.key];if(Wy(r))return r;if(typeof r==`string`)return[r]}catch(e){this.client.logger.warn(`Error extracting tx hashes from result`,e)}return[]})}isInitialized(){if(!this.initialized){let{message:e}=Y(`NOT_INITIALIZED`,this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Yb.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){let{topic:t,message:n,attestation:r,transportType:i}=e,{publicKey:a}=this.client.auth.authKeys.keys.includes(vT)?this.client.auth.authKeys.get(vT):{responseTopic:void 0,publicKey:void 0},o=await this.client.core.crypto.decode(t,n,{receiverPublicKey:a,encoding:i===Qb.link_mode?Qv:Zv});try{p(o)?(this.client.core.history.set(t,o),this.onRelayEventRequest({topic:t,payload:o,attestation:r,transportType:i,encryptedId:cy(n)})):ue(o)?(await this.client.core.history.resolve(o),await this.onRelayEventResponse({topic:t,payload:o,transportType:i}),this.client.core.history.delete(t,o.id)):this.onRelayEventUnknownPayload({topic:t,payload:o,transportType:i})}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(lx.expired,async e=>{let{topic:t,id:n}=Sh(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Y(`EXPIRED`),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,Y(`EXPIRED`),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit(`session_expire`,{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit(`proposal_expire`,{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(ax.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(ax.delete,e=>{this.addToRecentlyDeleted(e.topic,`pairing`)})}isValidPairingTopic(e){if(!qy(e,!1)){let{message:t}=Y(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=Y(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(wh(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=Y(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!qy(e,!1)){let{message:t}=Y(`MISSING_OR_INVALID`,`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=Y(`NO_MATCHING_KEY`,`session topic doesn't exist: ${e}`);throw Error(t)}if(wh(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=Y(`EXPIRED`,`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(qy(e,!1)){let{message:t}=Y(`NO_MATCHING_KEY`,`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=Y(`MISSING_OR_INVALID`,`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if(!pb(e)){let{message:t}=Y(`MISSING_OR_INVALID`,`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=Y(`NO_MATCHING_KEY`,`proposal id doesn't exist: ${e}`);throw Error(t)}if(wh(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=Y(`EXPIRED`,`proposal id: ${e}`);throw Error(t)}}},kT=class extends dw{constructor(e,t){super(e,t,nT,$w),this.core=e,this.logger=t}},AT=class extends dw{constructor(e,t){super(e,t,iT,$w),this.core=e,this.logger=t}},jT=class extends dw{constructor(e,t){super(e,t,dT,$w,e=>e.id),this.core=e,this.logger=t}},MT=class extends dw{constructor(e,t){super(e,t,mT,_T,()=>vT),this.core=e,this.logger=t}},NT=class extends dw{constructor(e,t){super(e,t,hT,_T),this.core=e,this.logger=t}},PT=class extends dw{constructor(e,t){super(e,t,gT,_T,e=>e.id),this.core=e,this.logger=t}},FT=Object.defineProperty,IT=(e,t,n)=>t in e?FT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LT=(e,t,n)=>IT(e,typeof t==`symbol`?t:t+``,n),RT=class{constructor(e,t){this.core=e,this.logger=t,LT(this,`authKeys`),LT(this,`pairingTopics`),LT(this,`requests`),this.authKeys=new MT(this.core,this.logger),this.pairingTopics=new NT(this.core,this.logger),this.requests=new PT(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}},zT=Object.defineProperty,BT=(e,t,n)=>t in e?zT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VT=(e,t,n)=>BT(e,typeof t==`symbol`?t:t+``,n),HT=class e extends Xw{constructor(e){super(e),VT(this,`protocol`,`wc`),VT(this,`version`,2),VT(this,`name`,eT.name),VT(this,`metadata`),VT(this,`core`),VT(this,`logger`),VT(this,`events`,new jt.EventEmitter),VT(this,`engine`),VT(this,`session`),VT(this,`proposal`),VT(this,`pendingRequest`),VT(this,`auth`),VT(this,`signConfig`),VT(this,`on`,(e,t)=>this.events.on(e,t)),VT(this,`once`,(e,t)=>this.events.once(e,t)),VT(this,`off`,(e,t)=>this.events.off(e,t)),VT(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),VT(this,`removeAllListeners`,e=>this.events.removeAllListeners(e)),VT(this,`connect`,async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`pair`,async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`approve`,async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`reject`,async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`update`,async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`extend`,async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`request`,async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`respond`,async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`ping`,async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`emit`,async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`disconnect`,async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`find`,e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`getPendingSessionRequests`,()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),VT(this,`authenticate`,async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`formatAuthMessage`,e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`approveSessionAuthenticate`,async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),VT(this,`rejectSessionAuthenticate`,async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||eT.name,this.metadata=e?.metadata||lh(),this.signConfig=e?.signConfig;let t=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,v.default)(x({level:e?.logger||eT.logger}));this.core=e?.core||new Kw(e),this.logger=g(t,this.name),this.session=new AT(this.core,this.logger),this.proposal=new kT(this.core,this.logger),this.pendingRequest=new jT(this.core,this.logger),this.engine=new OT(this),this.auth=new RT(this.core,this.logger)}static async init(t){let n=new e(t);return await n.initialize(),n}get context(){return D(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(`Initialized`);try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(`SignClient Initialization Success`),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,q.toMiliseconds)(q.ONE_SECOND))}catch(e){throw this.logger.info(`SignClient Initialization Failure`),this.logger.error(e.message),e}}},UT=`error`,WT=`wss://relay.walletconnect.org`,GT=`wc@2:universal_provider:`,KT=`https://rpc.walletconnect.org/v1/`,qT=`generic`,JT=`${KT}bundler`,YT={DEFAULT_CHAIN_CHANGED:`default_chain_changed`},XT=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{};function ZT(){this.__data__=[],this.size=0}var QT=ZT;function $T(e,t){return e===t||e!==e&&t!==t}var eE=$T,tE=eE;function nE(e,t){for(var n=e.length;n--;)if(tE(e[n][0],t))return n;return-1}var rE=nE,iE=rE,aE=Array.prototype.splice;function oE(e){var t=this.__data__,n=iE(t,e);return n<0?!1:(n==t.length-1?t.pop():aE.call(t,n,1),--this.size,!0)}var sE=oE,cE=rE;function lE(e){var t=this.__data__,n=cE(t,e);return n<0?void 0:t[n][1]}var uE=lE,dE=rE;function fE(e){return dE(this.__data__,e)>-1}var pE=fE,mE=rE;function hE(e,t){var n=this.__data__,r=mE(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var gE=hE,_E=QT,vE=sE,yE=uE,bE=pE,xE=gE;function SE(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}SE.prototype.clear=_E,SE.prototype.delete=vE,SE.prototype.get=yE,SE.prototype.has=bE,SE.prototype.set=xE;var CE=SE,wE=CE;function TE(){this.__data__=new wE,this.size=0}var EE=TE;function DE(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var OE=DE;function kE(e){return this.__data__.get(e)}var AE=kE;function jE(e){return this.__data__.has(e)}var ME=jE,NE=typeof XT==`object`&&XT&&XT.Object===Object&&XT,PE=NE,FE=typeof self==`object`&&self&&self.Object===Object&&self,IE=PE||FE||Function(`return this`)(),LE=IE.Symbol,RE=LE,zE=Object.prototype,BE=zE.hasOwnProperty,VE=zE.toString,HE=RE?RE.toStringTag:void 0;function UE(e){var t=BE.call(e,HE),n=e[HE];try{e[HE]=void 0;var r=!0}catch{}var i=VE.call(e);return r&&(t?e[HE]=n:delete e[HE]),i}var WE=UE,GE=Object.prototype.toString;function KE(e){return GE.call(e)}var qE=KE,JE=LE,YE=WE,XE=qE,ZE=`[object Null]`,QE=`[object Undefined]`,$E=JE?JE.toStringTag:void 0;function eD(e){return e==null?e===void 0?QE:ZE:$E&&$E in Object(e)?YE(e):XE(e)}var tD=eD;function nD(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var rD=nD,iD=tD,aD=rD,oD=`[object AsyncFunction]`,sD=`[object Function]`,cD=`[object GeneratorFunction]`,lD=`[object Proxy]`;function uD(e){if(!aD(e))return!1;var t=iD(e);return t==sD||t==cD||t==oD||t==lD}var dD=uD,fD=IE[`__core-js_shared__`],pD=function(){var e=/[^.]+$/.exec(fD&&fD.keys&&fD.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function mD(e){return!!pD&&pD in e}var hD=mD,gD=Function.prototype.toString;function _D(e){if(e!=null){try{return gD.call(e)}catch{}try{return e+``}catch{}}return``}var vD=_D,yD=dD,bD=hD,xD=rD,SD=vD,CD=/[\\^$.*+?()[\]{}|]/g,wD=/^\[object .+?Constructor\]$/,TD=Function.prototype,ED=Object.prototype,DD=TD.toString,OD=ED.hasOwnProperty,kD=RegExp(`^`+DD.call(OD).replace(CD,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function AD(e){return!xD(e)||bD(e)?!1:(yD(e)?kD:wD).test(SD(e))}var jD=AD;function MD(e,t){return e?.[t]}var ND=MD,PD=jD,FD=ND;function ID(e,t){var n=FD(e,t);return PD(n)?n:void 0}var LD=ID,RD=LD(IE,`Map`),zD=LD(Object,`create`),BD=zD;function VD(){this.__data__=BD?BD(null):{},this.size=0}var HD=VD;function UD(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}var WD=UD,GD=zD,KD=`__lodash_hash_undefined__`,qD=Object.prototype.hasOwnProperty;function JD(e){var t=this.__data__;if(GD){var n=t[e];return n===KD?void 0:n}return qD.call(t,e)?t[e]:void 0}var YD=JD,XD=zD,ZD=Object.prototype.hasOwnProperty;function QD(e){var t=this.__data__;return XD?t[e]!==void 0:ZD.call(t,e)}var $D=QD,eO=zD,tO=`__lodash_hash_undefined__`;function nO(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=eO&&t===void 0?tO:t,this}var rO=nO,iO=HD,aO=WD,oO=YD,sO=$D,cO=rO;function lO(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}lO.prototype.clear=iO,lO.prototype.delete=aO,lO.prototype.get=oO,lO.prototype.has=sO,lO.prototype.set=cO;var uO=lO,dO=CE,fO=RD;function pO(){this.size=0,this.__data__={hash:new uO,map:new(fO||dO),string:new uO}}var mO=pO;function hO(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}var gO=hO;function _O(e,t){var n=e.__data__;return gO(t)?n[typeof t==`string`?`string`:`hash`]:n.map}var vO=_O,yO=vO;function bO(e){var t=yO(this,e).delete(e);return this.size-=+!!t,t}var xO=bO,SO=vO;function CO(e){return SO(this,e).get(e)}var wO=CO,TO=vO;function EO(e){return TO(this,e).has(e)}var DO=EO,OO=vO;function kO(e,t){var n=OO(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var AO=kO,jO=mO,MO=xO,NO=wO,PO=DO,FO=AO;function IO(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}IO.prototype.clear=jO,IO.prototype.delete=MO,IO.prototype.get=NO,IO.prototype.has=PO,IO.prototype.set=FO;var LO=IO,RO=CE,zO=RD,BO=LO,VO=200;function HO(e,t){var n=this.__data__;if(n instanceof RO){var r=n.__data__;if(!zO||r.length<VO-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new BO(r)}return n.set(e,t),this.size=n.size,this}var UO=HO,WO=CE,GO=EE,KO=OE,qO=AE,JO=ME,YO=UO;function XO(e){var t=this.__data__=new WO(e);this.size=t.size}XO.prototype.clear=GO,XO.prototype.delete=KO,XO.prototype.get=qO,XO.prototype.has=JO,XO.prototype.set=YO;var ZO=XO,QO=LD,$O=function(){try{var e=QO(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),ek=$O;function tk(e,t,n){t==`__proto__`&&ek?ek(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var nk=tk,rk=nk,ik=eE;function ak(e,t,n){(n!==void 0&&!ik(e[t],n)||n===void 0&&!(t in e))&&rk(e,t,n)}var ok=ak;function sk(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}var ck=sk(),lk={exports:{}};(function(e,t){var n=IE,r=t&&!t.nodeType&&t,i=r&&e&&!e.nodeType&&e,a=i&&i.exports===r?n.Buffer:void 0,o=a?a.allocUnsafe:void 0;function s(e,t){if(t)return e.slice();var n=e.length,r=o?o(n):new e.constructor(n);return e.copy(r),r}e.exports=s})(lk,lk.exports);var uk=IE.Uint8Array;function dk(e){var t=new e.constructor(e.byteLength);return new uk(t).set(new uk(e)),t}var fk=dk;function pk(e,t){var n=t?fk(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var mk=pk;function hk(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}var gk=hk,_k=rD,vk=Object.create,yk=function(){function e(){}return function(t){if(!_k(t))return{};if(vk)return vk(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function bk(e,t){return function(n){return e(t(n))}}var xk=bk(Object.getPrototypeOf,Object),Sk=Object.prototype;function Ck(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Sk)}var wk=Ck,Tk=yk,Ek=xk,Dk=wk;function Ok(e){return typeof e.constructor==`function`&&!Dk(e)?Tk(Ek(e)):{}}var kk=Ok;function Ak(e){return typeof e==`object`&&!!e}var jk=Ak,Mk=tD,Nk=jk,Pk=`[object Arguments]`;function Fk(e){return Nk(e)&&Mk(e)==Pk}var Ik=Fk,Lk=jk,Rk=Object.prototype,zk=Rk.hasOwnProperty,Bk=Rk.propertyIsEnumerable,Vk=Ik(function(){return arguments}())?Ik:function(e){return Lk(e)&&zk.call(e,`callee`)&&!Bk.call(e,`callee`)},Hk=Array.isArray,Uk=9007199254740991;function Wk(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=Uk}var Gk=Wk,Kk=dD,qk=Gk;function Jk(e){return e!=null&&qk(e.length)&&!Kk(e)}var Yk=Jk,Xk=Yk,Zk=jk;function Qk(e){return Zk(e)&&Xk(e)}var $k=Qk,eA={exports:{}};function tA(){return!1}var nA=tA;(function(e,t){var n=IE,r=nA,i=t&&!t.nodeType&&t,a=i&&e&&!e.nodeType&&e,o=a&&a.exports===i?n.Buffer:void 0;e.exports=(o?o.isBuffer:void 0)||r})(eA,eA.exports);var rA=tD,iA=xk,aA=jk,oA=`[object Object]`,sA=Function.prototype,cA=Object.prototype,lA=sA.toString,uA=cA.hasOwnProperty,dA=lA.call(Object);function fA(e){if(!aA(e)||rA(e)!=oA)return!1;var t=iA(e);if(t===null)return!0;var n=uA.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&lA.call(n)==dA}var pA=fA,mA=tD,hA=Gk,gA=jk,_A=`[object Arguments]`,vA=`[object Array]`,yA=`[object Boolean]`,bA=`[object Date]`,xA=`[object Error]`,SA=`[object Function]`,CA=`[object Map]`,wA=`[object Number]`,TA=`[object Object]`,EA=`[object RegExp]`,DA=`[object Set]`,OA=`[object String]`,kA=`[object WeakMap]`,AA=`[object ArrayBuffer]`,jA=`[object DataView]`,MA=`[object Float32Array]`,NA=`[object Float64Array]`,PA=`[object Int8Array]`,FA=`[object Int16Array]`,IA=`[object Int32Array]`,LA=`[object Uint8Array]`,RA=`[object Uint8ClampedArray]`,zA=`[object Uint16Array]`,BA=`[object Uint32Array]`,VA={};VA[MA]=VA[NA]=VA[PA]=VA[FA]=VA[IA]=VA[LA]=VA[RA]=VA[zA]=VA[BA]=!0,VA[_A]=VA[vA]=VA[AA]=VA[yA]=VA[jA]=VA[bA]=VA[xA]=VA[SA]=VA[CA]=VA[wA]=VA[TA]=VA[EA]=VA[DA]=VA[OA]=VA[kA]=!1;function HA(e){return gA(e)&&hA(e.length)&&!!VA[mA(e)]}var UA=HA;function WA(e){return function(t){return e(t)}}var GA=WA,KA={exports:{}};(function(e,t){var n=NE,r=t&&!t.nodeType&&t,i=r&&e&&!e.nodeType&&e,a=i&&i.exports===r&&n.process;e.exports=function(){try{return i&&i.require&&i.require(`util`).types||a&&a.binding&&a.binding(`util`)}catch{}}()})(KA,KA.exports);var qA=UA,JA=GA,YA=KA.exports,XA=YA&&YA.isTypedArray,ZA=XA?JA(XA):qA;function QA(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}var $A=QA,ej=nk,tj=eE,nj=Object.prototype.hasOwnProperty;function rj(e,t,n){var r=e[t];(!(nj.call(e,t)&&tj(r,n))||n===void 0&&!(t in e))&&ej(e,t,n)}var ij=rj,aj=nk;function oj(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?aj(n,s,c):ij(n,s,c)}return n}var sj=oj;function cj(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var lj=cj,uj=9007199254740991,dj=/^(?:0|[1-9]\d*)$/;function fj(e,t){var n=typeof e;return t??=uj,!!t&&(n==`number`||n!=`symbol`&&dj.test(e))&&e>-1&&e%1==0&&e<t}var pj=fj,mj=lj,hj=Vk,gj=Hk,_j=eA.exports,vj=pj,yj=ZA,bj=Object.prototype.hasOwnProperty;function xj(e,t){var n=gj(e),r=!n&&hj(e),i=!n&&!r&&_j(e),a=!n&&!r&&!i&&yj(e),o=n||r||i||a,s=o?mj(e.length,String):[],c=s.length;for(var l in e)(t||bj.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||vj(l,c)))&&s.push(l);return s}var Sj=xj;function Cj(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var wj=Cj,Tj=rD,Ej=wk,Dj=wj,Oj=Object.prototype.hasOwnProperty;function kj(e){if(!Tj(e))return Dj(e);var t=Ej(e),n=[];for(var r in e)r==`constructor`&&(t||!Oj.call(e,r))||n.push(r);return n}var Aj=kj,jj=Sj,Mj=Aj,Nj=Yk;function Pj(e){return Nj(e)?jj(e,!0):Mj(e)}var Fj=Pj,Ij=sj,Lj=Fj;function Rj(e){return Ij(e,Lj(e))}var zj=Rj,Bj=ok,Vj=lk.exports,Hj=mk,Uj=gk,Wj=kk,Gj=Vk,Kj=Hk,qj=$k,Jj=eA.exports,Yj=dD,Xj=rD,Zj=pA,Qj=ZA,$j=$A,eM=zj;function tM(e,t,n,r,i,a,o){var s=$j(e,n),c=$j(t,n),l=o.get(c);if(l){Bj(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=Kj(c),p=!f&&Jj(c),m=!f&&!p&&Qj(c);u=c,f||p||m?Kj(s)?u=s:qj(s)?u=Uj(s):p?(d=!1,u=Vj(c,!0)):m?(d=!1,u=Hj(c,!0)):u=[]:Zj(c)||Gj(c)?(u=s,Gj(s)?u=eM(s):(!Xj(s)||Yj(s))&&(u=Wj(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),Bj(e,n,u)}var nM=tM,rM=ZO,iM=ok,aM=ck,oM=nM,sM=rD,cM=Fj,lM=$A;function uM(e,t,n,r,i){e!==t&&aM(t,function(a,o){if(i||=new rM,sM(a))oM(e,t,o,n,uM,r,i);else{var s=r?r(lM(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),iM(e,o,s)}},cM)}var dM=uM;function fM(e){return e}var pM=fM;function mM(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var hM=mM,gM=Math.max;function _M(e,t,n){return t=gM(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=gM(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),hM(e,this,s)}}var vM=_M;function yM(e){return function(){return e}}var bM=yM,xM=$O,SM=xM?function(e,t){return xM(e,`toString`,{configurable:!0,enumerable:!1,value:bM(t),writable:!0})}:pM,CM=800,wM=16,TM=Date.now;function EM(e){var t=0,n=0;return function(){var r=TM(),i=wM-(r-n);if(n=r,i>0){if(++t>=CM)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var DM=EM(SM),OM=pM,kM=vM,AM=DM;function jM(e,t){return AM(kM(e,t,OM),e+``)}var MM=jM,NM=eE,PM=Yk,FM=pj,IM=rD;function LM(e,t,n){if(!IM(n))return!1;var r=typeof t;return(r==`number`?PM(n)&&FM(t,n.length):r==`string`&&t in n)?NM(n[t],e):!1}var RM=LM,zM=MM,BM=RM;function VM(e){return zM(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&BM(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}var HM=VM,UM=dM,WM=HM(function(e,t,n){UM(e,t,n)}),GM=Object.defineProperty,KM=Object.defineProperties,qM=Object.getOwnPropertyDescriptors,JM=Object.getOwnPropertySymbols,YM=Object.prototype.hasOwnProperty,XM=Object.prototype.propertyIsEnumerable,ZM=(e,t,n)=>t in e?GM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QM=(e,t)=>{for(var n in t||={})YM.call(t,n)&&ZM(e,n,t[n]);if(JM)for(var n of JM(t))XM.call(t,n)&&ZM(e,n,t[n]);return e},$M=(e,t)=>KM(e,qM(t));function eN(e,t,n){let r=Zm(e);return t.rpcMap?.[r.reference]||`${KT}?chainId=${r.namespace}:${r.reference}&projectId=${n}`}function tN(e){return e.includes(`:`)?e.split(`:`)[1]:e}function nN(e){return e.map(e=>`${e.split(`:`)[0]}:${e.split(`:`)[1]}`)}function rN(e,t){let n=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!n.length)return[];let r=[];return n.forEach(e=>{let n=t.namespaces[e].accounts;r.push(...n)}),r}function iN(e={},t={}){return WM(aN(e),aN(t))}function aN(e){let t={};if(!Gy(e))return t;for(let[n,r]of Object.entries(e)){let e=Ly(n)?[n]:r.chains,i=r.methods||[],a=r.events||[],o=r.rpcMap||{},s=Ry(n);t[s]=$M(QM(QM({},t[s]),r),{chains:Eh(e,t[s]?.chains),methods:Eh(i,t[s]?.methods),events:Eh(a,t[s]?.events),rpcMap:QM(QM({},o),t[s]?.rpcMap)})}return t}function oN(e){return e.includes(`:`)?e.split(`:`)[2]:e}function sN(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.methods||[],i=r.events||[],a=r.accounts||[];t[n]={chains:Ly(n)?[n]:r.chains?r.chains:nN(r.accounts),methods:e,events:i,accounts:a}}return t}function cN(e){return typeof e==`number`?e:e.includes(`0x`)?parseInt(e,16):(e=e.includes(`:`)?e.split(`:`)[1]:e,isNaN(Number(e))?e:Number(e))}var lN={},uN=e=>lN[e],dN=(e,t)=>{lN[e]=t},fN=Object.defineProperty,pN=(e,t,n)=>t in e?fN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mN=(e,t,n)=>pN(e,typeof t==`symbol`?t:t+``,n),hN=class{constructor(e){mN(this,`name`,`polkadot`),mN(this,`client`),mN(this,`httpProviders`),mN(this,`events`),mN(this,`namespace`),mN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=tN(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},gN=Object.defineProperty,_N=Object.defineProperties,vN=Object.getOwnPropertyDescriptors,yN=Object.getOwnPropertySymbols,bN=Object.prototype.hasOwnProperty,xN=Object.prototype.propertyIsEnumerable,SN=(e,t,n)=>t in e?gN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,CN=(e,t)=>{for(var n in t||={})bN.call(t,n)&&SN(e,n,t[n]);if(yN)for(var n of yN(t))xN.call(t,n)&&SN(e,n,t[n]);return e},wN=(e,t)=>_N(e,vN(t)),TN=(e,t,n)=>SN(e,typeof t==`symbol`?t:t+``,n),EN=class{constructor(e){TN(this,`name`,`eip155`),TN(this,`client`),TN(this,`chainId`),TN(this,`namespace`),TN(this,`httpProviders`),TN(this,`events`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`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(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}createHttpProvider(e,t){let n=t||eN(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=parseInt(tN(t));e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){let t=e.request.params?e.request.params[0]?.chainId:`0x0`;t=t.startsWith(`0x`)?t:`0x${t}`;let n=parseInt(t,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:t}]},chainId:this.namespace.chains?.[0]}),this.setDefaultChain(`${n}`);else throw 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){let t=e.request?.params?.[0];if(!t)throw Error("Missing address parameter in `wallet_getCapabilities` request");let n=this.client.session.get(e.topic),r=n?.sessionProperties?.capabilities||{};if(r!=null&&r[t])return r?.[t];let i=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:wN(CN({},n.sessionProperties||{}),{capabilities:wN(CN({},r||{}),{[t]:i})})})}catch(e){console.warn(`Failed to update session with capabilities`,e)}return i}async getCallStatus(e){let t=this.client.session.get(e.topic),n=t.sessionProperties?.bundler_name;if(n){let t=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn(`Failed to fetch call status from bundler`,e,t)}}let r=t.sessionProperties?.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,e)}catch(e){console.warn(`Failed to fetch call status from custom bundler`,e,r)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error(`Fetching call status not approved by the wallet.`)}async getUserOperationReceipt(e,t){let n=new URL(e),r=await fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(te(`eth_getUserOperationReceipt`,[t.request.params?.[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${JT}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}},DN=Object.defineProperty,ON=(e,t,n)=>t in e?DN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kN=(e,t,n)=>ON(e,typeof t==`symbol`?t:t+``,n),AN=class{constructor(e){kN(this,`name`,`solana`),kN(this,`client`),kN(this,`httpProviders`),kN(this,`events`),kN(this,`namespace`),kN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`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(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=tN(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},jN=Object.defineProperty,MN=(e,t,n)=>t in e?jN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NN=(e,t,n)=>MN(e,typeof t==`symbol`?t:t+``,n),PN=class{constructor(e){NN(this,`name`,`cosmos`),NN(this,`client`),NN(this,`httpProviders`),NN(this,`events`),NN(this,`namespace`),NN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=tN(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},FN=Object.defineProperty,IN=(e,t,n)=>t in e?FN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LN=(e,t,n)=>IN(e,typeof t==`symbol`?t:t+``,n),RN=class{constructor(e){LN(this,`name`,`algorand`),LN(this,`client`),LN(this,`httpProviders`),LN(this,`events`),LN(this,`namespace`),LN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let n=t||eN(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.chainId=e,this.events.emit(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);return typeof n>`u`?void 0:new L(new fe(n,uN(`disableProviderPing`)))}},zN=Object.defineProperty,BN=(e,t,n)=>t in e?zN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VN=(e,t,n)=>BN(e,typeof t==`symbol`?t:t+``,n),HN=class{constructor(e){VN(this,`name`,`cip34`),VN(this,`client`),VN(this,`httpProviders`),VN(this,`events`),VN(this,`namespace`),VN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=this.getCardanoRPCUrl(t),r=tN(t);e[r]=this.createHttpProvider(r,n)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||this.getCardanoRPCUrl(e);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},UN=Object.defineProperty,WN=(e,t,n)=>t in e?UN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GN=(e,t,n)=>WN(e,typeof t==`symbol`?t:t+``,n),KN=class{constructor(e){GN(this,`name`,`elrond`),GN(this,`client`),GN(this,`httpProviders`),GN(this,`events`),GN(this,`namespace`),GN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`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(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=tN(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},qN=Object.defineProperty,JN=(e,t,n)=>t in e?qN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YN=(e,t,n)=>JN(e,typeof t==`symbol`?t:t+``,n),XN=class{constructor(e){YN(this,`name`,`multiversx`),YN(this,`client`),YN(this,`httpProviders`),YN(this,`events`),YN(this,`namespace`),YN(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`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(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=tN(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},ZN=Object.defineProperty,QN=(e,t,n)=>t in e?ZN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$N=(e,t,n)=>QN(e,typeof t==`symbol`?t:t+``,n),eP=class{constructor(e){$N(this,`name`,`near`),$N(this,`client`),$N(this,`httpProviders`),$N(this,`events`),$N(this,`namespace`),$N(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||eN(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace);return typeof n>`u`?void 0:new L(new fe(n,uN(`disableProviderPing`)))}},tP=Object.defineProperty,nP=(e,t,n)=>t in e?tP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rP=(e,t,n)=>nP(e,typeof t==`symbol`?t:t+``,n),iP=class{constructor(e){rP(this,`name`,`tezos`),rP(this,`client`),rP(this,`httpProviders`),rP(this,`events`),rP(this,`namespace`),rP(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||eN(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace);return typeof n>`u`?void 0:new L(new fe(n))}},aP=Object.defineProperty,oP=(e,t,n)=>t in e?aP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sP=(e,t,n)=>oP(e,typeof t==`symbol`?t:t+``,n),cP=class{constructor(e){sP(this,`name`,qT),sP(this,`client`),sP(this,`httpProviders`),sP(this,`events`),sP(this,`namespace`),sP(this,`chainId`),this.namespace=e.namespace,this.events=uN(`events`),this.client=uN(`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(YT.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){var e;let t={};return(e=this.namespace?.accounts)==null||e.forEach(e=>{let n=Zm(e);t[`${n.namespace}:${n.reference}`]=this.createHttpProvider(e)}),t}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||eN(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,uN(`disableProviderPing`)))}},lP=Object.defineProperty,uP=Object.defineProperties,dP=Object.getOwnPropertyDescriptors,fP=Object.getOwnPropertySymbols,pP=Object.prototype.hasOwnProperty,mP=Object.prototype.propertyIsEnumerable,hP=(e,t,n)=>t in e?lP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gP=(e,t)=>{for(var n in t||={})pP.call(t,n)&&hP(e,n,t[n]);if(fP)for(var n of fP(t))mP.call(t,n)&&hP(e,n,t[n]);return e},_P=(e,t)=>uP(e,dP(t)),vP=(e,t,n)=>hP(e,typeof t==`symbol`?t:t+``,n),yP=class e{constructor(e){vP(this,`client`),vP(this,`namespaces`),vP(this,`optionalNamespaces`),vP(this,`sessionProperties`),vP(this,`events`,new jt.default),vP(this,`rpcProviders`,{}),vP(this,`session`),vP(this,`providerOpts`),vP(this,`logger`),vP(this,`uri`),vP(this,`disableProviderPing`,!1),this.providerOpts=e,this.logger=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,v.default)(x({level:e?.logger||UT})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(t){let n=new e(t);return await n.initialize(),n}async request(e,t,n){let[r,i]=this.validateChain(t);if(!this.session)throw Error(`Please call connect() before request()`);return await this.getProvider(r).request({request:gP({},e),chainId:`${r}:${i}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,r){let i=new Date().getTime();this.request(e,n,r).then(e=>t(null,d(i,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error(`Sign Client not initialized`);return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){if(!this.session)throw Error(`Please call connect() before enable()`);await this.client.disconnect({topic:this.session?.topic,reason:Uy(`USER_DISCONNECTED`)}),await this.cleanup()}async connect(e){if(!this.client)throw Error(`Sign Client not initialized`);if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error(`Sign Client not initialized`);this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:n,response:r}=await this.client.authenticate(e,t);n&&(this.uri=n,this.events.emit(`display_uri`,n));let i=await r();if(this.session=i.session,this.session){let e=sN(this.session.namespaces);this.namespaces=iN(this.namespaces,e),this.persist(`namespaces`,this.namespaces),this.onConnect()}return i}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:n}=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));let r=await n();this.session=r;let i=sN(r.namespaces);return this.namespaces=iN(this.namespaces,i),this.persist(`namespaces`,this.namespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[n,r]=this.validateChain(e),i=this.getProvider(n);i.name===qT?i.setDefaultChain(`${n}:${r}`,t):i.setDefaultChain(r,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info(`Cleaning up inactive pairings...`);let t=this.client.pairing.getAll();if(Wy(t)){for(let n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.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){let 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 HT.init({core:this.providerOpts.core,logger:this.providerOpts.logger||UT,relayUrl:this.providerOpts.relayUrl||WT,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 Error(`Sign Client not initialized`);if(!this.session)throw Error(`Session not initialized. Please call connect() before enable()`);let e=[...new Set(Object.keys(this.session.namespaces).map(e=>Ry(e)))];dN(`client`,this.client),dN(`events`,this.events),dN(`disableProviderPing`,this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=rN(e,this.session),n=nN(t),r=_P(gP({},iN(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:n});switch(e){case`eip155`:this.rpcProviders[e]=new EN({namespace:r});break;case`algorand`:this.rpcProviders[e]=new RN({namespace:r});break;case`solana`:this.rpcProviders[e]=new AN({namespace:r});break;case`cosmos`:this.rpcProviders[e]=new PN({namespace:r});break;case`polkadot`:this.rpcProviders[e]=new hN({namespace:r});break;case`cip34`:this.rpcProviders[e]=new HN({namespace:r});break;case`elrond`:this.rpcProviders[e]=new KN({namespace:r});break;case`multiversx`:this.rpcProviders[e]=new XN({namespace:r});break;case`near`:this.rpcProviders[e]=new eP({namespace:r});break;case`tezos`:this.rpcProviders[e]=new iP({namespace:r});break;default:this.rpcProviders[qT]?this.rpcProviders[qT].updateNamespace(r):this.rpcProviders[qT]=new cP({namespace:r})}})}registerEventListeners(){if(typeof this.client>`u`)throw Error(`Sign Client is not initialized`);this.client.on(`session_ping`,e=>{this.events.emit(`session_ping`,e)}),this.client.on(`session_event`,e=>{let{params:t}=e,{event:n}=t;if(n.name===`accountsChanged`){let e=n.data;e&&Wy(e)&&this.events.emit(`accountsChanged`,e.map(oN))}else if(n.name===`chainChanged`){let e=t.chainId,n=t.event.data,r=Ry(e),i=cN(e)===cN(n)?e:`${r}:${cN(n)}`;this.onChainChanged(i)}else this.events.emit(n.name,n.data);this.events.emit(`session_event`,e)}),this.client.on(`session_update`,({topic:e,params:t})=>{let{namespaces:n}=t,r=this.client?.session.get(e);this.session=_P(gP({},r),{namespaces:n}),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`,_P(gP({},Uy(`USER_DISCONNECTED`)),{data:e.topic}))}),this.on(YT.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[qT]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{this.getProvider(e).updateNamespace(this.session?.namespaces[e])})}setNamespaces(e){let{namespaces:t,optionalNamespaces:n,sessionProperties:r}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=r,this.persist(`namespaces`,t),this.persist(`optionalNamespaces`,n)}validateChain(e){let[t,n]=e?.split(`:`)||[``,``];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(e=>Ry(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];let r=Ry(Object.keys(this.namespaces)[0]);return[r,this.rpcProviders[r].getDefaultChain()]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;let[n,r]=this.validateChain(e);r&&(t||this.getProvider(n).setDefaultChain(r),this.namespaces[n]?this.namespaces[n].defaultChain=r:this.namespaces[`${n}:${r}`]?this.namespaces[`${n}:${r}`].defaultChain=r:this.namespaces[`${n}:${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(`${GT}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${GT}/${e}`)}};function bP(e){return Sp(`0x${bp(`0x${e.substring(4)}`).substring(26)}`)}async function xP({hash:e,signature:t}){let n=wf(e)?e:If(e),{secp256k1:r}=await a(async()=>{let{secp256k1:e}=await import(`./secp256k1-ClVDFbCG.js`);return{secp256k1:e}},__vite__mapDeps([3,1,4]));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=SP(Number(a??i));return new r.Signature(Nf(e),Nf(n)).addRecoveryBit(o)}let e=wf(t)?t:If(t),n=SP(Pf(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function SP(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function CP({hash:e,signature:t}){return bP(await xP({hash:e,signature:t}))}var wP=`:`;function TP(e){let[t,n]=e.split(wP);return{namespace:t,reference:n}}function EP(e,t){return e.includes(`:`)?[e]:t.chains||[]}var DP={reactNative:`react-native`,node:`node`,browser:`browser`,unknown:`unknown`};function OP(){return typeof process<`u`&&typeof process.versions<`u`&&typeof process.versions.node<`u`}function kP(){return!(0,Ms.getDocument)()&&!!(0,Ms.getNavigator)()&&navigator.product===`ReactNative`}function AP(){return kP()&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`&&(global==null?void 0:global.Platform.OS)===`android`}function jP(){return kP()&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`&&(global==null?void 0:global.Platform.OS)===`ios`}function MP(){return!OP()&&!!(0,Ms.getNavigator)()&&!!(0,Ms.getDocument)()}function NP(){return kP()?DP.reactNative:OP()?DP.node:MP()?DP.browser:DP.unknown}function PP(){try{return kP()&&typeof global<`u`&&typeof(global==null?void 0:global.Application)<`u`?global.Application?.applicationId:void 0}catch{return}}function FP(e,t){let n=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let r=t[e];r!==void 0&&n.set(e,r)}return n.toString()}function IP(){return(0,Ns.getWindowMetadata)()||{name:``,description:``,url:``,icons:[``]}}function LP(){if(NP()===DP.reactNative&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`){let{OS:e,Version:t}=global.Platform;return[e,t].join(`-`)}let e=ws();if(e===null)return`unknown`;let t=e.os?e.os.replace(` `,``).toLowerCase():`unknown`;return e.type===`browser`?[t,e.name,e.version].join(`-`):[t,e.version].join(`-`)}function RP(){let e=NP();return e===DP.browser?[e,(0,Ms.getLocation)()?.host||`unknown`].join(`:`):e}function zP(e,t,n){let r=LP(),i=RP();return[[e,t].join(`-`),[`js`,n].join(`-`),r,i].join(`/`)}function BP({protocol:e,version:t,relayUrl:n,sdkVersion:r,auth:i,projectId:a,useOnCloseEvent:o,bundleId:s,packageName:c}){let l=n.split(`?`),u={auth:i,ua:zP(e,t,r),projectId:a,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:s||void 0},d=FP(l[1]||``,u);return l[0]+`?`+d}function VP(e,t){return e.filter(e=>t.includes(e)).length===e.length}function HP(e){return Object.fromEntries(e.entries())}function UP(e){return new Map(Object.entries(e))}function WP(e=q.FIVE_MINUTES,t){let n=(0,q.toMiliseconds)(e||q.FIVE_MINUTES),r,i,a,o;return{resolve:e=>{a&&r&&(clearTimeout(a),r(e),o=Promise.resolve(e))},reject:e=>{a&&i&&(clearTimeout(a),i(e))},done:()=>new Promise((e,s)=>{if(o)return e(o);a=setTimeout(()=>{let e=Error(t);o=Promise.reject(e),s(e)},n),r=e,i=s})}}function GP(e,t,n){return new Promise(async(r,i)=>{let a=setTimeout(()=>i(Error(n)),t);try{r(await e)}catch(e){i(e)}clearTimeout(a)})}function KP(e,t){if(typeof t==`string`&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===`topic`){if(typeof t!=`string`)throw Error(`Value must be "string" for expirer target type: topic`);return`topic:${t}`}else if(e.toLowerCase()===`id`){if(typeof t!=`number`)throw Error(`Value must be "number" for expirer target type: id`);return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function qP(e){return KP(`topic`,e)}function JP(e){return KP(`id`,e)}function YP(e){let[t,n]=e.split(`:`),r={id:void 0,topic:void 0};if(t===`topic`&&typeof n==`string`)r.topic=n;else if(t===`id`&&Number.isInteger(Number(n)))r.id=Number(n);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${n}`);return r}function XP(e,t){return(0,q.fromMiliseconds)((t||Date.now())+(0,q.toMiliseconds)(e))}function ZP(e){return Date.now()>=(0,q.toMiliseconds)(e)}function QP(e,t){return`${e}${t?`:${t}`:``}`}function $P(e=[],t=[]){return[...new Set([...e,...t])]}async function eF({id:e,topic:t,wcDeepLink:n}){var r;try{if(!n)return;let i=(typeof n==`string`?JSON.parse(n):n)?.href;if(typeof i!=`string`)return;let a=tF(i,e,t),o=NP();if(o===DP.browser){if(!((r=(0,Ms.getDocument)())!=null&&r.hasFocus())){console.warn(`Document does not have focus, skipping deeplink.`);return}nF(a)}else o===DP.reactNative&&typeof(global==null?void 0:global.Linking)<`u`&&await global.Linking.openURL(a)}catch(e){console.error(e)}}function tF(e,t,n){let r=`requestId=${t}&sessionTopic=${n}`;e.endsWith(`/`)&&(e=e.slice(0,-1));let i=`${e}`;if(e.startsWith(`https://t.me`)){let t=e.includes(`?`)?`&startapp=`:`?startapp=`;i=`${i}${t}${lF(r,!0)}`}else i=`${i}/wc?${r}`;return i}function nF(e){let t=`_self`;cF()?t=`_top`:(sF()||e.startsWith(`https://`)||e.startsWith(`http://`))&&(t=`_blank`),window.open(e,t,`noreferrer noopener`)}async function rF(e,t){let n=``;try{if(MP()&&(n=localStorage.getItem(t),n))return n;n=await e.getItem(t)}catch(e){console.error(e)}return n}function iF(e,t){if(!e.includes(t))return null;let n=e.split(/([&,?,=])/);return n[n.indexOf(t)+2]}function aF(){return typeof crypto<`u`&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/gu,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function oF(){return typeof process<`u`&&{}.IS_VITEST===`true`}function sF(){return typeof window<`u`&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function cF(){try{return window.self!==window.top}catch{return!1}}function lF(e,t=!1){let n=Buffer.from(e).toString(`base64`);return t?n.replace(/[=]/g,``):n}function uF(e){return Buffer.from(e,`base64`).toString(`utf-8`)}function dF(e){return new Promise(t=>setTimeout(t,e))}function fF(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function pF(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function mF(e,...t){if(!pF(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function hF(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.wrapConstructor`);fF(e.outputLen),fF(e.blockLen)}function gF(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function _F(e,t){mF(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}var vF=BigInt(2**32-1),yF=BigInt(32);function bF(e,t=!1){return t?{h:Number(e&vF),l:Number(e>>yF&vF)}:{h:Number(e>>yF&vF)|0,l:Number(e&vF)|0}}function xF(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=bF(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var SF=(e,t,n)=>e<<n|t>>>32-n,CF=(e,t,n)=>t<<n|e>>>32-n,wF=(e,t,n)=>t<<n-32|e>>>64-n,TF=(e,t,n)=>e<<n-32|t>>>64-n,EF=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0;function DF(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function OF(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function kF(e,t){return e<<32-t|e>>>t}var AF=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function jF(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function MF(e){for(let t=0;t<e.length;t++)e[t]=jF(e[t])}function NF(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got `+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function PF(e){return typeof e==`string`&&(e=NF(e)),mF(e),e}var FF=class{clone(){return this._cloneInto()}};function IF(e){let t=t=>e().update(PF(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function LF(e=32){if(EF&&typeof EF.getRandomValues==`function`)return EF.getRandomValues(new Uint8Array(e));if(EF&&typeof EF.randomBytes==`function`)return EF.randomBytes(e);throw Error(`crypto.getRandomValues must be defined`)}var RF=[],zF=[],BF=[],VF=BigInt(0),HF=BigInt(1),UF=BigInt(2),WF=BigInt(7),GF=BigInt(256),KF=BigInt(113);for(let e=0,t=HF,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],RF.push(2*(5*r+n)),zF.push((e+1)*(e+2)/2%64);let i=VF;for(let e=0;e<7;e++)t=(t<<HF^(t>>WF)*KF)%GF,t&UF&&(i^=HF<<(HF<<BigInt(e))-HF);BF.push(i)}var[qF,JF]=xF(BF,!0),YF=(e,t,n)=>n>32?wF(e,t,n):SF(e,t,n),XF=(e,t,n)=>n>32?TF(e,t,n):CF(e,t,n);function ZF(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=YF(a,o,1)^n[r],c=XF(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=zF[n],a=YF(t,i,r),o=XF(t,i,r),s=RF[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=qF[r],e[1]^=JF[r]}n.fill(0)}var QF=class e extends FF{constructor(e,t,n,r=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,fF(n),0>=this.blockLen||this.blockLen>=200)throw Error(`Sha3 supports only keccak-f1600 function`);this.state=new Uint8Array(200),this.state32=DF(this.state)}keccak(){AF||MF(this.state32),ZF(this.state32,this.rounds),AF||MF(this.state32),this.posOut=0,this.pos=0}update(e){gF(this);let{blockLen:t,state:n}=this;e=PF(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){gF(this,!1),mF(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return fF(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(_F(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},$F=((e,t,n)=>IF(()=>new QF(t,e,n)))(1,136,256/8),eI=`https://rpc.walletconnect.org/v1`;function tI(e){let t=`Ethereum Signed Message:
|
|
20
|
-
${e.length}`,n=new TextEncoder().encode(t+e);return`0x`+Buffer.from($F(n)).toString(`hex`)}async function nI(e,t,n,r,i,a){switch(n.t){case`eip191`:return await rI(e,t,n.s);case`eip1271`:return await iI(e,t,n.s,r,i,a);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function rI(e,t,n){return(await CP({hash:tI(t),signature:n})).toLowerCase()===e.toLowerCase()}async function iI(e,t,n,r,i,a){let o=TP(r);if(!o.namespace||!o.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{let o=n.substring(2),s=`0x1626ba7e`+tI(t).substring(2)+`00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041`+o,{result:c}=await(await fetch(`${a||eI}/?chainId=${r}&projectId=${i}`,{method:`POST`,body:JSON.stringify({id:aI(),jsonrpc:`2.0`,method:`eth_call`,params:[{to:e,data:s},`latest`]})})).json();return c?c.slice(0,10).toLowerCase()===`0x1626ba7e`:!1}catch(e){return console.error(`isValidEip1271Signature: `,e),!1}}function aI(){return Date.now()+Math.floor(Math.random()*1e3)}function oI(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);let r=n[0];if(r===0)throw Error(`No signatures found`);let i=1+r*64;if(n.length<i)throw Error(`Transaction data too short for claimed signature count`);if(n.length<100)throw Error(`Transaction too short`);let a=Buffer.from(e,`base64`).slice(1,65);return Fs.encode(a)}var sI=Object.defineProperty,cI=Object.defineProperties,lI=Object.getOwnPropertyDescriptors,uI=Object.getOwnPropertySymbols,dI=Object.prototype.hasOwnProperty,fI=Object.prototype.propertyIsEnumerable,pI=(e,t,n)=>t in e?sI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mI=(e,t)=>{for(var n in t||={})dI.call(t,n)&&pI(e,n,t[n]);if(uI)for(var n of uI(t))fI.call(t,n)&&pI(e,n,t[n]);return e},hI=(e,t)=>cI(e,lI(t)),gI=`did:pkh:`,_I=e=>e?.split(`:`),vI=e=>{let t=e&&_I(e);if(t)return e.includes(gI)?t[3]:t[1]},yI=e=>{let t=e&&_I(e);if(t)return t[2]+`:`+t[3]},bI=e=>{let t=e&&_I(e);if(t)return t.pop()};async function xI(e){let{cacao:t,projectId:n}=e,{s:r,p:i}=t,a=SI(i,i.iss);return await nI(bI(i.iss),a,r,yI(i.iss),n)}var SI=(e,t)=>{let n=`${e.domain} wants you to sign in with your Ethereum account:`,r=bI(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let i=e.statement||void 0,a=`URI: ${e.aud||e.uri}`,o=`Version: ${e.version}`,s=`Chain ID: ${vI(t)}`,c=`Nonce: ${e.nonce}`,l=`Issued At: ${e.iat}`,u=e.exp?`Expiration Time: ${e.exp}`:void 0,d=e.nbf?`Not Before: ${e.nbf}`:void 0,f=e.requestId?`Request ID: ${e.requestId}`:void 0,p=e.resources?`Resources:${e.resources.map(e=>`
|
|
21
|
-
- ${e}`).join(``)}`:void 0,m=LI(e.resources);if(m){let e=kI(m);i=PI(i,e)}return[n,r,``,i,``,a,o,s,c,l,u,d,f,p].filter(e=>e!=null).join(`
|
|
22
|
-
`)};function CI(e){return Buffer.from(JSON.stringify(e)).toString(`base64`)}function wI(e){return JSON.parse(Buffer.from(e,`base64`).toString(`utf-8`))}function TI(e){if(!e)throw Error(`No recap provided, value is undefined`);if(!e.att)throw Error("No `att` property found");let t=Object.keys(e.att);if(!(t!=null&&t.length))throw Error("No resources found in `att` property");t.forEach(t=>{let n=e.att[t];if(Array.isArray(n)||typeof n!=`object`)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(n).length)throw Error(`Resource object is empty: ${t}`);Object.keys(n).forEach(e=>{let t=n[e];if(!Array.isArray(t))throw Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach(t=>{if(typeof t!=`object`)throw Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)})})})}function EI(e,t,n,r={}){return n?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:DI(t,n,r)}}}function DI(e,t,n={}){t=t?.sort((e,t)=>e.localeCompare(t));let r=t.map(t=>({[`${e}/${t}`]:[n]}));return Object.assign({},...r)}function OI(e){return TI(e),`urn:recap:${CI(e).replace(/=/g,``)}`}function kI(e){let t=wI(e.replace(`urn:recap:`,``));return TI(t),t}function AI(e,t,n){return OI(EI(e,t,n))}function jI(e){return e&&e.includes(`urn:recap:`)}function MI(e,t){return OI(NI(kI(e),kI(t)))}function NI(e,t){TI(e),TI(t);let n=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),r={att:{}};return n.forEach(n=>{Object.keys(e.att?.[n]||{}).concat(Object.keys(t.att?.[n]||{})).sort((e,t)=>e.localeCompare(t)).forEach(i=>{r.att[n]=hI(mI({},r.att[n]),{[i]:e.att[n]?.[i]||t.att[n]?.[i]})})}),r}function PI(e=``,t){TI(t);let n=`I further authorize the stated URI to perform the following actions on my behalf: `;if(e.includes(n))return e;let r=[],i=0;Object.keys(t.att).forEach(e=>{let n=Object.keys(t.att[e]).map(e=>({ability:e.split(`/`)[0],action:e.split(`/`)[1]}));n.sort((e,t)=>e.action.localeCompare(t.action));let a={};n.forEach(e=>{a[e.ability]||(a[e.ability]=[]),a[e.ability].push(e.action)});let o=Object.keys(a).map(t=>(i++,`(${i}) '${t}': '${a[t].join(`', '`)}' for '${e}'.`));r.push(o.join(`, `).replace(`.,`,`.`))});let a=`${n}${r.join(` `)}`;return`${e?e+` `:``}${a}`}function FI(e){let t=kI(e);TI(t);let n=t.att?.eip155;return n?Object.keys(n).map(e=>e.split(`/`)[1]):[]}function II(e){let t=kI(e);TI(t);let n=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;(t=e?.[0])!=null&&t.chains&&n.push(e[0].chains)})}),[...new Set(n.flat())]}function LI(e){if(!e)return;let t=e?.[e.length-1];return jI(t)?t:void 0}function RI(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function zI(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function BI(e,...t){if(!zI(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function VI(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function HI(e,t){BI(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function UI(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var WI=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),GI=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw Error(`Non little-endian hardware is not supported`);function KI(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function qI(e){if(typeof e==`string`)e=KI(e);else if(zI(e))e=eL(e);else throw Error(`Uint8Array expected, got `+typeof e);return e}function JI(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function YI(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}var XI=(e,t)=>{function n(n,...r){if(BI(n),e.nonceLength!==void 0){let t=r[0];if(!t)throw Error(`nonce / iv required`);e.varSizeNonce?BI(t):BI(t,e.nonceLength)}let i=e.tagLength;i&&r[1]!==void 0&&BI(r[1]);let a=t(n,...r),o=(e,t)=>{if(t!==void 0){if(e!==2)throw Error(`cipher output not supported`);BI(t)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,BI(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(BI(e),i&&e.length<i)throw Error(`invalid ciphertext length: smaller than tagLength=`+i);return o(a.decrypt.length,t),a.decrypt(e,t)}}}return Object.assign(n,e),n};function ZI(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error(`invalid output length, expected `+e+`, got: `+t.length);if(n&&!$I(t))throw Error(`invalid output, must be aligned`);return t}function QI(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function $I(e){return e.byteOffset%4==0}function eL(e){return Uint8Array.from(e)}function tL(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var nL=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),rL=nL(`expand 16-byte k`),iL=nL(`expand 32-byte k`),aL=WI(rL),oL=WI(iL);function sL(e,t){return e<<t|e>>>32-t}function cL(e){return e.byteOffset%4==0}var lL=64,uL=16,dL=2**32-1,fL=new Uint32Array;function pL(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(lL),u=WI(l),d=cL(i)&&cL(a),f=d?WI(i):fL,p=d?WI(a):fL;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=dL)throw Error(`arx: counter overflow`);let h=Math.min(lL,c-m);if(d&&h===lL){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<uL;t++)n=e+t,p[n]=f[n]^u[t];m+=lL;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function mL(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=JI({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return RI(i),RI(o),UI(a),UI(n),(t,s,c,l,u=0)=>{BI(t),BI(s),BI(c);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),BI(l),RI(u),u<0||u>=dL)throw Error(`arx: counter overflow`);if(l.length<d)throw Error(`arx: output (${l.length}) is shorter than data (${d})`);let f=[],p=t.length,m,h;if(p===32)f.push(m=eL(t)),h=oL;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=aL,f.push(m);else throw Error(`arx: invalid 32-byte key, got length=${p}`);cL(s)||f.push(s=eL(s));let g=WI(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,WI(s.subarray(0,16)),g),s=s.subarray(16)}let _=16-i;if(_!==s.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let e=new Uint8Array(12);e.set(s,a?0:12-s.length),s=e,f.push(s)}let v=WI(s);return pL(e,h,g,v,c,l,u,o),tL(...f),l}}var hL=(e,t)=>e[t++]&255|(e[t++]&255)<<8,gL=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=qI(e),BI(e,32);let t=hL(e,0),n=hL(e,2),r=hL(e,4),i=hL(e,6),a=hL(e,8),o=hL(e,10),s=hL(e,12),c=hL(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|o<<2)&8191,this.r[7]=(o>>>11|s<<5)&8065,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=hL(e,16+2*t)}process(e,t,n=!1){let r=n?0:2048,{h:i,r:a}=this,o=a[0],s=a[1],c=a[2],l=a[3],u=a[4],d=a[5],f=a[6],p=a[7],m=a[8],h=a[9],g=hL(e,t+0),_=hL(e,t+2),v=hL(e,t+4),y=hL(e,t+6),b=hL(e,t+8),x=hL(e,t+10),S=hL(e,t+12),C=hL(e,t+14),w=i[0]+(g&8191),T=i[1]+((g>>>13|_<<3)&8191),E=i[2]+((_>>>10|v<<6)&8191),D=i[3]+((v>>>7|y<<9)&8191),O=i[4]+((y>>>4|b<<12)&8191),k=i[5]+(b>>>1&8191),A=i[6]+((b>>>14|x<<2)&8191),j=i[7]+((x>>>11|S<<5)&8191),M=i[8]+((S>>>8|C<<8)&8191),N=i[9]+(C>>>5|r),P=0,F=P+w*o+5*h*T+5*m*E+5*p*D+5*f*O;P=F>>>13,F&=8191,F+=5*d*k+5*u*A+5*l*j+5*c*M+5*s*N,P+=F>>>13,F&=8191;let I=P+w*s+T*o+5*h*E+5*m*D+5*p*O;P=I>>>13,I&=8191,I+=5*f*k+5*d*A+5*u*j+5*l*M+5*c*N,P+=I>>>13,I&=8191;let L=P+w*c+T*s+E*o+5*h*D+5*m*O;P=L>>>13,L&=8191,L+=5*p*k+5*f*A+5*d*j+5*u*M+5*l*N,P+=L>>>13,L&=8191;let R=P+w*l+T*c+E*s+D*o+5*h*O;P=R>>>13,R&=8191,R+=5*m*k+5*p*A+5*f*j+5*d*M+5*u*N,P+=R>>>13,R&=8191;let z=P+w*u+T*l+E*c+D*s+O*o;P=z>>>13,z&=8191,z+=5*h*k+5*m*A+5*p*j+5*f*M+5*d*N,P+=z>>>13,z&=8191;let B=P+w*d+T*u+E*l+D*c+O*s;P=B>>>13,B&=8191,B+=k*o+5*h*A+5*m*j+5*p*M+5*f*N,P+=B>>>13,B&=8191;let V=P+w*f+T*d+E*u+D*l+O*c;P=V>>>13,V&=8191,V+=k*s+A*o+5*h*j+5*m*M+5*p*N,P+=V>>>13,V&=8191;let H=P+w*p+T*f+E*d+D*u+O*l;P=H>>>13,H&=8191,H+=k*c+A*s+j*o+5*h*M+5*m*N,P+=H>>>13,H&=8191;let ee=P+w*m+T*p+E*f+D*d+O*u;P=ee>>>13,ee&=8191,ee+=k*l+A*c+j*s+M*o+5*h*N,P+=ee>>>13,ee&=8191;let U=P+w*h+T*m+E*p+D*f+O*d;P=U>>>13,U&=8191,U+=k*u+A*l+j*c+M*s+N*o,P+=U>>>13,U&=8191,P=(P<<2)+P|0,P=P+F|0,F=P&8191,P>>>=13,I+=P,i[0]=F,i[1]=I,i[2]=L,i[3]=R,i[4]=z,i[5]=B,i[6]=V,i[7]=H,i[8]=ee,i[9]=U}finalize(){let{h:e,pad:t}=this,n=new Uint16Array(10),r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=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,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(r^1)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+t[0];e[0]=a&65535;for(let n=1;n<8;n++)a=(e[n]+t[n]|0)+(a>>>16)|0,e[n]=a&65535;tL(n)}update(e){VI(this);let{buffer:t,blockLen:n}=this;e=qI(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(n-this.pos,r-i);if(a===n){for(;n<=r-i;i+=n)this.process(e,i);continue}t.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){tL(this.h,this.r,this.buffer,this.pad)}digestInto(e){VI(this),HI(e,this),this.finished=!0;let{buffer:t,h:n}=this,{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}};function _L(e){let t=(t,n)=>e(n).update(qI(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}var vL=_L(e=>new gL(e));function yL(e,t,n,r,i,a=20){let o=e[0],s=e[1],c=e[2],l=e[3],u=t[0],d=t[1],f=t[2],p=t[3],m=t[4],h=t[5],g=t[6],_=t[7],v=i,y=n[0],b=n[1],x=n[2],S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I=b,L=x;for(let e=0;e<a;e+=2)S=S+E|0,P=sL(P^S,16),A=A+P|0,E=sL(E^A,12),S=S+E|0,P=sL(P^S,8),A=A+P|0,E=sL(E^A,7),C=C+D|0,F=sL(F^C,16),j=j+F|0,D=sL(D^j,12),C=C+D|0,F=sL(F^C,8),j=j+F|0,D=sL(D^j,7),w=w+O|0,I=sL(I^w,16),M=M+I|0,O=sL(O^M,12),w=w+O|0,I=sL(I^w,8),M=M+I|0,O=sL(O^M,7),T=T+k|0,L=sL(L^T,16),N=N+L|0,k=sL(k^N,12),T=T+k|0,L=sL(L^T,8),N=N+L|0,k=sL(k^N,7),S=S+D|0,L=sL(L^S,16),M=M+L|0,D=sL(D^M,12),S=S+D|0,L=sL(L^S,8),M=M+L|0,D=sL(D^M,7),C=C+O|0,P=sL(P^C,16),N=N+P|0,O=sL(O^N,12),C=C+O|0,P=sL(P^C,8),N=N+P|0,O=sL(O^N,7),w=w+k|0,F=sL(F^w,16),A=A+F|0,k=sL(k^A,12),w=w+k|0,F=sL(F^w,8),A=A+F|0,k=sL(k^A,7),T=T+E|0,I=sL(I^T,16),j=j+I|0,E=sL(E^j,12),T=T+E|0,I=sL(I^T,8),j=j+I|0,E=sL(E^j,7);let R=0;r[R++]=o+S|0,r[R++]=s+C|0,r[R++]=c+w|0,r[R++]=l+T|0,r[R++]=u+E|0,r[R++]=d+D|0,r[R++]=f+O|0,r[R++]=p+k|0,r[R++]=m+A|0,r[R++]=h+j|0,r[R++]=g+M|0,r[R++]=_+N|0,r[R++]=v+P|0,r[R++]=y+F|0,r[R++]=b+I|0,r[R++]=x+L|0}var bL=mL(yL,{counterRight:!1,counterLength:4,allowShortKeys:!1}),xL=new Uint8Array(16),SL=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(xL.subarray(n))},CL=new Uint8Array(32);function wL(e,t,n,r,i){let a=e(t,n,CL),o=vL.create(a);i&&SL(o,i),SL(o,r);let s=new Uint8Array(16),c=GI(s);QI(c,0,BigInt(i?i.length:0),!0),QI(c,8,BigInt(r.length),!0),o.update(s);let l=o.digest();return tL(a,s),l}var TL=XI({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=ZI(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=wL(e,t,n,s,r);return a.set(c,o),tL(c),a},decrypt(i,a){a=ZI(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=wL(e,t,n,o,r);if(!YI(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),tL(c),a}}))(bL)),EL=class extends FF{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,hF(e);let n=PF(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),i.fill(0)}update(e){return gF(this),this.iHash.update(e),this}digestInto(e){gF(this),mF(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},DL=(e,t,n)=>new EL(e,t).update(n).digest();DL.create=(e,t)=>new EL(e,t);function OL(e,t,n){return hF(e),n===void 0&&(n=new Uint8Array(e.outputLen)),DL(e,PF(n),PF(t))}var kL=new Uint8Array([0]),AL=new Uint8Array;function jL(e,t,n,r=32){if(hF(e),fF(r),r>255*e.outputLen)throw Error(`Length should be <= 255*HashLen`);let i=Math.ceil(r/e.outputLen);n===void 0&&(n=AL);let a=new Uint8Array(i*e.outputLen),o=DL.create(e,t),s=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let t=0;t<i;t++)kL[0]=t+1,s.update(t===0?AL:c).update(n).update(kL).digestInto(c),a.set(c,e.outputLen*t),o._cloneInto(s);return o.destroy(),s.destroy(),c.fill(0),kL.fill(0),a.slice(0,r)}var ML=(e,t,n,r,i)=>jL(e,OL(e,t,n),r,i);function NL(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function PL(e,t,n){return e&t^~e&n}function FL(e,t,n){return e&t^e&n^t&n}var IL=class extends FF{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=OF(this.buffer)}update(e){gF(this);let{view:t,buffer:n,blockLen:r}=this;e=PF(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=OF(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){gF(this),_F(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;NL(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=OF(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.length=r,e.pos=o,e.finished=i,e.destroyed=a,r%t&&e.buffer.set(n),e}},LL=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]),RL=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),zL=new Uint32Array(64),BL=class extends IL{constructor(){super(64,32,8,!1),this.A=RL[0]|0,this.B=RL[1]|0,this.C=RL[2]|0,this.D=RL[3]|0,this.E=RL[4]|0,this.F=RL[5]|0,this.G=RL[6]|0,this.H=RL[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)zL[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=zL[e-15],n=zL[e-2],r=kF(t,7)^kF(t,18)^t>>>3;zL[e]=(kF(n,17)^kF(n,19)^n>>>10)+zL[e-7]+r+zL[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=kF(o,6)^kF(o,11)^kF(o,25),u=l+t+PL(o,s,c)+LL[e]+zL[e]|0,d=(kF(n,2)^kF(n,13)^kF(n,22))+FL(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){zL.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},VL=IF(()=>new BL),HL=BigInt(0);function UL(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function WL(e){if(!UL(e))throw Error(`Uint8Array expected`)}var GL=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function KL(e){WL(e);let t=``;for(let n=0;n<e.length;n++)t+=GL[e[n]];return t}function qL(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?HL:BigInt(`0x`+e)}var JL={_0:48,_9:57,A:65,F:70,a:97,f:102};function YL(e){if(e>=JL._0&&e<=JL._9)return e-JL._0;if(e>=JL.A&&e<=JL.F)return e-(JL.A-10);if(e>=JL.a&&e<=JL.f)return e-(JL.a-10)}function XL(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=YL(e.charCodeAt(i)),a=YL(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function ZL(e){return WL(e),qL(KL(Uint8Array.from(e).reverse()))}function QL(e,t){return XL(e.toString(16).padStart(t*2,`0`))}function $L(e,t){return QL(e,t).reverse()}function eR(e,t,n){let r;if(typeof t==`string`)try{r=XL(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(UL(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}var tR=e=>typeof e==`bigint`&&HL<=e;function nR(e,t,n){return tR(e)&&tR(t)&&tR(n)&&t<=e&&e<n}function rR(e,t,n,r){if(!nR(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}var iR={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||UL(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function aR(e,t,n={}){let r=(t,n,r)=>{let i=iR[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}var oR=BigInt(0),sR=BigInt(1);function cR(e,t){let n=e%t;return n>=oR?n:t+n}function lR(e,t,n){if(t<oR)throw Error(`invalid exponent, negatives unsupported`);if(n<=oR)throw Error(`invalid modulus`);if(n===sR)return oR;let r=sR;for(;t>oR;)t&sR&&(r=r*e%n),e=e*e%n,t>>=sR;return r}function uR(e,t,n){let r=e;for(;t-- >oR;)r*=r,r%=n;return r}var dR=BigInt(0),fR=BigInt(1);function pR(e){return aR(e,{a:`bigint`},{montgomeryBits:`isSafeInteger`,nByteLength:`isSafeInteger`,adjustScalarBytes:`function`,domain:`function`,powPminus2:`function`,Gu:`bigint`}),Object.freeze({...e})}function mR(e){let t=pR(e),{P:n}=t,r=e=>cR(e,n),i=t.montgomeryBits,a=Math.ceil(i/8),o=t.nByteLength,s=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>lR(e,n-BigInt(2),n));function l(e,t,n){let i=r(e*(t-n));return t=r(t-i),n=r(n+i),[t,n]}let u=(t.a-BigInt(2))/BigInt(4);function d(e,t){rR(`u`,e,dR,n),rR(`scalar`,t,dR,n);let a=t,o=e,s=fR,d=dR,f=e,p=fR,m=dR,h;for(let e=BigInt(i-1);e>=dR;e--){let t=a>>e&fR;m^=t,h=l(m,s,f),s=h[0],f=h[1],h=l(m,d,p),d=h[0],p=h[1],m=t;let n=s+d,i=r(n*n),c=s-d,g=r(c*c),_=i-g,v=f+p,y=r((f-p)*n),b=r(v*c),x=y+b,S=y-b;f=r(x*x),p=r(o*r(S*S)),s=r(i*g),d=r(_*(i+r(u*_)))}h=l(m,s,f),s=h[0],f=h[1],h=l(m,d,p),d=h[0],p=h[1];let g=c(d);return r(s*g)}function f(e){return $L(r(e),a)}function p(e){let t=eR(`u coordinate`,e,a);return o===32&&(t[31]&=127),ZL(t)}function m(e){let t=eR(`scalar`,e),n=t.length;if(n!==a&&n!==o){let e=``+a+` or `+o;throw Error(`invalid scalar, expected `+e+` bytes, got `+n)}return ZL(s(t))}function h(e,t){let n=d(p(t),m(e));if(n===dR)throw Error(`invalid private or public key received`);return f(n)}let g=f(t.Gu);function _(e){return h(e,g)}return{scalarMult:h,scalarMultBase:_,getSharedSecret:(e,t)=>h(e,t),getPublicKey:e=>_(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var hR=BigInt(`57896044618658097711785492504343953926634992332820282019728792003956564819949`),gR=BigInt(1),_R=BigInt(2),vR=BigInt(3),yR=BigInt(5);function bR(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=hR,o=e*e%a*e%a,s=uR(uR(o,_R,a)*o%a,gR,a)*e%a,c=uR(s,yR,a)*s%a,l=uR(c,t,a)*c%a,u=uR(l,n,a)*l%a,d=uR(u,r,a)*u%a;return{pow_p_5_8:uR(uR(uR(uR(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,_R,a)*e%a,b2:o}}function xR(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var SR=mR({P:hR,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=hR,{pow_p_5_8:n,b2:r}=bR(e);return cR(uR(n,vR,t)*r,t)},adjustScalarBytes:xR,randomBytes:LF}),CR=`base10`,wR=`base16`,TR=`base64pad`,ER=`base64url`,DR=`utf8`,OR=0,kR=1,AR=12,jR=32;function MR(){let e=SR.utils.randomPrivateKey(),t=SR.getPublicKey(e);return{privateKey:wl(e,wR),publicKey:wl(t,wR)}}function NR(){return wl(LF(jR),wR)}function PR(e,t){return wl(ML(VL,SR.getSharedSecret(Cl(e,wR),Cl(t,wR)),void 0,void 0,jR),wR)}function FR(e){return wl(VL(Cl(e,wR)),wR)}function IR(e){return wl(VL(Cl(e,DR)),wR)}function LR(e){return Cl(`${e}`,CR)}function RR(e){return Number(wl(e,CR))}function zR(e){let t=LR(typeof e.type<`u`?e.type:0);if(RR(t)===1&&typeof e.senderPublicKey>`u`)throw Error(`Missing sender public key for type 1 envelope`);let n=typeof e.senderPublicKey<`u`?Cl(e.senderPublicKey,wR):void 0,r=typeof e.iv<`u`?Cl(e.iv,wR):LF(AR);return UR({type:t,sealed:TL(Cl(e.symKey,wR),r).encrypt(Cl(e.message,DR)),iv:r,senderPublicKey:n,encoding:e.encoding})}function BR(e){let t=Cl(e.symKey,wR),{sealed:n,iv:r}=WR(e),i=TL(t,r).decrypt(n);if(i===null)throw Error(`Failed to decrypt`);return wl(i,DR)}function VR(e,t){let n=LR(2),r=LF(AR);return UR({type:n,sealed:Cl(e,DR),iv:r,encoding:t})}function HR(e,t){let{sealed:n}=WR({encoded:e,encoding:t});return wl(n,DR)}function UR(e){let{encoding:t=TR}=e;if(RR(e.type)===2)return wl(Ls([e.type,e.sealed]),t);if(RR(e.type)===1){if(typeof e.senderPublicKey>`u`)throw Error(`Missing sender public key for type 1 envelope`);return wl(Ls([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return wl(Ls([e.type,e.iv,e.sealed]),t)}function WR(e){let{encoded:t,encoding:n=TR}=e,r=Cl(t,n),i=r.slice(OR,kR),a=kR;if(RR(i)===1){let e=r.slice(a,33),t=r.slice(33,45);return{type:i,sealed:r.slice(45),iv:t,senderPublicKey:e}}if(RR(i)===2)return{type:i,sealed:r.slice(a),iv:LF(AR)};let o=r.slice(a,13);return{type:i,sealed:r.slice(13),iv:o}}function GR(e,t){let n=WR({encoded:e,encoding:t?.encoding});return KR({type:RR(n.type),senderPublicKey:typeof n.senderPublicKey<`u`?wl(n.senderPublicKey,wR):void 0,receiverPublicKey:t?.receiverPublicKey})}function KR(e){let t=e?.type||0;if(t===1){if(typeof e?.senderPublicKey>`u`)throw Error(`missing sender public key`);if(typeof e?.receiverPublicKey>`u`)throw Error(`missing receiver public key`)}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function qR(e){return e.type===1&&typeof e.senderPublicKey==`string`&&typeof e.receiverPublicKey==`string`}function JR(e){return e.type===2}function YR(e){return new yu.ec(`p256`).keyFromPublic({x:Buffer.from(e.x,`base64`).toString(`hex`),y:Buffer.from(e.y,`base64`).toString(`hex`)},`hex`)}function XR(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4;return n>0&&(t+=`=`.repeat(4-n)),t}function ZR(e){return Buffer.from(XR(e),`base64`)}function QR(e,t){let[n,r,i]=e.split(`.`),a=ZR(i);if(a.length!==64)throw Error(`Invalid signature length`);let o=a.slice(0,32).toString(`hex`),s=a.slice(32,64).toString(`hex`),c=VL(`${n}.${r}`),l=YR(t),u=wl(c,wR);if(!l.verify(u,{r:o,s}))throw Error(`Invalid signature`);return us(e).payload}function $R(e){return e?.relay||{protocol:`irn`}}function ez(e){let t=bu[e];if(typeof t>`u`)throw Error(`Relay Protocol not supported: ${e}`);return t}function tz(e,t=`-`){let n={},r=`relay`+t;return Object.keys(e).forEach(t=>{if(t.startsWith(r)){let i=t.replace(r,``);n[i]=e[t]}}),n}function nz(e){if(!e.includes(`wc:`)){let t=uF(e);t!=null&&t.includes(`wc:`)&&(e=t)}e=e.includes(`wc://`)?e.replace(`wc://`,``):e,e=e.includes(`wc:`)?e.replace(`wc:`,``):e;let t=e.indexOf(`:`),n=e.indexOf(`?`)===-1?void 0:e.indexOf(`?`),r=e.substring(0,t),i=e.substring(t+1,n).split(`@`),a=typeof n<`u`?e.substring(n):``,o=new URLSearchParams(a),s={};o.forEach((e,t)=>{s[t]=e});let c=typeof s.methods==`string`?s.methods.split(`,`):void 0;return{protocol:r,topic:rz(i[0]),version:parseInt(i[1],10),symKey:s.symKey,relay:tz(s),methods:c,expiryTimestamp:s.expiryTimestamp?parseInt(s.expiryTimestamp,10):void 0}}function rz(e){return e.startsWith(`//`)?e.substring(2):e}function iz(e,t=`-`){let n={};return Object.keys(e).forEach(r=>{let i=r,a=`relay`+t+i;e[i]&&(n[a]=e[i])}),n}function az(e){let t=new URLSearchParams,n=iz(e.relay);Object.keys(n).sort().forEach(e=>{t.set(e,n[e])}),t.set(`symKey`,e.symKey),e.expiryTimestamp&&t.set(`expiryTimestamp`,e.expiryTimestamp.toString()),e.methods&&t.set(`methods`,e.methods.join(`,`));let r=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${r}`}function oz(e,t,n){return`${e}?wc_ev=${n}&topic=${t}`}function sz(e){let t=[];return e.forEach(e=>{let[n,r]=e.split(`:`);t.push(`${n}:${r}`)}),t}function cz(e){let t=[];return Object.values(e).forEach(e=>{t.push(...sz(e.accounts))}),t}function lz(e,t){let n=[];return Object.values(e).forEach(e=>{sz(e.accounts).includes(t)&&n.push(...e.methods)}),n}function uz(e,t){let n=[];return Object.values(e).forEach(e=>{sz(e.accounts).includes(t)&&n.push(...e.events)}),n}function dz(e){return e.includes(`:`)}function fz(e){return dz(e)?e.split(`:`)[0]:e}function pz(e){let t={};return e?.forEach(e=>{var n;let[r,i]=e.split(`:`);t[r]||(t[r]={accounts:[],chains:[],events:[],methods:[]}),t[r].accounts.push(e),(n=t[r].chains)==null||n.push(`${r}:${i}`)}),t}function mz(e,t){t=t.map(e=>e.replace(`did:pkh:`,``));let n=pz(t);for(let[t,r]of Object.entries(n))r.methods?r.methods=$P(r.methods,e):r.methods=e,r.events=[`chainChanged`,`accountsChanged`];return n}var hz={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}},gz={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(e,t){let{message:n,code:r}=gz[e];return{message:t?`${n} ${t}`:n,code:r}}function _z(e,t){let{message:n,code:r}=hz[e];return{message:t?`${n} ${t}`:n,code:r}}function vz(e,t){return Array.isArray(e)?typeof t<`u`&&e.length?e.every(t):!0:!1}function yz(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function bz(e){return typeof e>`u`}function xz(e,t){return t&&bz(e)?!0:typeof e==`string`&&!!e.trim().length}function Sz(e,t){return t&&bz(e)?!0:typeof e==`number`&&!isNaN(e)}function Cz(e,t){let{requiredNamespaces:n}=t,r=Object.keys(e.namespaces),i=Object.keys(n),a=!0;return VP(i,r)?(r.forEach(t=>{let{accounts:r,methods:i,events:o}=e.namespaces[t],s=sz(r),c=n[t];(!VP(EP(t,c),s)||!VP(c.methods,i)||!VP(c.events,o))&&(a=!1)}),a):!1}function wz(e){return xz(e,!1)&&e.includes(`:`)?e.split(`:`).length===2:!1}function Tz(e){if(xz(e,!1)&&e.includes(`:`)){let t=e.split(`:`);if(t.length===3){let e=t[0]+`:`+t[1];return!!t[2]&&wz(e)}}return!1}function Ez(e){function t(e){try{return typeof new URL(e)<`u`}catch{return!1}}try{if(xz(e,!1))return t(e)?!0:t(uF(e))}catch{}return!1}function Dz(e){return e?.proposer?.publicKey}function Oz(e){return e?.topic}function kz(e,t){let n=null;return xz(e?.publicKey,!1)||(n=Q(`MISSING_OR_INVALID`,`${t} controller public key should be a string`)),n}function Az(e){let t=!0;return vz(e)?e.length&&(t=e.every(e=>xz(e,!1))):t=!1,t}function jz(e,t,n){let r=null;return vz(t)&&t.length?t.forEach(e=>{r||wz(e)||(r=_z(`UNSUPPORTED_CHAINS`,`${n}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):wz(e)||(r=_z(`UNSUPPORTED_CHAINS`,`${n}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),r}function Mz(e,t,n){let r=null;return Object.entries(e).forEach(([e,i])=>{if(r)return;let a=jz(e,EP(e,i),`${t} ${n}`);a&&(r=a)}),r}function Nz(e,t){let n=null;return vz(e)?e.forEach(e=>{n||Tz(e)||(n=_z(`UNSUPPORTED_ACCOUNTS`,`${t}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=_z(`UNSUPPORTED_ACCOUNTS`,`${t}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n}function Pz(e,t){let n=null;return Object.values(e).forEach(e=>{if(n)return;let r=Nz(e?.accounts,`${t} namespace`);r&&(n=r)}),n}function Fz(e,t){let n=null;return Az(e?.methods)?Az(e?.events)||(n=_z(`UNSUPPORTED_EVENTS`,`${t}, events should be an array of strings or empty array for no events`)):n=_z(`UNSUPPORTED_METHODS`,`${t}, methods should be an array of strings or empty array for no methods`),n}function Iz(e,t){let n=null;return Object.values(e).forEach(e=>{if(n)return;let r=Fz(e,`${t}, namespace`);r&&(n=r)}),n}function Lz(e,t,n){let r=null;if(e&&yz(e)){let i=Iz(e,t);i&&(r=i);let a=Mz(e,t,n);a&&(r=a)}else r=Q(`MISSING_OR_INVALID`,`${t}, ${n} should be an object with data`);return r}function Rz(e,t){let n=null;if(e&&yz(e)){let r=Iz(e,t);r&&(n=r);let i=Pz(e,t);i&&(n=i)}else n=Q(`MISSING_OR_INVALID`,`${t}, namespaces should be an object with data`);return n}function zz(e){return xz(e.protocol,!0)}function Bz(e,t){let n=!1;return t&&!e?n=!0:e&&vz(e)&&e.length&&e.forEach(e=>{n=zz(e)}),n}function Vz(e){return typeof e==`number`}function Hz(e){return typeof e<`u`&&!0}function Uz(e){return!(!e||typeof e!=`object`||!e.code||!Sz(e.code,!1)||!e.message||!xz(e.message,!1))}function Wz(e){return!(bz(e)||!xz(e.method,!1))}function Gz(e){return!(bz(e)||bz(e.result)&&bz(e.error)||!Sz(e.id,!1)||!xz(e.jsonrpc,!1))}function Kz(e){return!(bz(e)||!xz(e.name,!1))}function qz(e,t){return!(!wz(t)||!cz(e).includes(t))}function Jz(e,t,n){return xz(n,!1)?lz(e,t).includes(n):!1}function Yz(e,t,n){return xz(n,!1)?uz(e,t).includes(n):!1}function Xz(e,t,n){let r=null,i=Zz(e),a=$z(t),o=Object.keys(i),s=Object.keys(a),c=Qz(Object.keys(e)),l=Qz(Object.keys(t)),u=c.filter(e=>!l.includes(e));return u.length&&(r=Q(`NON_CONFORMING_NAMESPACES`,`${n} namespaces keys don't satisfy requiredNamespaces.
|
|
23
|
-
Required: ${u.toString()}
|
|
24
|
-
Received: ${Object.keys(t).toString()}`)),VP(o,s)||(r=Q(`NON_CONFORMING_NAMESPACES`,`${n} namespaces chains don't satisfy required namespaces.
|
|
25
|
-
Required: ${o.toString()}
|
|
26
|
-
Approved: ${s.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(`:`)||r)return;let i=sz(t[e].accounts);i.includes(e)||(r=Q(`NON_CONFORMING_NAMESPACES`,`${n} namespaces accounts don't satisfy namespace accounts for ${e}
|
|
27
|
-
Required: ${e}
|
|
28
|
-
Approved: ${i.toString()}`))}),o.forEach(e=>{r||(VP(i[e].methods,a[e].methods)?VP(i[e].events,a[e].events)||(r=Q(`NON_CONFORMING_NAMESPACES`,`${n} namespaces events don't satisfy namespace events for ${e}`)):r=Q(`NON_CONFORMING_NAMESPACES`,`${n} namespaces methods don't satisfy namespace methods for ${e}`))}),r}function Zz(e){let t={};return Object.keys(e).forEach(n=>{var r;n.includes(`:`)?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(r=>{t[r]={methods:e[n].methods,events:e[n].events}})}),t}function Qz(e){return[...new Set(e.map(e=>e.includes(`:`)?e.split(`:`)[0]:e))]}function $z(e){let t={};return Object.keys(e).forEach(n=>{n.includes(`:`)?t[n]=e[n]:sz(e[n].accounts)?.forEach(r=>{t[r]={accounts:e[n].accounts.filter(e=>e.includes(`${r}:`)),methods:e[n].methods,events:e[n].events}})}),t}function eB(e,t){return Sz(e,!1)&&e<=t.max&&e>=t.min}function tB(){let e=NP();return new Promise(t=>{switch(e){case DP.browser:t(nB());break;case DP.reactNative:t(rB());break;case DP.node:t(iB());break;default:t(!0)}})}function nB(){return MP()&&navigator?.onLine}async function rB(){return kP()&&typeof global<`u`&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function iB(){return!0}function aB(e){switch(NP()){case DP.browser:oB(e);break;case DP.reactNative:sB(e);break;case DP.node:break}}function oB(e){!kP()&&MP()&&(window.addEventListener(`online`,()=>e(!0)),window.addEventListener(`offline`,()=>e(!1)))}function sB(e){kP()&&typeof global<`u`&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}var cB={},lB=class{static get(e){return cB[e]}static set(e,t){cB[e]=t}static delete(e){delete cB[e]}},uB=`core`,dB=`wc@2:${uB}:`,fB={name:uB,logger:`error`},pB={database:`:memory:`},mB=`crypto`,hB=`client_ed25519_seed`,gB=q.ONE_DAY,_B=`keychain`,vB=`messages`,yB=q.SIX_HOURS,bB=`publisher`,xB=`relayer`,SB={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`},CB={payload:`payload`,connect:`connect`,disconnect:`disconnect`,error:`error`},wB=`2.19.1`,TB={link_mode:`link_mode`,relay:`relay`},EB={inbound:`inbound`,outbound:`outbound`},DB=`WALLETCONNECT_CLIENT_ID`,OB={created:`subscription_created`,deleted:`subscription_deleted`,expired:`subscription_expired`,disabled:`subscription_disabled`,sync:`subscription_sync`,resubscribed:`subscription_resubscribed`};q.THIRTY_DAYS;var kB=`subscription`;q.FIVE_SECONDS*1e3;var AB=`pairing`;q.THIRTY_DAYS;var jB={wc_pairingDelete:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:q.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:q.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:q.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:q.ONE_DAY,prompt:!1,tag:0},res:{ttl:q.ONE_DAY,prompt:!1,tag:0}}},MB={create:`pairing_create`,expire:`pairing_expire`,delete:`pairing_delete`,ping:`pairing_ping`},NB={created:`history_created`,updated:`history_updated`,deleted:`history_deleted`,sync:`history_sync`},PB=`history`,FB=`expirer`,IB={created:`expirer_created`,deleted:`expirer_deleted`,expired:`expirer_expired`,sync:`expirer_sync`};q.ONE_DAY;var LB=`verify-api`,RB=`https://verify.walletconnect.com`,zB=`https://verify.walletconnect.org`,BB=`${zB}/v3`,VB=[RB,zB],HB=`echo`,UB=`https://echo.walletconnect.com`,WB={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`},GB={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`},KB={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`},qB={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`},JB={authenticated_session_approve_started:`authenticated_session_approve_started`,authenticated_session_not_expired:`authenticated_session_not_expired`,chains_caip2_compliant:`chains_caip2_compliant`,chains_evm_compliant:`chains_evm_compliant`,create_authenticated_session_topic:`create_authenticated_session_topic`,cacaos_verified:`cacaos_verified`,store_authenticated_session:`store_authenticated_session`,subscribing_authenticated_session_topic:`subscribing_authenticated_session_topic`,subscribe_authenticated_session_topic_success:`subscribe_authenticated_session_topic_success`,publishing_authenticated_session_approve:`publishing_authenticated_session_approve`,authenticated_session_approve_publish_success:`authenticated_session_approve_publish_success`},YB={no_internet_connection:`no_internet_connection`,no_wss_connection:`no_wss_connection`,missing_session_authenticate_request:`missing_session_authenticate_request`,session_authenticate_request_expired:`session_authenticate_request_expired`,chains_caip2_compliant_failure:`chains_caip2_compliant_failure`,chains_evm_compliant_failure:`chains_evm_compliant_failure`,invalid_cacao:`invalid_cacao`,subscribe_authenticated_session_topic_failure:`subscribe_authenticated_session_topic_failure`,authenticated_session_approve_publish_failure:`authenticated_session_approve_publish_failure`,authenticated_session_pending_request_not_found:`authenticated_session_pending_request_not_found`},XB=.1,ZB=`event-client`,QB=`https://pulse.walletconnect.org/batch`;function $B(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var eV=$B,tV=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},nV=e=>new TextEncoder().encode(e),rV=e=>new TextDecoder().decode(e),iV=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},aV=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}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 sV(this,e)}},oV=class{constructor(e){this.decoders=e}or(e){return sV(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},sV=(e,t)=>new oV({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),cV=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new iV(e,t,n),this.decoder=new aV(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},lV=({name:e,prefix:t,encode:n,decode:r})=>new cV(e,t,n,r),uV=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=eV(n,t);return lV({prefix:e,name:t,encode:r,decode:e=>tV(i(e))})},dV=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},fV=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},pV=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>lV({prefix:t,name:e,encode(e){return fV(e,r,n)},decode(t){return dV(t,r,n,e)}}),mV=lV({prefix:`\0`,name:`identity`,encode:e=>rV(e),decode:e=>nV(e)}),hV=Object.freeze({__proto__:null,identity:mV}),gV=pV({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),_V=Object.freeze({__proto__:null,base2:gV}),vV=pV({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),yV=Object.freeze({__proto__:null,base8:vV}),bV=uV({prefix:`9`,name:`base10`,alphabet:`0123456789`}),xV=Object.freeze({__proto__:null,base10:bV}),SV=pV({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),CV=pV({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),wV=Object.freeze({__proto__:null,base16:SV,base16upper:CV}),TV=pV({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),EV=pV({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),DV=pV({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),OV=pV({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),kV=pV({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),AV=pV({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),jV=pV({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),MV=pV({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),NV=pV({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),PV=Object.freeze({__proto__:null,base32:TV,base32upper:EV,base32pad:DV,base32padupper:OV,base32hex:kV,base32hexupper:AV,base32hexpad:jV,base32hexpadupper:MV,base32z:NV}),FV=uV({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),IV=uV({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),LV=Object.freeze({__proto__:null,base36:FV,base36upper:IV}),RV=uV({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),zV=uV({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),BV=Object.freeze({__proto__:null,base58btc:RV,base58flickr:zV}),VV=pV({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),HV=pV({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),UV=pV({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),WV=pV({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),GV=Object.freeze({__proto__:null,base64:VV,base64pad:HV,base64url:UV,base64urlpad:WV}),KV=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),qV=KV.reduce((e,t,n)=>(e[n]=t,e),[]),JV=KV.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function YV(e){return e.reduce((e,t)=>(e+=qV[t],e),``)}function XV(e){let t=[];for(let n of e){let e=JV[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var ZV=lV({prefix:`🚀`,name:`base256emoji`,encode:YV,decode:XV}),QV=Object.freeze({__proto__:null,base256emoji:ZV}),$V=rH,eH=128,tH=-128,nH=2**31;function rH(e,t,n){t||=[],n||=0;for(var r=n;e>=nH;)t[n++]=e&255|eH,e/=128;for(;e&tH;)t[n++]=e&255|eH,e>>>=7;return t[n]=e|0,rH.bytes=n-r+1,t}var iH=sH,aH=128,oH=127;function sH(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw sH.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&oH)<<r:(a&oH)*2**r,r+=7}while(a>=aH);return sH.bytes=i-t,n}var cH=2**7,lH=2**14,uH=2**21,dH=2**28,fH=2**35,pH=2**42,mH=2**49,hH=2**56,gH=2**63,_H={encode:$V,decode:iH,encodingLength:function(e){return e<cH?1:e<lH?2:e<uH?3:e<dH?4:e<fH?5:e<pH?6:e<mH?7:e<hH?8:e<gH?9:10}},vH=(e,t,n=0)=>(_H.encode(e,t,n),t),yH=e=>_H.encodingLength(e),bH=(e,t)=>{let n=t.byteLength,r=yH(e),i=r+yH(n),a=new Uint8Array(i+n);return vH(e,a,0),vH(n,a,r),a.set(t,i),new xH(e,n,t,a)},xH=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},SH=({name:e,code:t,encode:n})=>new CH(e,t,n),CH=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?bH(this.code,t):t.then(e=>bH(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},wH=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),TH=SH({name:`sha2-256`,code:18,encode:wH(`SHA-256`)}),EH=SH({name:`sha2-512`,code:19,encode:wH(`SHA-512`)}),DH=Object.freeze({__proto__:null,sha256:TH,sha512:EH}),OH=0,kH=`identity`,AH=tV,jH=Object.freeze({__proto__:null,identity:{code:OH,name:kH,encode:AH,digest:e=>bH(OH,AH(e))}});new TextEncoder,new TextDecoder;var MH={...hV,..._V,...yV,...xV,...wV,...PV,...LV,...BV,...GV,...QV};({...DH,...jH});function NH(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function PH(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var FH=PH(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),IH=PH(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=NH(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),LH={utf8:FH,"utf-8":FH,hex:MH.base16,latin1:IH,ascii:IH,binary:IH,...MH};function RH(e,t=`utf8`){let n=LH[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}var zH=Object.defineProperty,BH=(e,t,n)=>t in e?zH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VH=(e,t,n)=>BH(e,typeof t==`symbol`?t:t+``,n),HH=class{constructor(e,t){this.core=e,this.logger=t,VH(this,`keychain`,new Map),VH(this,`name`,_B),VH(this,`version`,`0.3`),VH(this,`initialized`,!1),VH(this,`storagePrefix`,dB),VH(this,`init`,async()=>{if(!this.initialized){let e=await this.getKeyChain();typeof e<`u`&&(this.keychain=e),this.initialized=!0}}),VH(this,`has`,e=>(this.isInitialized(),this.keychain.has(e))),VH(this,`set`,async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),VH(this,`get`,e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>`u`){let{message:t}=Q(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}),VH(this,`del`,async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=g(t,this.name)}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,HP(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?UP(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}},UH=Object.defineProperty,WH=(e,t,n)=>t in e?UH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GH=(e,t,n)=>WH(e,typeof t==`symbol`?t:t+``,n),KH=class{constructor(e,t,n){this.core=e,this.logger=t,GH(this,`name`,mB),GH(this,`keychain`),GH(this,`randomSessionIdentifier`,NR()),GH(this,`initialized`,!1),GH(this,`init`,async()=>{this.initialized||=(await this.keychain.init(),!0)}),GH(this,`hasKeys`,e=>(this.isInitialized(),this.keychain.has(e))),GH(this,`getClientId`,async()=>(this.isInitialized(),as(ds(await this.getClientSeed()).publicKey))),GH(this,`generateKeyPair`,()=>{this.isInitialized();let e=MR();return this.setPrivateKey(e.publicKey,e.privateKey)}),GH(this,`signJWT`,async e=>{this.isInitialized();let t=ds(await this.getClientSeed()),n=this.randomSessionIdentifier;return await fs(n,e,gB,t)}),GH(this,`generateSharedKey`,(e,t,n)=>{this.isInitialized();let r=PR(this.getPrivateKey(e),t);return this.setSymKey(r,n)}),GH(this,`setSymKey`,async(e,t)=>{this.isInitialized();let n=t||FR(e);return await this.keychain.set(n,e),n}),GH(this,`deleteKeyPair`,async e=>{this.isInitialized(),await this.keychain.del(e)}),GH(this,`deleteSymKey`,async e=>{this.isInitialized(),await this.keychain.del(e)}),GH(this,`encode`,async(e,t,n)=>{this.isInitialized();let r=KR(n),i=f(t);if(JR(r))return VR(i,n?.encoding);if(qR(r)){let t=r.senderPublicKey,n=r.receiverPublicKey;e=await this.generateSharedKey(t,n)}let a=this.getSymKey(e),{type:o,senderPublicKey:s}=r;return zR({type:o,symKey:a,message:i,senderPublicKey:s,encoding:n?.encoding})}),GH(this,`decode`,async(e,t,n)=>{this.isInitialized();let r=GR(t,n);if(JR(r))return pe(HR(t,n?.encoding));if(qR(r)){let t=r.receiverPublicKey,n=r.senderPublicKey;e=await this.generateSharedKey(t,n)}try{return pe(BR({symKey:this.getSymKey(e),encoded:t,encoding:n?.encoding}))}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),GH(this,`getPayloadType`,(e,t=TR)=>RR(WR({encoded:e,encoding:t}).type)),GH(this,`getPayloadSenderPublicKey`,(e,t=TR)=>{let n=WR({encoded:e,encoding:t});return n.senderPublicKey?wl(n.senderPublicKey,wR):void 0}),this.core=e,this.logger=g(t,this.name),this.keychain=n||new HH(this.core,this.logger)}get context(){return D(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(hB)}catch{e=NR(),await this.keychain.set(hB,e)}return RH(e,`base16`)}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}},qH=Object.defineProperty,JH=Object.defineProperties,YH=Object.getOwnPropertyDescriptors,XH=Object.getOwnPropertySymbols,ZH=Object.prototype.hasOwnProperty,QH=Object.prototype.propertyIsEnumerable,$H=(e,t,n)=>t in e?qH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eU=(e,t)=>{for(var n in t||={})ZH.call(t,n)&&$H(e,n,t[n]);if(XH)for(var n of XH(t))QH.call(t,n)&&$H(e,n,t[n]);return e},tU=(e,t)=>JH(e,YH(t)),nU=(e,t,n)=>$H(e,typeof t==`symbol`?t:t+``,n),rU=class extends Hn{constructor(e,t){super(e,t),this.logger=e,this.core=t,nU(this,`messages`,new Map),nU(this,`messagesWithoutClientAck`,new Map),nU(this,`name`,vB),nU(this,`version`,`0.3`),nU(this,`initialized`,!1),nU(this,`storagePrefix`,dB),nU(this,`init`,async()=>{if(!this.initialized){this.logger.trace(`Initialized`);try{let e=await this.getRelayerMessages();typeof e<`u`&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();typeof t<`u`&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),nU(this,`set`,async(e,t,n)=>{this.isInitialized();let r=IR(t),i=this.messages.get(e);if(typeof i>`u`&&(i={}),typeof i[r]<`u`)return r;if(i[r]=t,this.messages.set(e,i),n===EB.inbound){let n=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,tU(eU({},n),{[r]:t}))}return await this.persist(),r}),nU(this,`get`,e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>`u`&&(t={}),t}),nU(this,`getWithoutAck`,e=>{this.isInitialized();let t={};for(let n of e){let e=this.messagesWithoutClientAck.get(n)||{};t[n]=Object.values(e)}return t}),nU(this,`has`,(e,t)=>(this.isInitialized(),typeof this.get(e)[IR(t)]<`u`)),nU(this,`ack`,async(e,t)=>{this.isInitialized();let n=this.messagesWithoutClientAck.get(e);if(typeof n>`u`)return;let r=IR(t);delete n[r],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,n),await this.persist()}),nU(this,`del`,async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=g(e,this.name),this.core=t}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name+`_withoutClientAck`}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,HP(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,HP(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?UP(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<`u`?UP(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}},iU=Object.defineProperty,aU=Object.defineProperties,oU=Object.getOwnPropertyDescriptors,sU=Object.getOwnPropertySymbols,cU=Object.prototype.hasOwnProperty,lU=Object.prototype.propertyIsEnumerable,uU=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dU=(e,t)=>{for(var n in t||={})cU.call(t,n)&&uU(e,n,t[n]);if(sU)for(var n of sU(t))lU.call(t,n)&&uU(e,n,t[n]);return e},fU=(e,t)=>aU(e,oU(t)),pU=(e,t,n)=>uU(e,typeof t==`symbol`?t:t+``,n),mU=class extends Un{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,pU(this,`events`,new jt.EventEmitter),pU(this,`name`,bB),pU(this,`queue`,new Map),pU(this,`publishTimeout`,(0,q.toMiliseconds)(q.ONE_MINUTE)),pU(this,`initialPublishTimeout`,(0,q.toMiliseconds)(q.ONE_SECOND*15)),pU(this,`needsTransportRestart`,!1),pU(this,`publish`,async(e,t,n)=>{var r;this.logger.debug(`Publishing Payload`),this.logger.trace({type:`method`,method:`publish`,params:{topic:e,message:t,opts:n}});let i=n?.ttl||yB,a=$R(n),o=n?.prompt||!1,s=n?.tag||0,c=n?.id||W().toString(),l={topic:e,message:t,opts:{ttl:i,relay:a,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}},u=`Failed to publish payload, please try again. id:${c} tag:${s}`;try{let r=new Promise(async r=>{let a=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(SB.publish,a),r(l))};this.relayer.events.on(SB.publish,a);let u=GP(new Promise((r,a)=>{this.rpcPublish({topic:e,message:t,ttl:i,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}).then(r).catch(e=>{this.logger.warn(e,e?.message),a(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${s}`);try{await u,this.events.removeListener(SB.publish,a)}catch(e){this.queue.set(c,fU(dU({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:`method`,method:`publish`,params:{id:c,topic:e,message:t,opts:n}}),await GP(r,this.publishTimeout,u)}catch(e){if(this.logger.debug(`Failed to Publish Payload`),this.logger.error(e),(r=n?.internal)!=null&&r.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),pU(this,`on`,(e,t)=>{this.events.on(e,t)}),pU(this,`once`,(e,t)=>{this.events.once(e,t)}),pU(this,`off`,(e,t)=>{this.events.off(e,t)}),pU(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=g(t,this.name),this.registerEventListeners()}get context(){return D(this.logger)}async rpcPublish(e){var t,n;let{topic:r,message:i,ttl:a=yB,prompt:o,tag:s,id:c,attestation:l,tvf:u}=e,d={method:ez($R().protocol).publish,params:dU({topic:r,message:i,ttl:a,prompt:o,tag:s,attestation:l},u),id:c};bz(d.params?.prompt)&&((t=d.params)==null||delete t.prompt),bz(d.params?.tag)&&((n=d.params)==null||delete n.tag),this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`message`,direction:`outgoing`,request:d});let f=await this.relayer.request(d);return this.relayer.events.emit(SB.publish,e),this.logger.debug(`Successfully Published Payload`),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let n=e.attempt+1;this.queue.set(t,fU(dU({},e),{attempt:n}));let{topic:r,message:i,opts:a,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${n}`),await this.rpcPublish(fU(dU({},e),{topic:r,message:i,ttl:a.ttl,prompt:a.prompt,tag:a.tag,id:a.id,attestation:o,tvf:a.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(Pt.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(SB.connection_stalled);return}this.checkQueue()}),this.relayer.on(SB.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},hU=Object.defineProperty,gU=(e,t,n)=>t in e?hU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_U=(e,t,n)=>gU(e,typeof t==`symbol`?t:t+``,n),vU=class{constructor(){_U(this,`map`,new Map),_U(this,`set`,(e,t)=>{let n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])}),_U(this,`get`,e=>this.map.get(e)||[]),_U(this,`exists`,(e,t)=>this.get(e).includes(t)),_U(this,`delete`,(e,t)=>{if(typeof t>`u`){this.map.delete(e);return}if(!this.map.has(e))return;let n=this.get(e);if(!this.exists(e,t))return;let r=n.filter(e=>e!==t);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),_U(this,`clear`,()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}},yU=Object.defineProperty,bU=Object.defineProperties,xU=Object.getOwnPropertyDescriptors,SU=Object.getOwnPropertySymbols,CU=Object.prototype.hasOwnProperty,wU=Object.prototype.propertyIsEnumerable,TU=(e,t,n)=>t in e?yU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,EU=(e,t)=>{for(var n in t||={})CU.call(t,n)&&TU(e,n,t[n]);if(SU)for(var n of SU(t))wU.call(t,n)&&TU(e,n,t[n]);return e},DU=(e,t)=>bU(e,xU(t)),OU=(e,t,n)=>TU(e,typeof t==`symbol`?t:t+``,n),kU=class extends Kn{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,OU(this,`subscriptions`,new Map),OU(this,`topicMap`,new vU),OU(this,`events`,new jt.EventEmitter),OU(this,`name`,kB),OU(this,`version`,`0.3`),OU(this,`pending`,new Map),OU(this,`cached`,[]),OU(this,`initialized`,!1),OU(this,`storagePrefix`,dB),OU(this,`subscribeTimeout`,(0,q.toMiliseconds)(q.ONE_MINUTE)),OU(this,`initialSubscribeTimeout`,(0,q.toMiliseconds)(q.ONE_SECOND*15)),OU(this,`clientId`),OU(this,`batchSubscribeTopicsLimit`,500),OU(this,`init`,async()=>{this.initialized||(this.logger.trace(`Initialized`),this.registerEventListeners(),await this.restore()),this.initialized=!0}),OU(this,`subscribe`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Subscribing Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}});try{let n=$R(t),r={topic:e,relay:n,transportType:t?.transportType};this.pending.set(e,r);let i=await this.rpcSubscribe(e,n,t);return typeof i==`string`&&(this.onSubscribe(i,r),this.logger.debug(`Successfully Subscribed Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}})),i}catch(e){throw this.logger.debug(`Failed to Subscribe Topic`),this.logger.error(e),e}}),OU(this,`unsubscribe`,async(e,t)=>{this.isInitialized(),typeof t?.id<`u`?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),OU(this,`isSubscribed`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),OU(this,`isKnownTopic`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),OU(this,`on`,(e,t)=>{this.events.on(e,t)}),OU(this,`once`,(e,t)=>{this.events.once(e,t)}),OU(this,`off`,(e,t)=>{this.events.off(e,t)}),OU(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),OU(this,`start`,async()=>{await this.onConnect()}),OU(this,`stop`,async()=>{await this.onDisconnect()}),OU(this,`restart`,async()=>{await this.restore(),await this.onRestart()}),OU(this,`checkPending`,async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),OU(this,`registerEventListeners`,()=>{this.relayer.core.heartbeat.on(Pt.pulse,async()=>{await this.checkPending()}),this.events.on(OB.created,async e=>{let t=OB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()}),this.events.on(OB.deleted,async e=>{let t=OB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=g(t,this.name),this.clientId=``}get context(){return D(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 n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let n=this.topicMap.get(e);await Promise.all(n.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,n){this.logger.debug(`Unsubscribing Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}});try{let r=$R(n);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);let i=_z(`USER_DISCONNECTED`,`${this.name}, ${e}`);await this.onUnsubscribe(e,t,i),this.logger.debug(`Successfully Unsubscribed Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}})}catch(e){throw this.logger.debug(`Failed to Unsubscribe Topic`),this.logger.error(e),e}}async rpcSubscribe(e,t,n){(!n||n?.transportType===TB.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});let r={method:ez(t.protocol).subscribe,params:{topic:e}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:r});let i=n?.internal?.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(n?.transportType===TB.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(r).catch(e=>this.logger.warn(e))},(0,q.toMiliseconds)(q.ONE_SECOND)),t;let a=await GP(new Promise(async t=>{let n=r=>{r.topic===e&&(this.events.removeListener(OB.created,n),t(r.id))};this.events.on(OB.created,n);try{let i=await GP(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(OB.created,n),t(i)}catch{}}),this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&i)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug(`Outgoing Relay Subscribe Payload stalled`),this.relayer.events.emit(SB.connection_stalled),i)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t=e[0].relay,n={method:ez(t.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});try{await await GP(new Promise(e=>{this.relayer.request(n).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,`rpcBatchSubscribe failed, please try again`)}catch{this.relayer.events.emit(SB.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;let t=e[0].relay,n={method:ez(t.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});let r;try{r=await await GP(new Promise((e,t)=>{this.relayer.request(n).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,`rpcBatchFetchMessages failed, please try again`)}catch{this.relayer.events.emit(SB.connection_stalled)}return r}rpcUnsubscribe(e,t,n){let r={method:ez(n.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,DU(EU({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,EU({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),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,EU({},t)),this.topicMap.set(t.topic,e),this.events.emit(OB.created,t)}getSubscription(e){this.logger.debug(`Getting subscription`),this.logger.trace({type:`method`,method:`getSubscription`,id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=Q(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug(`Deleting subscription`),this.logger.trace({type:`method`,method:`deleteSubscription`,id:e,reason:t});let n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(OB.deleted,DU(EU({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(OB.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let n=0;n<t;n++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(OB.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>`u`||!e.length)return;if(this.subscriptions.size){let{message:e}=Q(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>DU(EU({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await dF((0,q.toMiliseconds)(q.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||=await this.relayer.core.crypto.getClientId(),this.clientId}async getSubscriptionId(e){return IR(e+await this.getClientId())}},AU=Object.defineProperty,jU=Object.getOwnPropertySymbols,MU=Object.prototype.hasOwnProperty,NU=Object.prototype.propertyIsEnumerable,PU=(e,t,n)=>t in e?AU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FU=(e,t)=>{for(var n in t||={})MU.call(t,n)&&PU(e,n,t[n]);if(jU)for(var n of jU(t))NU.call(t,n)&&PU(e,n,t[n]);return e},IU=(e,t,n)=>PU(e,typeof t==`symbol`?t:t+``,n),LU=class extends Wn{constructor(e){super(e),IU(this,`protocol`,`wc`),IU(this,`version`,2),IU(this,`core`),IU(this,`logger`),IU(this,`events`,new jt.EventEmitter),IU(this,`provider`),IU(this,`messages`),IU(this,`subscriber`),IU(this,`publisher`),IU(this,`name`,xB),IU(this,`transportExplicitlyClosed`,!1),IU(this,`initialized`,!1),IU(this,`connectionAttemptInProgress`,!1),IU(this,`relayUrl`),IU(this,`projectId`),IU(this,`packageName`),IU(this,`bundleId`),IU(this,`hasExperiencedNetworkDisruption`,!1),IU(this,`pingTimeout`),IU(this,`heartBeatTimeout`,(0,q.toMiliseconds)(q.THIRTY_SECONDS+q.FIVE_SECONDS)),IU(this,`reconnectTimeout`),IU(this,`connectPromise`),IU(this,`reconnectInProgress`,!1),IU(this,`requestsInFlight`,[]),IU(this,`connectTimeout`,(0,q.toMiliseconds)(q.ONE_SECOND*15)),IU(this,`request`,async e=>{this.logger.debug(`Publishing Request Payload`);let t=e.id||W().toString();await this.toEstablishConnection();try{this.logger.trace({id:t,method:e.method,topic:e.params?.topic},`relayer.request - publishing...`);let n=`${t}:${e.params?.tag||``}`;this.requestsInFlight.push(n);let r=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==n),r}catch(e){throw this.logger.debug(`Failed to Publish Request: ${t}`),e}}),IU(this,`resetPingTimeout`,()=>{OP()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t;try{this.logger.debug({},`pingTimeout: Connection stalled, terminating...`),(t=(e=this.provider?.connection?.socket)?.terminate)==null||t.call(e)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),IU(this,`onPayloadHandler`,e=>{this.onProviderPayload(e),this.resetPingTimeout()}),IU(this,`onConnectHandler`,()=>{this.logger.warn({},`Relayer connected 🛜`),this.startPingTimeout(),this.events.emit(SB.connect)}),IU(this,`onDisconnectHandler`,()=>{this.logger.warn({},`Relayer disconnected 🛑`),this.requestsInFlight=[],this.onProviderDisconnect()}),IU(this,`onProviderErrorHandler`,e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(SB.error,e),this.logger.fatal(`Fatal socket error received, closing transport`),this.transportClose()}),IU(this,`registerProviderListeners`,()=>{this.provider.on(CB.payload,this.onPayloadHandler),this.provider.on(CB.connect,this.onConnectHandler),this.provider.on(CB.disconnect,this.onDisconnectHandler),this.provider.on(CB.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<`u`&&typeof e.logger!=`string`?g(e.logger,this.name):(0,v.default)(x({level:e.logger||`error`})),this.messages=new rU(this.logger,e.core),this.subscriber=new kU(this,this.logger),this.publisher=new mU(this,this.logger),this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.projectId=e.projectId,AP()?this.packageName=PP():jP()&&(this.bundleId=PP()),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 D(this.logger)}get connected(){return this.provider?.connection?.socket?.readyState===1||!1}get connecting(){return this.provider?.connection?.socket?.readyState===0||this.connectPromise!==void 0||!1}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:TB.relay},EB.outbound)}async subscribe(e,t){this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===`relay`)&&await this.toEstablishConnection();let n=typeof t?.internal?.throwOnFailedPublish>`u`?!0:t?.internal?.throwOnFailedPublish,r=this.subscriber.topicMap.get(e)?.[0]||``,i,a=t=>{t.topic===e&&(this.subscriber.off(OB.created,a),i())};return await Promise.all([new Promise(e=>{i=e,this.subscriber.on(OB.created,a)}),new Promise(async(i,a)=>{r=await this.subscriber.subscribe(e,FU({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&a(e)})||r,i()})]),r}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 GP(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,n)=>{await this.connect(e).then(t).catch(n).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},`Restarting transport...`),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await tB())throw Error(`No internet connection detected. Please restart your network and try again.`)}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(`Batch message events is empty. Ignoring...`);return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(let e of t)try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,`Error while processing batch message event: `+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:n}=e;if(!t.sessionExists){let e={topic:n,expiry:XP(q.FIVE_MINUTES),relay:{protocol:`irn`},active:!1};await this.core.pairing.pairings.set(n,e)}this.events.emit(SB.message,e),await this.recordMessageEvent(e,EB.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(CB.disconnect,n),await GP(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(CB.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(CB.disconnect,n),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(CB.disconnect,n)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop();let t=e;this.logger.warn({},t.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,q.toMiliseconds)(t*1))),t++}}startPingTimeout(){var e,t;if(OP())try{(e=this.provider?.connection)!=null&&e.socket&&((t=this.provider?.connection?.socket)==null||t.on(`ping`,()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new L(new Du(BP({sdkVersion:wB,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){let{topic:n,message:r}=e;await this.messages.set(n,r,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let r=this.messages.has(t,n);return r&&this.logger.warn(`Ignoring duplicate message: ${n}`),r}async onProviderPayload(e){if(this.logger.debug(`Incoming Relay Payload`),this.logger.trace({type:`payload`,direction:`incoming`,payload:e}),p(e)){if(!e.method.endsWith(`_subscription`))return;let t=e.params,{topic:n,message:r,publishedAt:i,attestation:a}=t.data,o={topic:n,message:r,publishedAt:i,transportType:TB.relay,attestation:a};this.logger.debug(`Emitting Relayer Payload`),this.logger.trace(FU({type:`event`,event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else ue(e)&&this.events.emit(SB.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,EB.inbound),this.events.emit(SB.message,e))}async acknowledgePayload(e){let t=d(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(CB.payload,this.onPayloadHandler),this.provider.off(CB.connect,this.onConnectHandler),this.provider.off(CB.disconnect,this.onDisconnectHandler),this.provider.off(CB.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await tB();aB(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(SB.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,q.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}};function RU(){}function zU(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)===`[object Object]`:!1}function BU(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function VU(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var HU=`[object RegExp]`,UU=`[object String]`,WU=`[object Number]`,GU=`[object Boolean]`,KU=`[object Arguments]`,qU=`[object Symbol]`,JU=`[object Date]`,YU=`[object Map]`,XU=`[object Set]`,ZU=`[object Array]`,QU=`[object Function]`,$U=`[object ArrayBuffer]`,eW=`[object Object]`,tW=`[object Error]`,nW=`[object DataView]`,rW=`[object Uint8Array]`,iW=`[object Uint8ClampedArray]`,aW=`[object Uint16Array]`,oW=`[object Uint32Array]`,sW=`[object BigUint64Array]`,cW=`[object Int8Array]`,lW=`[object Int16Array]`,uW=`[object Int32Array]`,dW=`[object BigInt64Array]`,fW=`[object Float32Array]`,pW=`[object Float64Array]`;function mW(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function hW(e,t,n){return gW(e,t,void 0,void 0,void 0,void 0,n)}function gW(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return _W(e,t,a,o)}return _W(e,t,a,o)}function _W(e,t,n,r){if(Object.is(e,t))return!0;let i=VU(e),a=VU(t);if(i===KU&&(i=eW),a===KU&&(a=eW),i!==a)return!1;switch(i){case UU:return e.toString()===t.toString();case WU:return mW(e.valueOf(),t.valueOf());case GU:case JU:case qU:return Object.is(e.valueOf(),t.valueOf());case HU:return e.source===t.source&&e.flags===t.flags;case QU:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case YU:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!gW(a,t.get(i),i,e,t,n,r))return!1;return!0;case XU:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;o<i.length;o++){let s=i[o],c=a.findIndex(i=>gW(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case ZU:case rW:case iW:case aW:case oW:case sW:case cW:case lW:case uW:case dW:case fW:case pW:if(typeof Buffer<`u`&&Buffer.isBuffer(e)!==Buffer.isBuffer(t)||e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!gW(e[i],t[i],i,e,t,n,r))return!1;return!0;case $U:return e.byteLength===t.byteLength?_W(new Uint8Array(e),new Uint8Array(t),n,r):!1;case nW:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:_W(new Uint8Array(e),new Uint8Array(t),n,r);case tW:return e.name===t.name&&e.message===t.message;case eW:{if(!(_W(e.constructor,t.constructor,n,r)||zU(e)&&zU(t)))return!1;let i=[...Object.keys(e),...BU(e)],a=[...Object.keys(t),...BU(t)];if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++){let o=i[a],s=e[o];if(!Object.hasOwn(t,o))return!1;let c=t[o];if(!gW(s,c,o,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function vW(e,t){return hW(e,t,RU)}var yW=Object.defineProperty,bW=Object.getOwnPropertySymbols,xW=Object.prototype.hasOwnProperty,SW=Object.prototype.propertyIsEnumerable,CW=(e,t,n)=>t in e?yW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wW=(e,t)=>{for(var n in t||={})xW.call(t,n)&&CW(e,n,t[n]);if(bW)for(var n of bW(t))SW.call(t,n)&&CW(e,n,t[n]);return e},TW=(e,t,n)=>CW(e,typeof t==`symbol`?t:t+``,n),EW=class extends Gn{constructor(e,t,n,r=dB,i=void 0){super(e,t,n,r),this.core=e,this.logger=t,this.name=n,TW(this,`map`,new Map),TW(this,`version`,`0.3`),TW(this,`cached`,[]),TW(this,`initialized`,!1),TW(this,`getKey`),TW(this,`storagePrefix`,dB),TW(this,`recentlyDeleted`,[]),TW(this,`recentlyDeletedLimit`,200),TW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>{this.getKey&&e!==null&&!bz(e)?this.map.set(this.getKey(e),e):Dz(e)?this.map.set(e.id,e):Oz(e)&&this.map.set(e.topic,e)}),this.cached=[],!0)}),TW(this,`set`,async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug(`Setting value`),this.logger.trace({type:`method`,method:`set`,key:e,value:t}),this.map.set(e,t),await this.persist())}),TW(this,`get`,e=>(this.isInitialized(),this.logger.debug(`Getting value`),this.logger.trace({type:`method`,method:`get`,key:e}),this.getData(e))),TW(this,`getAll`,e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(n=>vW(t[n],e[n]))):this.values)),TW(this,`update`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Updating value`),this.logger.trace({type:`method`,method:`update`,key:e,update:t});let n=wW(wW({},this.getData(e)),t);this.map.set(e,n),await this.persist()}),TW(this,`delete`,async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug(`Deleting value`),this.logger.trace({type:`method`,method:`delete`,key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=g(t,this.name),this.storagePrefix=r,this.getKey=i}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=Q(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>`u`||!e.length)return;if(this.map.size){let{message:e}=Q(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}},DW=Object.defineProperty,OW=(e,t,n)=>t in e?DW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kW=(e,t,n)=>OW(e,typeof t==`symbol`?t:t+``,n),AW=class{constructor(e,t){this.core=e,this.logger=t,kW(this,`name`,AB),kW(this,`version`,`0.3`),kW(this,`events`,new jt.default),kW(this,`pairings`),kW(this,`initialized`,!1),kW(this,`storagePrefix`,dB),kW(this,`ignoredPayloadTypes`,[1]),kW(this,`registeredMethods`,[]),kW(this,`init`,async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(`Initialized`))}),kW(this,`register`,({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),kW(this,`create`,async e=>{this.isInitialized();let t=NR(),n=await this.core.crypto.setSymKey(t),r=XP(q.FIVE_MINUTES),i={protocol:`irn`},a={topic:n,expiry:r,relay:i,active:!1,methods:e?.methods},o=az({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:t,relay:i,expiryTimestamp:r,methods:e?.methods});return this.events.emit(MB.create,a),this.core.expirer.set(n,r),await this.pairings.set(n,a),await this.core.relayer.subscribe(n,{transportType:e?.transportType}),{topic:n,uri:o}}),kW(this,`pair`,async e=>{this.isInitialized();let t=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[WB.pairing_started]}});this.isValidPair(e,t);let{topic:n,symKey:r,relay:i,expiryTimestamp:a,methods:o}=nz(e.uri);t.props.properties.topic=n,t.addTrace(WB.pairing_uri_validation_success),t.addTrace(WB.pairing_uri_not_expired);let s;if(this.pairings.keys.includes(n)){if(s=this.pairings.get(n),t.addTrace(WB.existing_pairing),s.active)throw t.setError(GB.active_pairing_already_exists),Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);t.addTrace(WB.pairing_not_expired)}let c=a||XP(q.FIVE_MINUTES),l={topic:n,relay:i,expiry:c,active:!1,methods:o};this.core.expirer.set(n,c),await this.pairings.set(n,l),t.addTrace(WB.store_new_pairing),e.activatePairing&&await this.activate({topic:n}),this.events.emit(MB.create,l),t.addTrace(WB.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(r,n),t.addTrace(WB.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{t.setError(GB.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:i})}catch(e){throw t.setError(GB.subscribe_pairing_topic_failure),e}return t.addTrace(WB.subscribe_pairing_topic_success),l}),kW(this,`activate`,async({topic:e})=>{this.isInitialized();let t=XP(q.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),kW(this,`ping`,async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn(`ping() is deprecated and will be removed in the next major release.`);let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,`wc_pairingPing`,{}),{done:n,resolve:r,reject:i}=WP();this.events.once(QP(`pairing_ping`,e),({error:e})=>{e?i(e):r()}),await n()}}),kW(this,`updateExpiry`,async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),kW(this,`updateMetadata`,async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),kW(this,`getPairings`,()=>(this.isInitialized(),this.pairings.values)),kW(this,`disconnect`,async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,`wc_pairingDelete`,_z(`USER_DISCONNECTED`)),await this.deletePairing(t))}),kW(this,`formatUriFromPairing`,e=>{this.isInitialized();let{topic:t,relay:n,expiry:r,methods:i}=e,a=this.core.crypto.keychain.get(t);return az({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:a,relay:n,expiryTimestamp:r,methods:i})}),kW(this,`sendRequest`,async(e,t,n)=>{let r=te(t,n),i=await this.core.crypto.encode(e,r),a=jB[t].req;return this.core.history.set(e,r),this.core.relayer.publish(e,i,a),r.id}),kW(this,`sendResult`,async(e,t,n)=>{let r=d(e,n),i=await this.core.crypto.encode(t,r),a=jB[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,i,a),await this.core.history.resolve(r)}),kW(this,`sendError`,async(e,t,n)=>{let r=w(e,n),i=await this.core.crypto.encode(t,r),a=(await this.core.history.get(t,e)).request.method,o=jB[a]?jB[a].res:jB.unregistered_method.res;await this.core.relayer.publish(t,i,o),await this.core.history.resolve(r)}),kW(this,`deletePairing`,async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,_z(`USER_DISCONNECTED`)),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),kW(this,`cleanup`,async()=>{let e=this.pairings.getAll().filter(e=>ZP(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),kW(this,`onRelayEventRequest`,async e=>{let{topic:t,payload:n}=e;switch(n.method){case`wc_pairingPing`:return await this.onPairingPingRequest(t,n);case`wc_pairingDelete`:return await this.onPairingDeleteRequest(t,n);default:return await this.onUnknownRpcMethodRequest(t,n)}}),kW(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n}=e,r=(await this.core.history.get(t,n.id)).request.method;switch(r){case`wc_pairingPing`:return this.onPairingPingResponse(t,n);default:return this.onUnknownRpcMethodResponse(r)}}),kW(this,`onPairingPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult(n,e,!0),this.events.emit(MB.ping,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),kW(this,`onPairingPingResponse`,(e,t)=>{let{id:n}=t;setTimeout(()=>{k(t)?this.events.emit(QP(`pairing_ping`,n),{}):O(t)&&this.events.emit(QP(`pairing_ping`,n),{error:t.error})},500)}),kW(this,`onPairingDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(MB.delete,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),kW(this,`onUnknownRpcMethodRequest`,async(e,t)=>{let{id:n,method:r}=t;try{if(this.registeredMethods.includes(r))return;let t=_z(`WC_METHOD_UNSUPPORTED`,r);await this.sendError(n,e,t),this.logger.error(t)}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),kW(this,`onUnknownRpcMethodResponse`,e=>{this.registeredMethods.includes(e)||this.logger.error(_z(`WC_METHOD_UNSUPPORTED`,e))}),kW(this,`isValidPair`,(e,t)=>{var n;if(!Hz(e)){let{message:n}=Q(`MISSING_OR_INVALID`,`pair() params: ${e}`);throw t.setError(GB.malformed_pairing_uri),Error(n)}if(!Ez(e.uri)){let{message:n}=Q(`MISSING_OR_INVALID`,`pair() uri: ${e.uri}`);throw t.setError(GB.malformed_pairing_uri),Error(n)}let r=nz(e?.uri);if(!((n=r?.relay)!=null&&n.protocol)){let{message:e}=Q(`MISSING_OR_INVALID`,`pair() uri#relay-protocol`);throw t.setError(GB.malformed_pairing_uri),Error(e)}if(!(r!=null&&r.symKey)){let{message:e}=Q(`MISSING_OR_INVALID`,`pair() uri#symKey`);throw t.setError(GB.malformed_pairing_uri),Error(e)}if(r!=null&&r.expiryTimestamp&&(0,q.toMiliseconds)(r?.expiryTimestamp)<Date.now()){t.setError(GB.pairing_expired);let{message:e}=Q(`EXPIRED`,`pair() URI has expired. Please try again with a new connection URI.`);throw Error(e)}}),kW(this,`isValidPing`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),kW(this,`isValidDisconnect`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),kW(this,`isValidPairingTopic`,async e=>{if(!xz(e,!1)){let{message:t}=Q(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=Q(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(ZP(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=Q(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=g(t,this.name),this.pairings=new EW(this.core,this.logger,this.name,this.storagePrefix)}get context(){return D(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(SB.message,async e=>{let{topic:t,message:n,transportType:r}=e;if(this.pairings.keys.includes(t)&&r!==TB.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))try{let e=await this.core.crypto.decode(t,n);p(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):ue(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,n)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(IB.expired,async e=>{let{topic:t}=YP(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(MB.expire,{topic:t}))})}},jW=Object.defineProperty,MW=(e,t,n)=>t in e?jW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NW=(e,t,n)=>MW(e,typeof t==`symbol`?t:t+``,n),PW=class extends Vn{constructor(e,t){super(e,t),this.core=e,this.logger=t,NW(this,`records`,new Map),NW(this,`events`,new jt.EventEmitter),NW(this,`name`,PB),NW(this,`version`,`0.3`),NW(this,`cached`,[]),NW(this,`initialized`,!1),NW(this,`storagePrefix`,dB),NW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),!0)}),NW(this,`set`,(e,t,n)=>{if(this.isInitialized(),this.logger.debug(`Setting JSON-RPC request history record`),this.logger.trace({type:`method`,method:`set`,topic:e,request:t,chainId:n}),this.records.has(t.id))return;let r={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:n,expiry:XP(q.THIRTY_DAYS)};this.records.set(r.id,r),this.persist(),this.events.emit(NB.created,r)}),NW(this,`resolve`,async e=>{if(this.isInitialized(),this.logger.debug(`Updating JSON-RPC response history record`),this.logger.trace({type:`method`,method:`update`,response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>`u`&&(t.response=O(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(NB.updated,t))}),NW(this,`get`,async(e,t)=>(this.isInitialized(),this.logger.debug(`Getting record`),this.logger.trace({type:`method`,method:`get`,topic:e,id:t}),await this.getRecord(t))),NW(this,`delete`,(e,t)=>{this.isInitialized(),this.logger.debug(`Deleting record`),this.logger.trace({type:`method`,method:`delete`,id:t}),this.values.forEach(n=>{if(n.topic===e){if(typeof t<`u`&&n.id!==t)return;this.records.delete(n.id),this.events.emit(NB.deleted,n)}}),this.persist()}),NW(this,`exists`,async(e,t)=>(this.isInitialized(),this.records.has(t)?(await this.getRecord(t)).topic===e:!1)),NW(this,`on`,(e,t)=>{this.events.on(e,t)}),NW(this,`once`,(e,t)=>{this.events.once(e,t)}),NW(this,`off`,(e,t)=>{this.events.off(e,t)}),NW(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=g(t,this.name)}get context(){return D(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){let e=[];return this.values.forEach(t=>{if(typeof t.response<`u`)return;let n={topic:t.topic,request:te(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=Q(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(NB.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>`u`||!e.length)return;if(this.records.size){let{message:e}=Q(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(NB.created,e=>{let t=NB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(NB.updated,e=>{let t=NB.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(NB.deleted,e=>{let t=NB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.core.heartbeat.on(Pt.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,q.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(NB.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}},FW=Object.defineProperty,IW=(e,t,n)=>t in e?FW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LW=(e,t,n)=>IW(e,typeof t==`symbol`?t:t+``,n),RW=class extends qn{constructor(e,t){super(e,t),this.core=e,this.logger=t,LW(this,`expirations`,new Map),LW(this,`events`,new jt.EventEmitter),LW(this,`name`,FB),LW(this,`version`,`0.3`),LW(this,`cached`,[]),LW(this,`initialized`,!1),LW(this,`storagePrefix`,dB),LW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),!0)}),LW(this,`has`,e=>{try{let t=this.formatTarget(e);return typeof this.getExpiration(t)<`u`}catch{return!1}}),LW(this,`set`,(e,t)=>{this.isInitialized();let n=this.formatTarget(e),r={target:n,expiry:t};this.expirations.set(n,r),this.checkExpiry(n,r),this.events.emit(IB.created,{target:n,expiration:r})}),LW(this,`get`,e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),LW(this,`del`,e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),n=this.getExpiration(t);this.expirations.delete(t),this.events.emit(IB.deleted,{target:t,expiration:n})}}),LW(this,`on`,(e,t)=>{this.events.on(e,t)}),LW(this,`once`,(e,t)=>{this.events.once(e,t)}),LW(this,`off`,(e,t)=>{this.events.off(e,t)}),LW(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=g(t,this.name)}get context(){return D(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 qP(e);if(typeof e==`number`)return JP(e);let{message:t}=Q(`UNKNOWN_TYPE`,`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(IB.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>`u`||!e.length)return;if(this.expirations.size){let{message:e}=Q(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=Q(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:n}=t;(0,q.toMiliseconds)(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(IB.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Pt.pulse,()=>this.checkExpirations()),this.events.on(IB.created,e=>{let t=IB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(IB.expired,e=>{let t=IB.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(IB.deleted,e=>{let t=IB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}},zW=Object.defineProperty,BW=(e,t,n)=>t in e?zW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VW=(e,t,n)=>BW(e,typeof t==`symbol`?t:t+``,n),HW=class extends Jn{constructor(e,t,n){super(e,t,n),this.core=e,this.logger=t,this.store=n,VW(this,`name`,LB),VW(this,`abortController`),VW(this,`isDevEnv`),VW(this,`verifyUrlV3`,BB),VW(this,`storagePrefix`,dB),VW(this,`version`,2),VW(this,`publicKey`),VW(this,`fetchPromise`),VW(this,`init`,async()=>{this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,q.toMiliseconds)(this.publicKey?.expiresAt)<Date.now()&&(this.logger.debug(`verify v2 public key expired`),await this.removePublicKey()))}),VW(this,`register`,async e=>{if(!MP()||this.isDevEnv)return;let t=window.location.origin,{id:n,decryptedId:r}=e,i=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${n}&decryptedId=${r}`;try{let e=(0,Ms.getDocument)(),t=this.startAbortTimer(q.ONE_SECOND*5),r=await new Promise((r,a)=>{let o=()=>{window.removeEventListener(`message`,c),e.body.removeChild(s),a(`attestation aborted`)};this.abortController.signal.addEventListener(`abort`,o);let s=e.createElement(`iframe`);s.src=i,s.style.display=`none`,s.addEventListener(`error`,o,{signal:this.abortController.signal});let c=i=>{if(i.data&&typeof i.data==`string`)try{let a=JSON.parse(i.data);if(a.type===`verify_attestation`){if(us(a.attestation).payload.id!==n)return;clearInterval(t),e.body.removeChild(s),this.abortController.signal.removeEventListener(`abort`,o),window.removeEventListener(`message`,c),r(a.attestation===null?``:a.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(s),window.addEventListener(`message`,c,{signal:this.abortController.signal})});return this.logger.debug(`jwt attestation`,r),r}catch(e){this.logger.warn(e)}return``}),VW(this,`resolve`,async e=>{if(this.isDevEnv)return``;let{attestationId:t,hash:n,encryptedId:r}=e;if(t===``){this.logger.debug(`resolve: attestationId is empty, skipping`);return}if(t){if(us(t).payload.id!==r)return;let e=await this.isValidJwtAttestation(t);if(e){if(!e.isVerified){this.logger.warn(`resolve: jwt attestation: origin url not verified`);return}return e}}if(!n)return;let i=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(n,i)}),VW(this,`fetchAttestation`,async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let n=this.startAbortTimer(q.ONE_SECOND*5),r=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(n),r.status===200?await r.json():void 0}),VW(this,`getVerifyUrl`,e=>{let t=e||`https://verify.walletconnect.org`;return VB.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: https://verify.walletconnect.org`),t=`https://verify.walletconnect.org`),t}),VW(this,`fetchPublicKey`,async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(q.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),VW(this,`persistPublicKey`,async e=>{this.logger.debug(`persisting public key to local storage`,e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),VW(this,`removePublicKey`,async()=>{this.logger.debug(`removing verify v2 public key from storage`),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),VW(this,`isValidJwtAttestation`,async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}let n=await this.fetchAndPersistPublicKey();try{if(n)return this.validateAttestation(e,n)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}}),VW(this,`getPublicKey`,async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),VW(this,`fetchAndPersistPublicKey`,async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),VW(this,`validateAttestation`,(e,t)=>{let n=QR(e,t.publicKey),r={hasExpired:(0,q.toMiliseconds)(n.exp)<Date.now(),payload:n};if(r.hasExpired)throw this.logger.warn(`resolve: jwt attestation expired`),Error(`JWT attestation expired`);return{origin:r.payload.origin,isScam:r.payload.isScam,isVerified:r.payload.isVerified}}),this.logger=g(t,this.name),this.abortController=new AbortController,this.isDevEnv=oF(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//verify:public:key`}get context(){return D(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,q.toMiliseconds)(e))}},UW=Object.defineProperty,WW=(e,t,n)=>t in e?UW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GW=(e,t,n)=>WW(e,typeof t==`symbol`?t:t+``,n),KW=class extends Yn{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,GW(this,`context`,HB),GW(this,`registerDeviceToken`,async e=>{let{clientId:t,token:n,notificationType:r,enableEncrypted:i=!1}=e,a=`${UB}/${this.projectId}/clients`;await fetch(a,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({client_id:t,type:r,token:n,always_raw:i})})}),this.logger=g(t,this.context)}},qW=Object.defineProperty,JW=Object.getOwnPropertySymbols,YW=Object.prototype.hasOwnProperty,XW=Object.prototype.propertyIsEnumerable,ZW=(e,t,n)=>t in e?qW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QW=(e,t)=>{for(var n in t||={})YW.call(t,n)&&ZW(e,n,t[n]);if(JW)for(var n of JW(t))XW.call(t,n)&&ZW(e,n,t[n]);return e},$W=(e,t,n)=>ZW(e,typeof t==`symbol`?t:t+``,n),eG=class extends Xn{constructor(e,t,n=!0){super(e,t,n),this.core=e,this.logger=t,$W(this,`context`,ZB),$W(this,`storagePrefix`,dB),$W(this,`storageVersion`,XB),$W(this,`events`,new Map),$W(this,`shouldPersist`,!1),$W(this,`init`,async()=>{if(!oF())try{let e={eventId:aF(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:`INIT`,type:``,properties:{client_id:await this.core.crypto.getClientId(),user_agent:zP(this.core.relayer.protocol,this.core.relayer.version,wB)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),$W(this,`createEvent`,e=>{let{event:t=`ERROR`,type:n=``,properties:{topic:r,trace:i}}=e,a=aF(),o=this.core.projectId||``,s=QW({eventId:a,timestamp:Date.now(),props:{event:t,type:n,properties:{topic:r,trace:i}},bundleId:o,domain:this.getAppDomain()},this.setMethods(a));return this.telemetryEnabled&&(this.events.set(a,s),this.shouldPersist=!0),s}),$W(this,`getEvent`,e=>{let{eventId:t,topic:n}=e;if(t)return this.events.get(t);let r=Array.from(this.events.values()).find(e=>e.props.properties.topic===n);if(r)return QW(QW({},r),this.setMethods(r.eventId))}),$W(this,`deleteEvent`,e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),$W(this,`setEventListeners`,()=>{this.core.heartbeat.on(Pt.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,q.fromMiliseconds)(Date.now())-(0,q.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),$W(this,`setMethods`,e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),$W(this,`addTrace`,(e,t)=>{let n=this.events.get(e);n&&(n.props.properties.trace.push(t),this.events.set(e,n),this.shouldPersist=!0)}),$W(this,`setError`,(e,t)=>{let n=this.events.get(e);n&&(n.props.type=t,n.timestamp=Date.now(),this.events.set(e,n),this.shouldPersist=!0)}),$W(this,`persist`,async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),$W(this,`restore`,async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,QW(QW({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),$W(this,`submit`,async()=>{if(!this.telemetryEnabled||this.events.size===0)return;let e=[];for(let[t,n]of this.events)n.props.type&&e.push(n);if(e.length!==0)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),$W(this,`sendEvent`,async e=>{let t=this.getAppDomain()?``:`&sp=desktop`;return await fetch(`${QB}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${wB}${t}`,{method:`POST`,body:JSON.stringify(e)})}),$W(this,`getAppDomain`,()=>IP().url),this.logger=g(t,this.context),this.telemetryEnabled=n,n?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+`//`+this.context}},tG=Object.defineProperty,nG=Object.getOwnPropertySymbols,rG=Object.prototype.hasOwnProperty,iG=Object.prototype.propertyIsEnumerable,aG=(e,t,n)=>t in e?tG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oG=(e,t)=>{for(var n in t||={})rG.call(t,n)&&aG(e,n,t[n]);if(nG)for(var n of nG(t))iG.call(t,n)&&aG(e,n,t[n]);return e},sG=(e,t,n)=>aG(e,typeof t==`symbol`?t:t+``,n),cG=class e extends Ln{constructor(e){var t;super(e),sG(this,`protocol`,`wc`),sG(this,`version`,2),sG(this,`name`,uB),sG(this,`relayUrl`),sG(this,`projectId`),sG(this,`customStoragePrefix`),sG(this,`events`,new jt.EventEmitter),sG(this,`logger`),sG(this,`heartbeat`),sG(this,`relayer`),sG(this,`crypto`),sG(this,`storage`),sG(this,`history`),sG(this,`expirer`),sG(this,`pairing`),sG(this,`verify`),sG(this,`echoClient`),sG(this,`linkModeSupportedApps`),sG(this,`eventClient`),sG(this,`initialized`,!1),sG(this,`logChunkController`),sG(this,`on`,(e,t)=>this.events.on(e,t)),sG(this,`once`,(e,t)=>this.events.once(e,t)),sG(this,`off`,(e,t)=>this.events.off(e,t)),sG(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),sG(this,`dispatchEnvelope`,({topic:e,message:t,sessionExists:n})=>{if(!e||!t)return;let r={topic:e,message:t,publishedAt:Date.now(),transportType:TB.link_mode};this.relayer.onLinkMessageEvent(r,{sessionExists:n})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:``;let{logger:n,chunkLoggerController:r}=T({opts:x({level:typeof e?.logger==`string`&&e.logger?e.logger:fB.logger,name:uB}),maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=r,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;(e=this.logChunkController)!=null&&e.downloadLogsBlobInBrowser&&((t=this.logChunkController)==null||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=g(n,this.name),this.heartbeat=new Ft,this.crypto=new KH(this,this.logger,e?.keychain),this.history=new PW(this,this.logger),this.expirer=new RW(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Nn(oG(oG({},pB),e?.storageOptions)),this.relayer=new LU({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new AW(this,this.logger),this.verify=new HW(this,this.logger,this.storage),this.echoClient=new KW(this.projectId||``,this.logger),this.linkModeSupportedApps=[],this.eventClient=new eG(this,this.logger,e?.telemetryEnabled)}static async init(t){let n=new e(t);await n.initialize();let r=await n.crypto.getClientId();return await n.storage.setItem(DB,r),n}get context(){return D(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){return this.logChunkController?.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(`WALLETCONNECT_LINK_MODE_APPS`,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(`WALLETCONNECT_LINK_MODE_APPS`)||[],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}}},lG=`client`,uG=`wc@2:${lG}:`,dG={name:lG,logger:`error`,controller:!1,relayUrl:`wss://relay.walletconnect.org`},fG=`WALLETCONNECT_DEEPLINK_CHOICE`,pG=`proposal`;q.THIRTY_DAYS;var mG=`Proposal expired`,hG=`session`,gG=q.SEVEN_DAYS,_G=`engine`,vG={wc_sessionPropose:{req:{ttl:q.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1104},res:{ttl:q.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1106},res:{ttl:q.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:q.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:q.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1112},res:{ttl:q.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:q.ONE_DAY,prompt:!1,tag:1114},res:{ttl:q.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:q.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:q.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:q.FIVE_MINUTES,prompt:!1,tag:1119}}},yG={min:q.FIVE_MINUTES,max:q.SEVEN_DAYS},bG={idle:`IDLE`,active:`ACTIVE`},xG={eth_sendTransaction:{key:``},eth_sendRawTransaction:{key:``},wallet_sendCalls:{key:``},solana_signTransaction:{key:`signature`},solana_signAllTransactions:{key:`transactions`},solana_signAndSendTransaction:{key:`signature`}},SG=`request`,CG=[`wc_sessionPropose`,`wc_sessionRequest`,`wc_authRequest`,`wc_sessionAuthenticate`],wG=`auth`,TG=`authKeys`,EG=`pairingTopics`,DG=`requests`,OG=`wc@1.5:${wG}:`,kG=`${OG}:PUB_KEY`,AG=Object.defineProperty,jG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,NG=Object.getOwnPropertySymbols,PG=Object.prototype.hasOwnProperty,FG=Object.prototype.propertyIsEnumerable,IG=(e,t,n)=>t in e?AG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LG=(e,t)=>{for(var n in t||={})PG.call(t,n)&&IG(e,n,t[n]);if(NG)for(var n of NG(t))FG.call(t,n)&&IG(e,n,t[n]);return e},RG=(e,t)=>jG(e,MG(t)),$=(e,t,n)=>IG(e,typeof t==`symbol`?t:t+``,n),zG=class extends tr{constructor(e){super(e),$(this,`name`,_G),$(this,`events`,new jt.default),$(this,`initialized`,!1),$(this,`requestQueue`,{state:bG.idle,queue:[]}),$(this,`sessionRequestQueue`,{state:bG.idle,queue:[]}),$(this,`requestQueueDelay`,q.ONE_SECOND),$(this,`expectedPairingMethodMap`,new Map),$(this,`recentlyDeletedMap`,new Map),$(this,`recentlyDeletedLimit`,200),$(this,`relayMessageCache`,[]),$(this,`pendingSessions`,new Map),$(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(vG)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,q.toMiliseconds)(this.requestQueueDelay)))}),$(this,`connect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=RG(LG({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t);let{pairingTopic:n,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:a,scopedProperties:o,relays:s}=t,c=n,l,u=!1;try{if(c){let e=this.client.core.pairing.pairings.get(c);this.client.logger.warn(`connect() with existing pairing topic is deprecated and will be removed in the next major release.`),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${c}) failed`),e}if(!c||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();c=e,l=t}if(!c){let{message:e}=Q(`NO_MATCHING_KEY`,`connect() pairing topic: ${c}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),f=vG.wc_sessionPropose.req.ttl||q.FIVE_MINUTES,p=XP(f),m=RG(LG(LG({requiredNamespaces:r,optionalNamespaces:i,relays:s??[{protocol:`irn`}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:p,pairingTopic:c},a&&{sessionProperties:a}),o&&{scopedProperties:o}),{id:S()}),h=QP(`session_connect`,m.id),{reject:g,resolve:_,done:v}=WP(f,mG),y=({id:e})=>{e===m.id&&(this.client.events.off(`proposal_expire`,y),this.pendingSessions.delete(m.id),this.events.emit(h,{error:{message:`Proposal expired`,code:0}}))};return this.client.events.on(`proposal_expire`,y),this.events.once(h,({error:e,session:t})=>{this.client.events.off(`proposal_expire`,y),e?g(e):t&&_(t)}),await this.sendRequest({topic:c,method:`wc_sessionPropose`,params:m,throwOnFailedPublish:!0,clientRpcId:m.id}),await this.setProposal(m.id,m),{uri:l,approval:v}}),$(this,`pair`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error(`pair() failed`),e}}),$(this,`approve`,async e=>{let t=this.client.core.eventClient.createEvent({properties:{topic:(e?.id)?.toString(),trace:[KB.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw t.setError(qB.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(n){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),t.setError(qB.proposal_not_found),n}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error(`approve() -> isValidApprove() failed`),t.setError(qB.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:r,namespaces:i,sessionProperties:a,scopedProperties:o,sessionConfig:s}=e,c=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:t.eventId});let{pairingTopic:l,proposer:u,requiredNamespaces:d,optionalNamespaces:f}=c,p=this.client.core.eventClient?.getEvent({topic:l});p||=this.client.core.eventClient?.createEvent({type:KB.session_approve_started,properties:{topic:l,trace:[KB.session_approve_started,KB.session_namespaces_validation_success]}});let m=await this.client.core.crypto.generateKeyPair(),h=u.publicKey,g=await this.client.core.crypto.generateSharedKey(m,h),_=LG(LG(LG({relay:{protocol:r??`irn`},namespaces:i,controller:{publicKey:m,metadata:this.client.metadata},expiry:XP(gG)},a&&{sessionProperties:a}),o&&{scopedProperties:o}),s&&{sessionConfig:s}),v=TB.relay;p.addTrace(KB.subscribing_session_topic);try{await this.client.core.relayer.subscribe(g,{transportType:v})}catch(e){throw p.setError(qB.subscribe_session_topic_failure),e}p.addTrace(KB.subscribe_session_topic_success);let y=RG(LG({},_),{topic:g,requiredNamespaces:d,optionalNamespaces:f,pairingTopic:l,acknowledged:!1,self:_.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:m,transportType:TB.relay});await this.client.session.set(g,y),p.addTrace(KB.store_session);try{p.addTrace(KB.publishing_session_settle),await this.sendRequest({topic:g,method:`wc_sessionSettle`,params:_,throwOnFailedPublish:!0}).catch(e=>{throw p?.setError(qB.session_settle_publish_failure),e}),p.addTrace(KB.session_settle_publish_success),p.addTrace(KB.publishing_session_approve),await this.sendResult({id:n,topic:l,result:{relay:{protocol:r??`irn`},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw p?.setError(qB.session_approve_publish_failure),e}),p.addTrace(KB.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(g,_z(`USER_DISCONNECTED`)),await this.client.core.relayer.unsubscribe(g),e}return this.client.core.eventClient.deleteEvent({eventId:p.eventId}),await this.client.core.pairing.updateMetadata({topic:l,metadata:u.metadata}),await this.client.proposal.delete(n,_z(`USER_DISCONNECTED`)),await this.client.core.pairing.activate({topic:l}),await this.setExpiry(g,XP(gG)),{topic:g,acknowledged:()=>Promise.resolve(this.client.session.get(g))}}),$(this,`reject`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error(`reject() -> isValidReject() failed`),e}let{id:t,reason:n}=e,r;try{r=this.client.proposal.get(t).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),e}r&&(await this.sendError({id:t,topic:r,error:n,rpcOpts:vG.wc_sessionPropose.reject}),await this.client.proposal.delete(t,_z(`USER_DISCONNECTED`)))}),$(this,`update`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error(`update() -> isValidUpdate() failed`),e}let{topic:t,namespaces:n}=e,{done:r,resolve:i,reject:a}=WP(),o=S(),s=W().toString(),c=this.client.session.get(t).namespaces;return this.events.once(QP(`session_update`,o),({error:e})=>{e?a(e):i()}),await this.client.session.update(t,{namespaces:n}),await this.sendRequest({topic:t,method:`wc_sessionUpdate`,params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:s}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),a(e)}),{acknowledged:r}}),$(this,`extend`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error(`extend() -> isValidExtend() failed`),e}let{topic:t}=e,n=S(),{done:r,resolve:i,reject:a}=WP();return this.events.once(QP(`session_extend`,n),({error:e})=>{e?a(e):i()}),await this.setExpiry(t,XP(gG)),this.sendRequest({topic:t,method:`wc_sessionExtend`,params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(e=>{a(e)}),{acknowledged:r}}),$(this,`request`,async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error(`request() -> isValidRequest() failed`),e}let{chainId:t,request:n,topic:r,expiry:i=vG.wc_sessionRequest.req.ttl}=e,a=this.client.session.get(r);a?.transportType===TB.relay&&await this.confirmOnlineStateOrThrow();let o=S(),s=W().toString(),{done:c,resolve:l,reject:u}=WP(i,`Request expired. Please try again.`);this.events.once(QP(`session_request`,o),({error:e,result:t})=>{e?u(e):l(t)});let d=`wc_sessionRequest`,f=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(f)return await this.sendRequest({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:{request:RG(LG({},n),{expiryTimestamp:XP(i)}),chainId:t},expiry:i,throwOnFailedPublish:!0,appLink:f}).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),await c();let p={request:RG(LG({},n),{expiryTimestamp:XP(i)}),chainId:t},m=this.shouldSetTVF(d,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(LG({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:p,expiry:i,throwOnFailedPublish:!0},m&&{tvf:this.getTVFParams(o,p)})).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),e()}),new Promise(async e=>{var t;(t=a.sessionConfig)!=null&&t.disableDeepLink||await eF({id:o,topic:r,wcDeepLink:await rF(this.client.core.storage,fG)}),e()}),c()]).then(e=>e[2])}),$(this,`respond`,async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:n}=e,{id:r}=n,i=this.client.session.get(t);i.transportType===TB.relay&&await this.confirmOnlineStateOrThrow();let a=this.getAppLinkIfEnabled(i.peer.metadata,i.transportType);k(n)?await this.sendResult({id:r,topic:t,result:n.result,throwOnFailedPublish:!0,appLink:a}):O(n)&&await this.sendError({id:r,topic:t,error:n.error,appLink:a}),this.cleanupAfterResponse(e)}),$(this,`ping`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error(`ping() -> isValidPing() failed`),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=S(),n=W().toString(),{done:r,resolve:i,reject:a}=WP();this.events.once(QP(`session_ping`,e),({error:e})=>{e?a(e):i()}),await Promise.all([this.sendRequest({topic:t,method:`wc_sessionPing`,params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:n}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(`ping() on pairing topic is deprecated and will be removed in the next major release.`),await this.client.core.pairing.ping({topic:t}))}),$(this,`emit`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:n,chainId:r}=e,i=W().toString(),a=S();await this.sendRequest({topic:t,method:`wc_sessionEvent`,params:{event:n,chainId:r},throwOnFailedPublish:!0,relayRpcId:i,clientRpcId:a})}),$(this,`disconnect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:`wc_sessionDelete`,params:_z(`USER_DISCONNECTED`),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=Q(`MISMATCHED_TOPIC`,`Session or pairing topic not found: ${t}`);throw Error(e)}}),$(this,`find`,e=>(this.isInitialized(),this.client.session.getAll().filter(t=>Cz(t,e)))),$(this,`getPendingSessionRequests`,()=>this.client.pendingRequest.getAll()),$(this,`authenticate`,async(e,t)=>{this.isInitialized(),this.isValidAuthenticate(e);let n=t&&this.client.core.linkModeSupportedApps.includes(t)&&this.client.metadata.redirect?.linkMode,r=n?TB.link_mode:TB.relay;r===TB.relay&&await this.confirmOnlineStateOrThrow();let{chains:i,statement:a=``,uri:o,domain:s,nonce:c,type:l,exp:u,nbf:d,methods:f=[],expiry:p}=e,m=[...e.resources||[]],{topic:h,uri:g}=await this.client.core.pairing.create({methods:[`wc_sessionAuthenticate`],transportType:r});this.client.logger.info({message:`Generated new pairing`,pairing:{topic:h,uri:g}});let _=await this.client.core.crypto.generateKeyPair(),v=FR(_);if(await Promise.all([this.client.auth.authKeys.set(kG,{responseTopic:v,publicKey:_}),this.client.auth.pairingTopics.set(v,{topic:v,pairingTopic:h})]),await this.client.core.relayer.subscribe(v,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${h}`),f.length>0){let{namespace:e}=TP(i[0]),t=AI(e,`request`,f);LI(m)&&(t=MI(t,m.pop())),m.push(t)}let y=p&&p>vG.wc_sessionAuthenticate.req.ttl?p:vG.wc_sessionAuthenticate.req.ttl,b={authPayload:{type:l??`caip122`,chains:i,statement:a,aud:o,domain:s,version:`1`,nonce:c,iat:new Date().toISOString(),exp:u,nbf:d,resources:m},requester:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:XP(y)},x={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:i,methods:[...new Set([`personal_sign`,...f])],events:[`chainChanged`,`accountsChanged`]}},relays:[{protocol:`irn`}],pairingTopic:h,proposer:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:XP(vG.wc_sessionPropose.req.ttl),id:S()},{done:C,resolve:w,reject:T}=WP(y,`Request expired`),E=S(),D=QP(`session_connect`,x.id),O=QP(`session_request`,E),k=async({error:e,session:t})=>{this.events.off(O,A),e?T(e):t&&w({session:t})},A=async e=>{var n,i,a;if(await this.deletePendingAuthRequest(E,{message:`fulfilled`,code:0}),e.error){let t=_z(`WC_METHOD_UNSUPPORTED`,`wc_sessionAuthenticate`);return e.error.code===t.code?void 0:(this.events.off(D,k),T(e.error.message))}await this.deleteProposal(x.id),this.events.off(D,k);let{cacaos:o,responder:s}=e.result,c=[],l=[];for(let e of o){await xI({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,`Signature verification failed`),T(_z(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`)));let{p:t}=e,n=LI(t.resources),r=[yI(t.iss)],i=bI(t.iss);if(n){let e=FI(n),t=II(n);c.push(...e),r.push(...t)}for(let e of r)l.push(`${e}:${i}`)}let u=await this.client.core.crypto.generateSharedKey(_,s.publicKey),d;c.length>0&&(d={topic:u,acknowledged:!0,self:{publicKey:_,metadata:this.client.metadata},peer:s,controller:s.publicKey,expiry:XP(gG),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:h,namespaces:mz([...new Set(c)],[...new Set(l)]),transportType:r},await this.client.core.relayer.subscribe(u,{transportType:r}),await this.client.session.set(u,d),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:s.metadata}),d=this.client.session.get(u)),(n=this.client.metadata.redirect)!=null&&n.linkMode&&(i=s.metadata.redirect)!=null&&i.linkMode&&(a=s.metadata.redirect)!=null&&a.universal&&t&&(this.client.core.addLinkModeSupportedApp(s.metadata.redirect.universal),this.client.session.update(u,{transportType:TB.link_mode})),w({auths:o,session:d})};this.events.once(D,k),this.events.once(O,A);let j;try{if(n){let e=te(`wc_sessionAuthenticate`,b,E);this.client.core.history.set(h,e),j=oz(t,h,await this.client.core.crypto.encode(``,e,{type:2,encoding:ER}))}else await Promise.all([this.sendRequest({topic:h,method:`wc_sessionAuthenticate`,params:b,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:E}),this.sendRequest({topic:h,method:`wc_sessionPropose`,params:x,expiry:vG.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:x.id})])}catch(e){throw this.events.off(D,k),this.events.off(O,A),e}return await this.setProposal(x.id,x),await this.setAuthRequest(E,{request:RG(LG({},b),{verifyContext:{}}),pairingTopic:h,transportType:r}),{uri:j??g,response:C}}),$(this,`approveSessionAuthenticate`,async e=>{let{id:t,auths:n}=e,r=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[JB.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(YB.no_internet_connection),e}let i=this.getPendingAuthRequest(t);if(!i)throw r.setError(YB.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${t}`);let a=i.transportType||TB.relay;a===TB.relay&&await this.confirmOnlineStateOrThrow();let o=i.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),c=FR(o),l={type:1,receiverPublicKey:o,senderPublicKey:s},u=[],d=[];for(let e of n){if(!await xI({cacao:e,projectId:this.client.core.projectId})){r.setError(YB.invalid_cacao);let e=_z(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`);throw await this.sendError({id:t,topic:c,error:e,encodeOpts:l}),Error(e.message)}r.addTrace(JB.cacaos_verified);let{p:n}=e,i=LI(n.resources),a=[yI(n.iss)],o=bI(n.iss);if(i){let e=FI(i),t=II(i);u.push(...e),a.push(...t)}for(let e of a)d.push(`${e}:${o}`)}let f=await this.client.core.crypto.generateSharedKey(s,o);r.addTrace(JB.create_authenticated_session_topic);let p;if(u?.length>0){p={topic:f,acknowledged:!0,self:{publicKey:s,metadata:this.client.metadata},peer:{publicKey:o,metadata:i.requester.metadata},controller:o,expiry:XP(gG),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:i.pairingTopic,namespaces:mz([...new Set(u)],[...new Set(d)]),transportType:a},r.addTrace(JB.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:a})}catch(e){throw r.setError(YB.subscribe_authenticated_session_topic_failure),e}r.addTrace(JB.subscribe_authenticated_session_topic_success),await this.client.session.set(f,p),r.addTrace(JB.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:i.pairingTopic,metadata:i.requester.metadata})}r.addTrace(JB.publishing_authenticated_session_approve);try{await this.sendResult({topic:c,id:t,result:{cacaos:n,responder:{publicKey:s,metadata:this.client.metadata}},encodeOpts:l,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(i.requester.metadata,a)})}catch(e){throw r.setError(YB.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(t,{message:`fulfilled`,code:0}),await this.client.core.pairing.activate({topic:i.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:p}}),$(this,`rejectSessionAuthenticate`,async e=>{this.isInitialized();let{id:t,reason:n}=e,r=this.getPendingAuthRequest(t);if(!r)throw Error(`Could not find pending auth request with id ${t}`);r.transportType===TB.relay&&await this.confirmOnlineStateOrThrow();let i=r.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),o=FR(i),s={type:1,receiverPublicKey:i,senderPublicKey:a};await this.sendError({id:t,topic:o,error:n,encodeOpts:s,rpcOpts:vG.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(r.requester.metadata,r.transportType)}),await this.client.auth.requests.delete(t,{message:`rejected`,code:0}),await this.client.proposal.delete(t,_z(`USER_DISCONNECTED`))}),$(this,`formatAuthMessage`,e=>{this.isInitialized();let{request:t,iss:n}=e;return SI(t,n)}),$(this,`processRelayMessageCache`,()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),$(this,`cleanupDuplicatePairings`,async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(n=>n.peerMetadata?.url&&n.peerMetadata?.url===e.peer.metadata.url&&n.topic&&n.topic!==t.topic);if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info(`Duplicate pairings clean up finished`)}catch(e){this.client.logger.error(e)}}),$(this,`deleteSession`,async e=>{let{topic:t,expirerHasDeleted:n=!1,emitEvent:r=!0,id:i=0}=e,{self:a}=this.client.session.get(t);await this.client.core.relayer.unsubscribe(t),await this.client.session.delete(t,_z(`USER_DISCONNECTED`)),this.addToRecentlyDeleted(t,`session`),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(t)&&await this.client.core.crypto.deleteSymKey(t),n||this.client.core.expirer.del(t),this.client.core.storage.removeItem(fG).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===t&&this.deletePendingSessionRequest(e.id,_z(`USER_DISCONNECTED`))}),t===this.sessionRequestQueue.queue[0]?.topic&&(this.sessionRequestQueue.state=bG.idle),r&&this.client.events.emit(`session_delete`,{id:i,topic:t})}),$(this,`deleteProposal`,async(e,t)=>{if(t)try{let t=this.client.proposal.get(e);this.client.core.eventClient.getEvent({topic:t.pairingTopic})?.setError(qB.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,_z(`USER_DISCONNECTED`)),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`proposal`)}),$(this,`deletePendingSessionRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`request`),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),n&&(this.sessionRequestQueue.state=bG.idle,this.client.events.emit(`session_request_expire`,{id:e}))}),$(this,`deletePendingAuthRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)])}),$(this,`setExpiry`,async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),$(this,`setProposal`,async(e,t)=>{this.client.core.expirer.set(e,XP(vG.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),$(this,`setAuthRequest`,async(e,t)=>{let{request:n,pairingTopic:r,transportType:i=TB.relay}=t;this.client.core.expirer.set(e,n.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:e,pairingTopic:r,verifyContext:n.verifyContext,transportType:i})}),$(this,`setPendingSessionRequest`,async e=>{let{id:t,topic:n,params:r,verifyContext:i}=e,a=r.request.expiryTimestamp||XP(vG.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,a),await this.client.pendingRequest.set(t,{id:t,topic:n,params:r,verifyContext:i})}),$(this,`sendRequest`,async e=>{let{topic:t,method:n,params:r,expiry:i,relayRpcId:a,clientRpcId:o,throwOnFailedPublish:s,appLink:c,tvf:l}=e,u=te(n,r,o),d,f=!!c;try{let e=f?ER:TR;d=await this.client.core.crypto.encode(t,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),e}let p;if(CG.includes(n)){let e=IR(JSON.stringify(u)),t=IR(d);p=await this.client.core.verify.register({id:t,decryptedId:e})}let m=vG[n].req;if(m.attestation=p,i&&(m.ttl=i),a&&(m.id=a),this.client.core.history.set(t,u),f){let e=oz(c,t,d);await global.Linking.openURL(e,this.client.name)}else{let e=vG[n].req;i&&(e.ttl=i),a&&(e.id=a),e.tvf=RG(LG({},l),{correlationId:u.id}),s?(e.internal=RG(LG({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,e)):this.client.core.relayer.publish(t,d,e).catch(e=>this.client.logger.error(e))}return u.id}),$(this,`sendResult`,async e=>{let{id:t,topic:n,result:r,throwOnFailedPublish:i,encodeOpts:a,appLink:o}=e,s=d(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?ER:TR;c=await this.client.core.crypto.encode(n,s,RG(LG({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),e}let u,f;try{u=await this.client.core.history.get(n,t);let e=u.request;try{this.shouldSetTVF(e.method,e.params)&&(f=this.getTVFParams(t,e.params,r))}catch(e){this.client.logger.warn(`sendResult() -> getTVFParams() failed`,e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${t}) failed`),e}if(l){let e=oz(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=vG[u.request.method].res;e.tvf=RG(LG({},f),{correlationId:t}),i?(e.internal=RG(LG({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,c,e)):this.client.core.relayer.publish(n,c,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(s)}),$(this,`sendError`,async e=>{let{id:t,topic:n,error:r,encodeOpts:i,rpcOpts:a,appLink:o}=e,s=w(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?ER:TR;c=await this.client.core.crypto.encode(n,s,RG(LG({},i||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}let u;try{u=await this.client.core.history.get(n,t)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${t}) failed`),e}if(l){let e=oz(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=u.request.method,t=a||vG[e].res;this.client.core.relayer.publish(n,c,t)}await this.client.core.history.resolve(s)}),$(this,`cleanup`,async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let n=!1;ZP(t.expiry)&&(n=!0),this.client.core.crypto.keychain.has(t.topic)||(n=!0),n&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{ZP(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),$(this,`onProviderMessageEvent`,async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),$(this,`onRelayEventRequest`,async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),$(this,`processRequestsQueue`,async()=>{if(this.requestQueue.state===bG.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=bG.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=bG.idle}),$(this,`processRequest`,async e=>{let{topic:t,payload:n,attestation:r,transportType:i,encryptedId:a}=e,o=n.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case`wc_sessionPropose`:return await this.onSessionProposeRequest({topic:t,payload:n,attestation:r,encryptedId:a});case`wc_sessionSettle`:return await this.onSessionSettleRequest(t,n);case`wc_sessionUpdate`:return await this.onSessionUpdateRequest(t,n);case`wc_sessionExtend`:return await this.onSessionExtendRequest(t,n);case`wc_sessionPing`:return await this.onSessionPingRequest(t,n);case`wc_sessionDelete`:return await this.onSessionDeleteRequest(t,n);case`wc_sessionRequest`:return await this.onSessionRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});case`wc_sessionEvent`:return await this.onSessionEventRequest(t,n);case`wc_sessionAuthenticate`:return await this.onSessionAuthenticateRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),$(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n,transportType:r}=e,i=(await this.client.core.history.get(t,n.id)).request.method;switch(i){case`wc_sessionPropose`:return this.onSessionProposeResponse(t,n,r);case`wc_sessionSettle`:return this.onSessionSettleResponse(t,n);case`wc_sessionUpdate`:return this.onSessionUpdateResponse(t,n);case`wc_sessionExtend`:return this.onSessionExtendResponse(t,n);case`wc_sessionPing`:return this.onSessionPingResponse(t,n);case`wc_sessionRequest`:return this.onSessionRequestResponse(t,n);case`wc_sessionAuthenticate`:return this.onSessionAuthenticateResponse(t,n);default:return this.client.logger.info(`Unsupported response method ${i}`)}}),$(this,`onRelayEventUnknownPayload`,e=>{let{topic:t}=e,{message:n}=Q(`MISSING_OR_INVALID`,`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(n)}),$(this,`shouldIgnorePairingRequest`,e=>{let{topic:t,requestMethod:n}=e,r=this.expectedPairingMethodMap.get(t);return!r||r.includes(n)?!1:!!(r.includes(`wc_sessionAuthenticate`)&&this.client.events.listenerCount(`session_authenticate`)>0)}),$(this,`onSessionProposeRequest`,async e=>{let{topic:t,payload:n,attestation:r,encryptedId:i}=e,{params:a,id:o}=n;try{let e=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(`session_proposal`)===0&&(console.warn(`No listener for session_proposal event`),e?.setError(GB.proposal_listener_not_found)),this.isValidConnect(LG({},n.params));let s=LG({id:o,pairingTopic:t,expiryTimestamp:a.expiryTimestamp||XP(vG.wc_sessionPropose.req.ttl)},a);await this.setProposal(o,s);let c=await this.getVerifyContext({attestationId:r,hash:IR(JSON.stringify(n)),encryptedId:i,metadata:s.proposer.metadata});e?.addTrace(WB.emit_session_proposal),this.client.events.emit(`session_proposal`,{id:o,params:s,verifyContext:c})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:vG.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),$(this,`onSessionProposeResponse`,async(e,t,n)=>{let{id:r}=t;if(k(t)){let{result:i}=t;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,result:i});let a=this.client.proposal.get(r);this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,proposal:a});let o=a.proposer.publicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,selfPublicKey:o});let s=i.responderPublicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,peerPublicKey:s});let c=await this.client.core.crypto.generateSharedKey(o,s);this.pendingSessions.set(r,{sessionTopic:c,pairingTopic:e,proposalId:r,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:n});this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if(O(t)){await this.client.proposal.delete(r,_z(`USER_DISCONNECTED`));let e=QP(`session_connect`,r);if(this.events.listenerCount(e)===0)throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),$(this,`onSessionSettleRequest`,async(e,t)=>{let{id:n,params:r}=t;try{this.isValidSessionSettleRequest(r);let{relay:n,controller:i,expiry:a,namespaces:o,sessionProperties:s,scopedProperties:c,sessionConfig:l}=t.params,u=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!u)return this.client.logger.error(`Pending session not found for topic ${e}`);let d=this.client.proposal.get(u.proposalId),f=RG(LG(LG(LG({topic:e,relay:n,expiry:a,namespaces:o,acknowledged:!0,pairingTopic:u.pairingTopic,requiredNamespaces:d.requiredNamespaces,optionalNamespaces:d.optionalNamespaces,controller:i.publicKey,self:{publicKey:u.publicKey,metadata:this.client.metadata},peer:{publicKey:i.publicKey,metadata:i.metadata}},s&&{sessionProperties:s}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:TB.relay});await this.client.session.set(f.topic,f),await this.setExpiry(f.topic,f.expiry),await this.client.core.pairing.updateMetadata({topic:u.pairingTopic,metadata:f.peer.metadata}),this.client.events.emit(`session_connect`,{session:f}),this.events.emit(QP(`session_connect`,u.proposalId),{session:f}),this.pendingSessions.delete(u.proposalId),this.deleteProposal(u.proposalId,!1),this.cleanupDuplicatePairings(f),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionSettleResponse`,async(e,t)=>{let{id:n}=t;k(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(QP(`session_approve`,n),{})):O(t)&&(await this.client.session.delete(e,_z(`USER_DISCONNECTED`)),this.events.emit(QP(`session_approve`,n),{error:t.error}))}),$(this,`onSessionUpdateRequest`,async(e,t)=>{let{params:n,id:r}=t;try{let t=`${e}_session_update`,i=lB.get(t);if(i&&this.isRequestOutOfSync(i,r)){this.client.logger.warn(`Discarding out of sync request - ${r}`),this.sendError({id:r,topic:e,error:_z(`INVALID_UPDATE_REQUEST`)});return}this.isValidUpdate(LG({topic:e},n));try{lB.set(t,r),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw lB.delete(t),e}this.client.events.emit(`session_update`,{id:r,topic:e,params:n})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`isRequestOutOfSync`,(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),$(this,`onSessionUpdateResponse`,(e,t)=>{let{id:n}=t,r=QP(`session_update`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);k(t)?this.events.emit(QP(`session_update`,n),{}):O(t)&&this.events.emit(QP(`session_update`,n),{error:t.error})}),$(this,`onSessionExtendRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,XP(gG)),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_extend`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionExtendResponse`,(e,t)=>{let{id:n}=t,r=QP(`session_extend`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);k(t)?this.events.emit(QP(`session_extend`,n),{}):O(t)&&this.events.emit(QP(`session_extend`,n),{error:t.error})}),$(this,`onSessionPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_ping`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionPingResponse`,(e,t)=>{let{id:n}=t,r=QP(`session_ping`,n);setTimeout(()=>{if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners 2176`);k(t)?this.events.emit(QP(`session_ping`,n),{}):O(t)&&this.events.emit(QP(`session_ping`,n),{error:t.error})},500)}),$(this,`onSessionDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(SB.publish,async()=>{t(await this.deleteSession({topic:e,id:n}))})}),this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:_z(`USER_DISCONNECTED`)})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),$(this,`onSessionRequest`,async e=>{var t,n;let{topic:r,payload:i,attestation:a,encryptedId:o,transportType:s}=e,{id:c,params:l}=i;try{await this.isValidRequest(LG({topic:r},l));let e=this.client.session.get(r),i={id:c,topic:r,params:l,verifyContext:await this.getVerifyContext({attestationId:a,hash:IR(JSON.stringify(te(`wc_sessionRequest`,l,c))),encryptedId:o,metadata:e.peer.metadata,transportType:s})};await this.setPendingSessionRequest(i),s===TB.link_mode&&(t=e.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.peer.metadata.redirect?.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(i):(this.addSessionRequestToSessionRequestQueue(i),this.processSessionRequestQueue())}catch(e){await this.sendError({id:c,topic:r,error:e}),this.client.logger.error(e)}}),$(this,`onSessionRequestResponse`,(e,t)=>{let{id:n}=t,r=QP(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);k(t)?this.events.emit(QP(`session_request`,n),{result:t.result}):O(t)&&this.events.emit(QP(`session_request`,n),{error:t.error})}),$(this,`onSessionEventRequest`,async(e,t)=>{let{id:n,params:r}=t;try{let t=`${e}_session_event_${r.event.name}`,i=lB.get(t);if(i&&this.isRequestOutOfSync(i,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(LG({topic:e},r)),this.client.events.emit(`session_event`,{id:n,topic:e,params:r}),lB.set(t,n)}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionAuthenticateResponse`,(e,t)=>{let{id:n}=t;this.client.logger.trace({type:`method`,method:`onSessionAuthenticateResponse`,topic:e,payload:t}),k(t)?this.events.emit(QP(`session_request`,n),{result:t.result}):O(t)&&this.events.emit(QP(`session_request`,n),{error:t.error})}),$(this,`onSessionAuthenticateRequest`,async e=>{var t;let{topic:n,payload:r,attestation:i,encryptedId:a,transportType:o}=e;try{let{requester:e,authPayload:s,expiryTimestamp:c}=r.params,l=await this.getVerifyContext({attestationId:i,hash:IR(JSON.stringify(r)),encryptedId:a,metadata:e.metadata,transportType:o}),u={requester:e,pairingTopic:n,id:r.id,authPayload:s,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(r.id,{request:u,pairingTopic:n,transportType:o}),o===TB.link_mode&&(t=e.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit(`session_authenticate`,{topic:n,params:r.params,id:r.id,verifyContext:l})}catch(e){this.client.logger.error(e);let t=r.params.requester.publicKey,i=await this.client.core.crypto.generateKeyPair(),a=this.getAppLinkIfEnabled(r.params.requester.metadata,o),s={type:1,receiverPublicKey:t,senderPublicKey:i};await this.sendError({id:r.id,topic:n,error:e,encodeOpts:s,rpcOpts:vG.wc_sessionAuthenticate.autoReject,appLink:a})}}),$(this,`addSessionRequestToSessionRequestQueue`,e=>{this.sessionRequestQueue.queue.push(e)}),$(this,`cleanupAfterResponse`,e=>{this.deletePendingSessionRequest(e.response.id,{message:`fulfilled`,code:0}),setTimeout(()=>{this.sessionRequestQueue.state=bG.idle,this.processSessionRequestQueue()},(0,q.toMiliseconds)(this.requestQueueDelay))}),$(this,`cleanupPendingSentRequestsForTopic`,({topic:e,error:t})=>{let n=this.client.core.history.pending;n.length>0&&n.filter(t=>t.topic===e&&t.request.method===`wc_sessionRequest`).forEach(e=>{let n=e.request.id,r=QP(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);this.events.emit(QP(`session_request`,e.request.id),{error:t})})}),$(this,`processSessionRequestQueue`,()=>{if(this.sessionRequestQueue.state===bG.active){this.client.logger.info(`session request queue is already active.`);return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(`session request queue is empty.`);return}try{this.sessionRequestQueue.state=bG.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),$(this,`emitSessionRequest`,e=>{this.client.events.emit(`session_request`,e)}),$(this,`onPairingCreated`,e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:te(`wc_sessionPropose`,RG(LG({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),$(this,`isValidConnect`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:n,optionalNamespaces:r,sessionProperties:i,scopedProperties:a,relays:o}=e;if(bz(t)||await this.isValidPairingTopic(t),!Bz(o,!0)){let{message:e}=Q(`MISSING_OR_INVALID`,`connect() relays: ${o}`);throw Error(e)}if(!bz(n)&&yz(n)!==0&&this.validateNamespaces(n,`requiredNamespaces`),!bz(r)&&yz(r)!==0&&this.validateNamespaces(r,`optionalNamespaces`),bz(i)||this.validateSessionProps(i,`sessionProperties`),!bz(a)){this.validateSessionProps(a,`scopedProperties`);let e=Object.keys(n||{}).concat(Object.keys(r||{}));if(!Object.keys(a).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),$(this,`validateNamespaces`,(e,t)=>{let n=Lz(e,`connect()`,t);if(n)throw Error(n.message)}),$(this,`isValidApprove`,async e=>{if(!Hz(e))throw Error(Q(`MISSING_OR_INVALID`,`approve() params: ${e}`).message);let{id:t,namespaces:n,relayProtocol:r,sessionProperties:i,scopedProperties:a}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),s=Rz(n,`approve()`);if(s)throw Error(s.message);let c=Xz(o.requiredNamespaces,n,`approve()`);if(c)throw Error(c.message);if(!xz(r,!0)){let{message:e}=Q(`MISSING_OR_INVALID`,`approve() relayProtocol: ${r}`);throw Error(e)}if(bz(i)||this.validateSessionProps(i,`sessionProperties`),!bz(a)){this.validateSessionProps(a,`scopedProperties`);let e=new Set(Object.keys(n));if(!Object.keys(a).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(e).join(`, `)}`)}}),$(this,`isValidReject`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`reject() params: ${e}`);throw Error(t)}let{id:t,reason:n}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Uz(n)){let{message:e}=Q(`MISSING_OR_INVALID`,`reject() reason: ${JSON.stringify(n)}`);throw Error(e)}}),$(this,`isValidSessionSettleRequest`,e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:n,namespaces:r,expiry:i}=e;if(!zz(t)){let{message:e}=Q(`MISSING_OR_INVALID`,`onSessionSettleRequest() relay protocol should be a string`);throw Error(e)}let a=kz(n,`onSessionSettleRequest()`);if(a)throw Error(a.message);let o=Rz(r,`onSessionSettleRequest()`);if(o)throw Error(o.message);if(ZP(i)){let{message:e}=Q(`EXPIRED`,`onSessionSettleRequest()`);throw Error(e)}}),$(this,`isValidUpdate`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:n}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let r=this.client.session.get(t),i=Rz(n,`update()`);if(i)throw Error(i.message);let a=Xz(r.requiredNamespaces,n,`update()`);if(a)throw Error(a.message)}),$(this,`isValidExtend`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),$(this,`isValidRequest`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`request() params: ${e}`);throw Error(t)}let{topic:t,request:n,chainId:r,expiry:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:a}=this.client.session.get(t);if(!qz(a,r)){let{message:e}=Q(`MISSING_OR_INVALID`,`request() chainId: ${r}`);throw Error(e)}if(!Wz(n)){let{message:e}=Q(`MISSING_OR_INVALID`,`request() ${JSON.stringify(n)}`);throw Error(e)}if(!Jz(a,r,n.method)){let{message:e}=Q(`MISSING_OR_INVALID`,`request() method: ${n.method}`);throw Error(e)}if(i&&!eB(i,yG)){let{message:e}=Q(`MISSING_OR_INVALID`,`request() expiry: ${i}. Expiry must be a number (in seconds) between ${yG.min} and ${yG.max}`);throw Error(e)}}),$(this,`isValidRespond`,async e=>{var t;if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`respond() params: ${e}`);throw Error(t)}let{topic:n,response:r}=e;try{await this.isValidSessionTopic(n)}catch(n){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),n}if(!Gz(r)){let{message:e}=Q(`MISSING_OR_INVALID`,`respond() response: ${JSON.stringify(r)}`);throw Error(e)}}),$(this,`isValidPing`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),$(this,`isValidEmit`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`emit() params: ${e}`);throw Error(t)}let{topic:t,event:n,chainId:r}=e;await this.isValidSessionTopic(t);let{namespaces:i}=this.client.session.get(t);if(!qz(i,r)){let{message:e}=Q(`MISSING_OR_INVALID`,`emit() chainId: ${r}`);throw Error(e)}if(!Kz(n)){let{message:e}=Q(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}if(!Yz(i,r,n.name)){let{message:e}=Q(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}}),$(this,`isValidDisconnect`,async e=>{if(!Hz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),$(this,`isValidAuthenticate`,e=>{let{chains:t,uri:n,domain:r,nonce:i}=e;if(!Array.isArray(t)||t.length===0)throw Error(`chains is required and must be a non-empty array`);if(!xz(n,!1))throw Error(`uri is required parameter`);if(!xz(r,!1))throw Error(`domain is required parameter`);if(!xz(i,!1))throw Error(`nonce is required parameter`);if([...new Set(t.map(e=>TP(e).namespace))].length>1)throw Error(`Multi-namespace requests are not supported. Please request single namespace only.`);let{namespace:a}=TP(t[0]);if(a!==`eip155`)throw Error(`Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.`)}),$(this,`getVerifyContext`,async e=>{let{attestationId:t,hash:n,encryptedId:r,metadata:i,transportType:a}=e,o={verified:{verifyUrl:i.verifyUrl||`https://verify.walletconnect.org`,validation:`UNKNOWN`,origin:i.url||``}};try{if(a===TB.link_mode){let e=this.getAppLinkIfEnabled(i,a);return o.verified.validation=e&&new URL(e).origin===new URL(i.url).origin?`VALID`:`INVALID`,o}let e=await this.client.core.verify.resolve({attestationId:t,hash:n,encryptedId:r,verifyUrl:i.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(i.url).origin?`VALID`:`INVALID`)}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),$(this,`validateSessionProps`,(e,t)=>{Object.values(e).forEach((n,r)=>{if(n==null){let{message:i}=Q(`MISSING_OR_INVALID`,`${t} must contain an existing value for each key. Received: ${n} for key ${Object.keys(e)[r]}`);throw Error(i)}})}),$(this,`getPendingAuthRequest`,e=>{let t=this.client.auth.requests.get(e);return typeof t==`object`?t:void 0}),$(this,`addToRecentlyDeleted`,(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let n of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(n)}}}),$(this,`checkRecentlyDeleted`,e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:n}=Q(`MISSING_OR_INVALID`,`Record was recently deleted - ${t}: ${e}`);throw Error(n)}}),$(this,`isLinkModeEnabled`,(e,t)=>!e||t!==TB.link_mode?!1:this.client.metadata?.redirect?.linkMode===!0&&this.client.metadata?.redirect?.universal!==void 0&&this.client.metadata?.redirect?.universal!==``&&e?.redirect?.universal!==void 0&&e?.redirect?.universal!==``&&e?.redirect?.linkMode===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<`u`),$(this,`getAppLinkIfEnabled`,(e,t)=>this.isLinkModeEnabled(e,t)?e?.redirect?.universal:void 0),$(this,`handleLinkModeMessage`,({url:e})=>{if(!e||!e.includes(`wc_ev`)||!e.includes(`topic`))return;let t=iF(e,`topic`)||``,n=decodeURIComponent(iF(e,`wc_ev`)||``),r=this.client.session.keys.includes(t);r&&this.client.session.update(t,{transportType:TB.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:n,sessionExists:r})}),$(this,`registerLinkModeListeners`,async()=>{var e;if(oF()||kP()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){let e=global==null?void 0:global.Linking;if(typeof e<`u`){e.addEventListener(`url`,this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),$(this,`shouldSetTVF`,(e,t)=>{if(!t||e!==`wc_sessionRequest`)return!1;let{request:n}=t;return Object.keys(xG).includes(n.method)}),$(this,`getTVFParams`,(e,t,n)=>{try{let r=t.request.method,i=this.extractTxHashesFromResult(r,n);return RG(LG({correlationId:e,rpcMethods:[r],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[t.request.params?.[0]?.to]}),{txHashes:i})}catch(e){this.client.logger.warn(`Error getting TVF params`,e)}return{}}),$(this,`isValidContractData`,e=>{if(!e)return!1;try{let t=e?.data||e?.[0]?.data;if(!t.startsWith(`0x`))return!1;let n=t.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2==0:!1}catch{}return!1}),$(this,`extractTxHashesFromResult`,(e,t)=>{try{let n=xG[e];if(typeof t==`string`)return[t];let r=t[n.key];if(vz(r))return e===`solana_signAllTransactions`?r.map(e=>oI(e)):r;if(typeof r==`string`)return[r]}catch(e){this.client.logger.warn(`Error extracting tx hashes from result`,e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,n]of Object.entries(t))for(let t of n)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn(`processPendingMessageEvents failed`,e)}}isInitialized(){if(!this.initialized){let{message:e}=Q(`NOT_INITIALIZED`,this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(SB.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:n,attestation:r,transportType:i}=e,{publicKey:a}=this.client.auth.authKeys.keys.includes(kG)?this.client.auth.authKeys.get(kG):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,n,{receiverPublicKey:a,encoding:i===TB.link_mode?ER:TR});p(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:r,transportType:i,encryptedId:IR(n)})):ue(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:i}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:i}),await this.client.core.relayer.messages.ack(t,n)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(IB.expired,async e=>{let{topic:t,id:n}=YP(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Q(`EXPIRED`),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,Q(`EXPIRED`),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit(`session_expire`,{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit(`proposal_expire`,{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(MB.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(MB.delete,e=>{this.addToRecentlyDeleted(e.topic,`pairing`)})}isValidPairingTopic(e){if(!xz(e,!1)){let{message:t}=Q(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=Q(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(ZP(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=Q(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!xz(e,!1)){let{message:t}=Q(`MISSING_OR_INVALID`,`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=Q(`NO_MATCHING_KEY`,`session topic doesn't exist: ${e}`);throw Error(t)}if(ZP(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=Q(`EXPIRED`,`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(xz(e,!1)){let{message:t}=Q(`NO_MATCHING_KEY`,`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=Q(`MISSING_OR_INVALID`,`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if(!Vz(e)){let{message:t}=Q(`MISSING_OR_INVALID`,`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=Q(`NO_MATCHING_KEY`,`proposal id doesn't exist: ${e}`);throw Error(t)}if(ZP(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=Q(`EXPIRED`,`proposal id: ${e}`);throw Error(t)}}},BG=class extends EW{constructor(e,t){super(e,t,pG,uG),this.core=e,this.logger=t}},VG=class extends EW{constructor(e,t){super(e,t,hG,uG),this.core=e,this.logger=t}},HG=class extends EW{constructor(e,t){super(e,t,SG,uG,e=>e.id),this.core=e,this.logger=t}},UG=class extends EW{constructor(e,t){super(e,t,TG,OG,()=>kG),this.core=e,this.logger=t}},WG=class extends EW{constructor(e,t){super(e,t,EG,OG),this.core=e,this.logger=t}},GG=class extends EW{constructor(e,t){super(e,t,DG,OG,e=>e.id),this.core=e,this.logger=t}},KG=Object.defineProperty,qG=(e,t,n)=>t in e?KG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JG=(e,t,n)=>qG(e,typeof t==`symbol`?t:t+``,n),YG=class{constructor(e,t){this.core=e,this.logger=t,JG(this,`authKeys`),JG(this,`pairingTopics`),JG(this,`requests`),this.authKeys=new UG(this.core,this.logger),this.pairingTopics=new WG(this.core,this.logger),this.requests=new GG(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}},XG=Object.defineProperty,ZG=(e,t,n)=>t in e?XG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QG=(e,t,n)=>ZG(e,typeof t==`symbol`?t:t+``,n),$G=class e extends er{constructor(e){super(e),QG(this,`protocol`,`wc`),QG(this,`version`,2),QG(this,`name`,dG.name),QG(this,`metadata`),QG(this,`core`),QG(this,`logger`),QG(this,`events`,new jt.EventEmitter),QG(this,`engine`),QG(this,`session`),QG(this,`proposal`),QG(this,`pendingRequest`),QG(this,`auth`),QG(this,`signConfig`),QG(this,`on`,(e,t)=>this.events.on(e,t)),QG(this,`once`,(e,t)=>this.events.once(e,t)),QG(this,`off`,(e,t)=>this.events.off(e,t)),QG(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),QG(this,`removeAllListeners`,e=>this.events.removeAllListeners(e)),QG(this,`connect`,async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`pair`,async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`approve`,async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`reject`,async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`update`,async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`extend`,async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`request`,async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`respond`,async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`ping`,async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`emit`,async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`disconnect`,async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`find`,e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`getPendingSessionRequests`,()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),QG(this,`authenticate`,async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`formatAuthMessage`,e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`approveSessionAuthenticate`,async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`rejectSessionAuthenticate`,async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||dG.name,this.metadata=e?.metadata||IP(),this.signConfig=e?.signConfig;let t=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,v.default)(x({level:e?.logger||dG.logger}));this.core=e?.core||new cG(e),this.logger=g(t,this.name),this.session=new VG(this.core,this.logger),this.proposal=new BG(this.core,this.logger),this.pendingRequest=new HG(this.core,this.logger),this.engine=new zG(this),this.auth=new YG(this.core,this.logger)}static async init(t){let n=new e(t);return await n.initialize(),n}get context(){return D(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(`Initialized`);try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(`SignClient Initialization Success`),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,q.toMiliseconds)(q.ONE_SECOND))}catch(e){throw this.logger.info(`SignClient Initialization Failure`),this.logger.error(e.message),e}}},eK=`error`,tK=`wss://relay.walletconnect.org`,nK=`wc@2:universal_provider:`,rK=`https://rpc.walletconnect.org/v1/`,iK=`generic`,aK=`${rK}bundler`,oK={DEFAULT_CHAIN_CHANGED:`default_chain_changed`};function sK(){}function cK(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function lK(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uK(e){if(cK(e))return e;if(Array.isArray(e)||lK(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),n=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new n(e);if(e instanceof RegExp){let t=new n(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new n(e.buffer.slice(0));if(e instanceof Error){let t=new n(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return typeof File<`u`&&e instanceof File?new n([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e==`object`?Object.assign(Object.create(t),e):e}function dK(e){return typeof e==`object`&&!!e}function fK(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function pK(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var mK=`[object RegExp]`,hK=`[object String]`,gK=`[object Number]`,_K=`[object Boolean]`,vK=`[object Arguments]`,yK=`[object Symbol]`,bK=`[object Date]`,xK=`[object Map]`,SK=`[object Set]`,CK=`[object Array]`,wK=`[object ArrayBuffer]`,TK=`[object Object]`,EK=`[object DataView]`,DK=`[object Uint8Array]`,OK=`[object Uint8ClampedArray]`,kK=`[object Uint16Array]`,AK=`[object Uint32Array]`,jK=`[object Int8Array]`,MK=`[object Int16Array]`,NK=`[object Int32Array]`,PK=`[object Float32Array]`,FK=`[object Float64Array]`;function IK(e,t){return LK(e,void 0,e,new Map,t)}function LK(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!=null)return a;if(cK(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=LK(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,LK(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(LK(a,void 0,n,r,i));return t}if(typeof Buffer<`u`&&Buffer.isBuffer(e))return e.subarray();if(lK(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=LK(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),RK(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),RK(t,e,n,r,i),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),RK(t,e,n,r,i),t}if(e instanceof Error){let t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,RK(t,e,n,r,i),t}if(typeof e==`object`&&zK(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),RK(t,e,n,r,i),t}return e}function RK(e,t,n=e,r,i){let a=[...Object.keys(t),...fK(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=LK(t[s],s,n,r,i))}}function zK(e){switch(pK(e)){case vK:case CK:case wK:case EK:case _K:case bK:case PK:case FK:case jK:case MK:case NK:case xK:case gK:case TK:case mK:case SK:case hK:case yK:case DK:case OK:case kK:case AK:return!0;default:return!1}}function BK(e,t){return IK(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!=null)return o;if(typeof e==`object`)switch(Object.prototype.toString.call(e)){case gK:case hK:case _K:{let t=new e.constructor(e?.valueOf());return RK(t,e),t}case vK:{let t={};return RK(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function VK(e){return BK(e)}function HK(e){return typeof e==`object`&&!!e&&pK(e)===`[object Arguments]`}function UK(e){return lK(e)}function WK(e){if(typeof e!=`object`||!e)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!==`[object Object]`){let t=e[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${t}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function GK(e,...t){let n=t.slice(0,-1),r=t[t.length-1],i=e;for(let e=0;e<n.length;e++){let t=n[e];i=KK(i,t,r,new Map)}return i}function KK(e,t,n,r){if(cK(e)&&(e=Object(e)),typeof t!=`object`||!t)return e;if(r.has(t))return uK(r.get(t));if(r.set(t,e),Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]=t[e]??void 0}let i=[...Object.keys(t),...fK(t)];for(let a=0;a<i.length;a++){let o=i[a],s=t[o],c=e[o];if(HK(s)&&(s={...s}),HK(c)&&(c={...c}),typeof Buffer<`u`&&Buffer.isBuffer(s)&&(s=VK(s)),Array.isArray(s))if(typeof c==`object`&&c){let e=[],t=Reflect.ownKeys(c);for(let n=0;n<t.length;n++){let r=t[n];e[r]=c[r]}c=e}else c=[];let l=n(c,s,o,e,t,r);l==null?Array.isArray(s)||dK(c)&&dK(s)?e[o]=KK(c,s,n,r):c==null&&WK(s)?e[o]=KK({},s,n,r):c==null&&UK(s)?e[o]=VK(s):(c===void 0||s!==void 0)&&(e[o]=s):e[o]=l}return e}function qK(e,...t){return GK(e,...t,sK)}var JK=Object.defineProperty,YK=Object.defineProperties,XK=Object.getOwnPropertyDescriptors,ZK=Object.getOwnPropertySymbols,QK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,eq=(e,t,n)=>t in e?JK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tq=(e,t)=>{for(var n in t||={})QK.call(t,n)&&eq(e,n,t[n]);if(ZK)for(var n of ZK(t))$K.call(t,n)&&eq(e,n,t[n]);return e},nq=(e,t)=>YK(e,XK(t));function rq(e,t,n){let r=TP(e);return t.rpcMap?.[r.reference]||`${rK}?chainId=${r.namespace}:${r.reference}&projectId=${n}`}function iq(e){return e.includes(`:`)?e.split(`:`)[1]:e}function aq(e){return e.map(e=>`${e.split(`:`)[0]}:${e.split(`:`)[1]}`)}function oq(e,t){let n=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!n.length)return[];let r=[];return n.forEach(e=>{let n=t.namespaces[e].accounts;r.push(...n)}),r}function sq(e={},t={}){return qK(cq(e),cq(t))}function cq(e){let t={};if(!yz(e))return t;for(let[n,r]of Object.entries(e)){let e=dz(n)?[n]:r.chains,i=r.methods||[],a=r.events||[],o=r.rpcMap||{},s=fz(n);t[s]=nq(tq(tq({},t[s]),r),{chains:$P(e,t[s]?.chains),methods:$P(i,t[s]?.methods),events:$P(a,t[s]?.events),rpcMap:tq(tq({},o),t[s]?.rpcMap)})}return t}function lq(e){return e.includes(`:`)?e.split(`:`)[2]:e}function uq(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.methods||[],i=r.events||[],a=r.accounts||[];t[n]={chains:dz(n)?[n]:r.chains?r.chains:aq(r.accounts),methods:e,events:i,accounts:a}}return t}function dq(e){return typeof e==`number`?e:e.includes(`0x`)?parseInt(e,16):(e=e.includes(`:`)?e.split(`:`)[1]:e,isNaN(Number(e))?e:Number(e))}var fq={},pq=e=>fq[e],mq=(e,t)=>{fq[e]=t},hq=Object.defineProperty,gq=(e,t,n)=>t in e?hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_q=(e,t,n)=>gq(e,typeof t==`symbol`?t:t+``,n),vq=class{constructor(e){_q(this,`name`,`polkadot`),_q(this,`client`),_q(this,`httpProviders`),_q(this,`events`),_q(this,`namespace`),_q(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},yq=Object.defineProperty,bq=Object.defineProperties,xq=Object.getOwnPropertyDescriptors,Sq=Object.getOwnPropertySymbols,Cq=Object.prototype.hasOwnProperty,wq=Object.prototype.propertyIsEnumerable,Tq=(e,t,n)=>t in e?yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||={})Cq.call(t,n)&&Tq(e,n,t[n]);if(Sq)for(var n of Sq(t))wq.call(t,n)&&Tq(e,n,t[n]);return e},Dq=(e,t)=>bq(e,xq(t)),Oq=(e,t,n)=>Tq(e,typeof t==`symbol`?t:t+``,n),kq=class{constructor(e){Oq(this,`name`,`eip155`),Oq(this,`client`),Oq(this,`chainId`),Oq(this,`namespace`),Oq(this,`httpProviders`),Oq(this,`events`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`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(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}createHttpProvider(e,t){let n=t||rq(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=parseInt(iq(t));e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){let t=e.request.params?e.request.params[0]?.chainId:`0x0`;t=t.startsWith(`0x`)?t:`0x${t}`;let n=parseInt(t,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:t}]},chainId:this.namespace.chains?.[0]}),this.setDefaultChain(`${n}`);else throw 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){let t=e.request?.params?.[0];if(!t)throw Error("Missing address parameter in `wallet_getCapabilities` request");let n=this.client.session.get(e.topic),r=n?.sessionProperties?.capabilities||{};if(r!=null&&r[t])return r?.[t];let i=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Dq(Eq({},n.sessionProperties||{}),{capabilities:Dq(Eq({},r||{}),{[t]:i})})})}catch(e){console.warn(`Failed to update session with capabilities`,e)}return i}async getCallStatus(e){let t=this.client.session.get(e.topic),n=t.sessionProperties?.bundler_name;if(n){let t=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn(`Failed to fetch call status from bundler`,e,t)}}let r=t.sessionProperties?.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,e)}catch(e){console.warn(`Failed to fetch call status from custom bundler`,e,r)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error(`Fetching call status not approved by the wallet.`)}async getUserOperationReceipt(e,t){let n=new URL(e),r=await fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(te(`eth_getUserOperationReceipt`,[t.request.params?.[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${aK}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}},Aq=Object.defineProperty,jq=(e,t,n)=>t in e?Aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mq=(e,t,n)=>jq(e,typeof t==`symbol`?t:t+``,n),Nq=class{constructor(e){Mq(this,`name`,`solana`),Mq(this,`client`),Mq(this,`httpProviders`),Mq(this,`events`),Mq(this,`namespace`),Mq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`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(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},Pq=Object.defineProperty,Fq=(e,t,n)=>t in e?Pq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iq=(e,t,n)=>Fq(e,typeof t==`symbol`?t:t+``,n),Lq=class{constructor(e){Iq(this,`name`,`cosmos`),Iq(this,`client`),Iq(this,`httpProviders`),Iq(this,`events`),Iq(this,`namespace`),Iq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},Rq=Object.defineProperty,zq=(e,t,n)=>t in e?Rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t,n)=>zq(e,typeof t==`symbol`?t:t+``,n),Vq=class{constructor(e){Bq(this,`name`,`algorand`),Bq(this,`client`),Bq(this,`httpProviders`),Bq(this,`events`),Bq(this,`namespace`),Bq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);return typeof n>`u`?void 0:new L(new fe(n,pq(`disableProviderPing`)))}},Hq=Object.defineProperty,Uq=(e,t,n)=>t in e?Hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wq=(e,t,n)=>Uq(e,typeof t==`symbol`?t:t+``,n),Gq=class{constructor(e){Wq(this,`name`,`cip34`),Wq(this,`client`),Wq(this,`httpProviders`),Wq(this,`events`),Wq(this,`namespace`),Wq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=this.getCardanoRPCUrl(t),r=iq(t);e[r]=this.createHttpProvider(r,n)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||this.getCardanoRPCUrl(e);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},Kq=Object.defineProperty,qq=(e,t,n)=>t in e?Kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jq=(e,t,n)=>qq(e,typeof t==`symbol`?t:t+``,n),Yq=class{constructor(e){Jq(this,`name`,`elrond`),Jq(this,`client`),Jq(this,`httpProviders`),Jq(this,`events`),Jq(this,`namespace`),Jq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`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(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},Xq=Object.defineProperty,Zq=(e,t,n)=>t in e?Xq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t,n)=>Zq(e,typeof t==`symbol`?t:t+``,n),$q=class{constructor(e){Qq(this,`name`,`multiversx`),Qq(this,`client`),Qq(this,`httpProviders`),Qq(this,`events`),Qq(this,`namespace`),Qq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`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(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},eJ=Object.defineProperty,tJ=(e,t,n)=>t in e?eJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nJ=(e,t,n)=>tJ(e,typeof t==`symbol`?t:t+``,n),rJ=class{constructor(e){nJ(this,`name`,`near`),nJ(this,`client`),nJ(this,`httpProviders`),nJ(this,`events`),nJ(this,`namespace`),nJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace);return typeof n>`u`?void 0:new L(new fe(n,pq(`disableProviderPing`)))}},iJ=Object.defineProperty,aJ=(e,t,n)=>t in e?iJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oJ=(e,t,n)=>aJ(e,typeof t==`symbol`?t:t+``,n),sJ=class{constructor(e){oJ(this,`name`,`tezos`),oJ(this,`client`),oJ(this,`httpProviders`),oJ(this,`events`),oJ(this,`namespace`),oJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace);return typeof n>`u`?void 0:new L(new fe(n))}},cJ=Object.defineProperty,lJ=(e,t,n)=>t in e?cJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uJ=(e,t,n)=>lJ(e,typeof t==`symbol`?t:t+``,n),dJ=class{constructor(e){uJ(this,`name`,iK),uJ(this,`client`),uJ(this,`httpProviders`),uJ(this,`events`),uJ(this,`namespace`),uJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`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(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){var e;let t={};return(e=this.namespace?.accounts)==null||e.forEach(e=>{let n=TP(e);t[`${n.namespace}:${n.reference}`]=this.createHttpProvider(e)}),t}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new L(new fe(n,pq(`disableProviderPing`)))}},fJ=Object.defineProperty,pJ=Object.defineProperties,mJ=Object.getOwnPropertyDescriptors,hJ=Object.getOwnPropertySymbols,gJ=Object.prototype.hasOwnProperty,_J=Object.prototype.propertyIsEnumerable,vJ=(e,t,n)=>t in e?fJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yJ=(e,t)=>{for(var n in t||={})gJ.call(t,n)&&vJ(e,n,t[n]);if(hJ)for(var n of hJ(t))_J.call(t,n)&&vJ(e,n,t[n]);return e},bJ=(e,t)=>pJ(e,mJ(t)),xJ=(e,t,n)=>vJ(e,typeof t==`symbol`?t:t+``,n),SJ=class e{constructor(e){xJ(this,`client`),xJ(this,`namespaces`),xJ(this,`optionalNamespaces`),xJ(this,`sessionProperties`),xJ(this,`scopedProperties`),xJ(this,`events`,new jt.default),xJ(this,`rpcProviders`,{}),xJ(this,`session`),xJ(this,`providerOpts`),xJ(this,`logger`),xJ(this,`uri`),xJ(this,`disableProviderPing`,!1),this.providerOpts=e,this.logger=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,v.default)(x({level:e?.logger||eK})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(t){let n=new e(t);return await n.initialize(),n}async request(e,t,n){let[r,i]=this.validateChain(t);if(!this.session)throw Error(`Please call connect() before request()`);return await this.getProvider(r).request({request:yJ({},e),chainId:`${r}:${i}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,r){let i=new Date().getTime();this.request(e,n,r).then(e=>t(null,d(i,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error(`Sign Client not initialized`);return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){if(!this.session)throw Error(`Please call connect() before enable()`);await this.client.disconnect({topic:this.session?.topic,reason:_z(`USER_DISCONNECTED`)}),await this.cleanup()}async connect(e){if(!this.client)throw Error(`Sign Client not initialized`);if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error(`Sign Client not initialized`);this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:n,response:r}=await this.client.authenticate(e,t);n&&(this.uri=n,this.events.emit(`display_uri`,n));let i=await r();if(this.session=i.session,this.session){let e=uq(this.session.namespaces);this.namespaces=sq(this.namespaces,e),await this.persist(`namespaces`,this.namespaces),this.onConnect()}return i}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:n}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit(`display_uri`,t));let r=await n();this.session=r;let i=uq(r.namespaces);return this.namespaces=sq(this.namespaces,i),await this.persist(`namespaces`,this.namespaces),await this.persist(`optionalNamespaces`,this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[n,r]=this.validateChain(e),i=this.getProvider(n);i.name===iK?i.setDefaultChain(`${n}:${r}`,t):i.setDefaultChain(r,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info(`Cleaning up inactive pairings...`);let t=this.client.pairing.getAll();if(vz(t)){for(let n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn(`abortPairingAttempt is deprecated. This is now a no-op.`)}async checkStorage(){this.namespaces=await this.getFromStore(`namespaces`)||{},this.optionalNamespaces=await this.getFromStore(`optionalNamespaces`)||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(`Initialized`),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){if(this.client=this.providerOpts.client||await $G.init({core:this.providerOpts.core,logger:this.providerOpts.logger||eK,relayUrl:this.providerOpts.relayUrl||tK,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(e){throw this.logger.error(`Failed to get session`,e),Error(`The provided session: ${this.providerOpts?.session?.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace(`SignClient Initialized`)}createProviders(){if(!this.client)throw Error(`Sign Client not initialized`);if(!this.session)throw Error(`Session not initialized. Please call connect() before enable()`);let e=[...new Set(Object.keys(this.session.namespaces).map(e=>fz(e)))];mq(`client`,this.client),mq(`events`,this.events),mq(`disableProviderPing`,this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=oq(e,this.session),n=aq(t),r=bJ(yJ({},sq(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:n});switch(e){case`eip155`:this.rpcProviders[e]=new kq({namespace:r});break;case`algorand`:this.rpcProviders[e]=new Vq({namespace:r});break;case`solana`:this.rpcProviders[e]=new Nq({namespace:r});break;case`cosmos`:this.rpcProviders[e]=new Lq({namespace:r});break;case`polkadot`:this.rpcProviders[e]=new vq({namespace:r});break;case`cip34`:this.rpcProviders[e]=new Gq({namespace:r});break;case`elrond`:this.rpcProviders[e]=new Yq({namespace:r});break;case`multiversx`:this.rpcProviders[e]=new $q({namespace:r});break;case`near`:this.rpcProviders[e]=new rJ({namespace:r});break;case`tezos`:this.rpcProviders[e]=new sJ({namespace:r});break;default:this.rpcProviders[iK]?this.rpcProviders[iK].updateNamespace(r):this.rpcProviders[iK]=new dJ({namespace:r})}})}registerEventListeners(){if(typeof this.client>`u`)throw Error(`Sign Client is not initialized`);this.client.on(`session_ping`,e=>{let{topic:t}=e;t===this.session?.topic&&this.events.emit(`session_ping`,e)}),this.client.on(`session_event`,e=>{let{params:t,topic:n}=e;if(n!==this.session?.topic)return;let{event:r}=t;if(r.name===`accountsChanged`){let e=r.data;e&&vz(e)&&this.events.emit(`accountsChanged`,e.map(lq))}else if(r.name===`chainChanged`){let e=t.chainId,n=t.event.data,r=fz(e),i=dq(e)===dq(n)?e:`${r}:${dq(n)}`;this.onChainChanged(i)}else this.events.emit(r.name,r.data);this.events.emit(`session_event`,e)}),this.client.on(`session_update`,({topic:e,params:t})=>{if(e!==this.session?.topic)return;let{namespaces:n}=t,r=this.client?.session.get(e);this.session=bJ(yJ({},r),{namespaces:n}),this.onSessionUpdate(),this.events.emit(`session_update`,{topic:e,params:t})}),this.client.on(`session_delete`,async e=>{e.topic===this.session?.topic&&(await this.cleanup(),this.events.emit(`session_delete`,e),this.events.emit(`disconnect`,bJ(yJ({},_z(`USER_DISCONNECTED`)),{data:e.topic})))}),this.on(oK.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[iK]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{this.getProvider(e).updateNamespace(this.session?.namespaces[e])})}setNamespaces(e){let{namespaces:t,optionalNamespaces:n,sessionProperties:r,scopedProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=r,this.scopedProperties=i}validateChain(e){let[t,n]=e?.split(`:`)||[``,``];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(e=>fz(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];let r=fz(Object.keys(this.namespaces)[0]);return[r,this.rpcProviders[r].getDefaultChain()]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[n,r]=this.validateChain(e);r&&(t||this.getProvider(n).setDefaultChain(r),this.namespaces[n]?this.namespaces[n].defaultChain=r:this.namespaces[`${n}:${r}`]?this.namespaces[`${n}:${r}`].defaultChain=r:this.namespaces[`${n}:${r}`]={defaultChain:r},this.events.emit(`chainChanged`,r),await this.persist(`namespaces`,this.namespaces))}onConnect(){this.createProviders(),this.events.emit(`connect`,{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(`namespaces`),await this.deleteFromStore(`optionalNamespaces`),await this.deleteFromStore(`sessionProperties`),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){let n=this.session?.topic||``;await this.client.core.storage.setItem(`${nK}/${e}${n}`,t)}async getFromStore(e){let t=this.session?.topic||``;return await this.client.core.storage.getItem(`${nK}/${e}${t}`)}async deleteFromStore(e){let t=this.session?.topic||``;await this.client.core.storage.removeItem(`${nK}/${e}${t}`)}async cleanupStorage(){try{if(this.client?.session.length>0)return;let e=await this.client.core.storage.getKeys();for(let t of e)t.startsWith(nK)&&await this.client.core.storage.removeItem(t)}catch(e){this.logger.warn(`Failed to cleanup storage`,e)}}},CJ={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};function wJ(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}var TJ=wJ({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`}),EJ=wJ({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`}),DJ=wJ({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`});wJ({id:`000000000019d6689c085ae165831e93`,caipNetworkId:`bip122:000000000019d6689c085ae165831e93`,chainNamespace:`bip122`,name:`Bitcoin`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}}}),wJ({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});var OJ={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`]},kJ={getMethodsByChainNamespace(e){return OJ[e]||[]},createDefaultNamespace(e){return{methods:this.getMethodsByChainNamespace(e),events:[`accountsChanged`,`chainChanged`],chains:[],rpcMap:{}}},applyNamespaceOverrides(e,t){if(!t)return{...e};let n={...e},r=new Set;if(t.methods&&Object.keys(t.methods).forEach(e=>r.add(e)),t.chains&&Object.keys(t.chains).forEach(e=>r.add(e)),t.events&&Object.keys(t.events).forEach(e=>r.add(e)),t.rpcMap&&Object.keys(t.rpcMap).forEach(e=>{let[t]=e.split(`:`);t&&r.add(t)}),r.forEach(e=>{n[e]||(n[e]=this.createDefaultNamespace(e))}),t.methods&&Object.entries(t.methods).forEach(([e,t])=>{n[e]&&(n[e].methods=t)}),t.chains&&Object.entries(t.chains).forEach(([e,t])=>{n[e]&&(n[e].chains=t)}),t.events&&Object.entries(t.events).forEach(([e,t])=>{n[e]&&(n[e].events=t)}),t.rpcMap){let e=new Set;Object.entries(t.rpcMap).forEach(([t,r])=>{let[i,a]=t.split(`:`);!i||!a||!n[i]||(n[i].rpcMap||(n[i].rpcMap={}),e.has(i)||(n[i].rpcMap={},e.add(i)),n[i].rpcMap[a]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:i}=t,a=i.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let o=`${r}:${n}`,s=e[r];switch(s.chains.push(o),o){case TJ.caipNetworkId:s.chains.push(TJ.deprecatedCaipNetworkId);break;case EJ.caipNetworkId:s.chains.push(EJ.deprecatedCaipNetworkId);break;default:}return s?.rpcMap&&a&&(s.rpcMap[n]=a),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await cf.resolveName(e);return(Object.values(t?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let[t,n]=e.split(`:`);return`${t}:${n}`});return Array.from(new Set([...t,...n]))})},isSessionEventData(e){return typeof e==`object`&&!!e&&`id`in e&&`topic`in e&&`params`in e&&typeof e.params==`object`&&e.params!==null&&`chainId`in e.params&&`event`in e.params&&typeof e.params.event==`object`&&e.params.event!==null}},AJ=class{constructor({provider:e,caipNetworks:t,namespace:n}){this.id=B.CONNECTOR_ID.WALLET_CONNECT,this.name=lf.ConnectorNamesMap[B.CONNECTOR_ID.WALLET_CONNECT],this.type=`WALLET_CONNECT`,this.imageId=lf.ConnectorImageIds[B.CONNECTOR_ID.WALLET_CONNECT],this.caipNetworks=t,this.provider=e,this.chain=n}get chains(){return this.caipNetworks}async connectWalletConnect(){if(!await this.authenticate()){let e=y.state.universalProviderConfigOverride,t=kJ.createNamespaces(this.caipNetworks,e);await this.provider.connect({optionalNamespaces:t})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){let e=this.chains.map(e=>e.caipNetworkId);return F.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:jJ})}},jJ=[`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`],MJ=class{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:B.CONNECTOR_ID.AUTH,type:`AUTH`,name:B.CONNECTOR_NAMES.AUTH,provider:e,imageId:lf.ConnectorImageIds[B.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){let t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(e=>t.has(e.id)?!1:(t.add(e.id),!0)),this.emit(`connectors`,this.availableConnectors)}setStatus(e,t){z.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){let n=this.eventListeners.get(e);n&&n.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){let n=this.eventListeners.get(e);n&&n.forEach(e=>e(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){let{caipNetwork:t,providerType:n}=e;if(!e.provider)return;let r=`provider`in e.provider?e.provider.provider:e.provider;if(n===`WALLET_CONNECT`){r.setDefaultChain(t.caipNetworkId);return}if(r&&n===`AUTH`){let e=r;await e.switchNetwork(t.caipNetworkId);let n=await e.getUser({chainId:t.caipNetworkId,preferredAccountType:y.state.defaultAccountTypes[t.chainNamespace]});this.emit(`switchNetwork`,n)}}getWalletConnectConnector(){let e=this.connectors.find(e=>e instanceof AJ);if(!e)throw Error(`WalletConnectConnector not found`);return e}},NJ=class extends MJ{setUniversalProvider(e){this.addConnector(new AJ({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}){let t=this.provider?.session?.namespaces?.[e]?.accounts?.map(e=>{let[,,t]=e.split(`:`);return t}).filter((e,t,n)=>n.indexOf(e)===t)||[];return Promise.resolve({accounts:t.map(t=>P.createAccount(e,t,e===`bip122`?`payment`:`eoa`))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&u.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:`0.00`,symbol:e.caipNetwork?.nativeCurrency.symbol||``};if(z.state.balanceLoading&&e.chainId===G.state.activeCaipNetwork?.id)return{balance:z.state.balance||`0.00`,symbol:z.state.balanceSymbol||``};let t=(await z.fetchTokenBalance()).find(t=>t.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&t.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:t?.quantity.numeric||`0.00`,symbol:t?.symbol||e.caipNetwork?.nativeCurrency.symbol||``}}async signMessage(e){let{provider:t,message:n,address:r}=e;if(!t)throw Error(`UniversalAdapter:signMessage - provider is undefined`);let i=``;return i=G.state.activeCaipNetwork?.chainNamespace===B.CHAIN.SOLANA?(await t.request({method:`solana_signMessage`,params:{message:Fs.encode(new TextEncoder().encode(n)),pubkey:r}},G.state.activeCaipNetwork?.caipNetworkId)).signature:await t.request({method:`personal_sign`,params:[n,r]},G.state.activeCaipNetwork?.caipNetworkId),{signature:i}}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){let{caipNetwork:t}=e,n=this.getWalletConnectConnector();if(t.chainNamespace===B.CHAIN.EVM)try{await n.provider?.request({method:`wallet_switchEthereumChain`,params:[{chainId:Hu(t.id)}]})}catch(e){if(e.code===CJ.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||e.code===CJ.ERROR_INVALID_CHAIN_ID||e.code===CJ.ERROR_CODE_DEFAULT||e?.data?.originalError?.code===CJ.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await n.provider?.request({method:`wallet_addEthereumChain`,params:[{chainId:Hu(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw Error(`Chain is not supported`)}}n.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(e=>e.type===`WALLET_CONNECT`)?.provider}},PJ=class{constructor(e){this.hasSwitchedToPreferredAccountTypeOnConnect=!1,this.chainNamespaces=[],this.reportedAlertErrors={},this.getCaipNetwork=e=>e?G.getNetworkData(e)?.caipNetwork||G.getRequestedCaipNetworks(e).filter(t=>t.chainNamespace===e)?.[0]:G.state.activeCaipNetwork||this.defaultCaipNetwork,this.getCaipNetworkId=()=>{let e=this.getCaipNetwork();if(e)return e.id},this.getCaipNetworks=e=>G.getRequestedCaipNetworks(e),this.getActiveChainNamespace=()=>G.state.activeChain,this.setRequestedCaipNetworks=(e,t)=>{G.setRequestedCaipNetworks(e,t)},this.getApprovedCaipNetworkIds=()=>G.getAllApprovedCaipNetworkIds(),this.getCaipAddress=e=>G.state.activeChain===e||!e?G.state.activeCaipAddress:G.getAccountProp(`caipAddress`,e),this.setClientId=e=>{V.setClientId(e)},this.getProvider=e=>yf.getProvider(e),this.getProviderType=e=>yf.getProviderId(e),this.getPreferredAccountType=()=>z.state.preferredAccountType,this.setCaipAddress=(e,t)=>{z.setCaipAddress(e,t)},this.setBalance=(e,t,n)=>{z.setBalance(e,t,n)},this.setProfileName=(e,t)=>{z.setProfileName(e,t)},this.setProfileImage=(e,t)=>{z.setProfileImage(e,t)},this.setUser=(e,t)=>{z.setUser(e,t),y.state.enableEmbedded&&ce.close()},this.resetAccount=e=>{z.resetAccount(e)},this.setCaipNetwork=e=>{G.setActiveCaipNetwork(e)},this.setCaipNetworkOfNamespace=(e,t)=>{G.setChainNetworkData(t,{caipNetwork:e})},this.setAllAccounts=(e,t)=>{z.setAllAccounts(e,t),y.setHasMultipleAddresses(e?.length>1)},this.setStatus=(e,t)=>{z.setStatus(e,t),_.isConnected()?E.setConnectionStatus(`connected`):E.setConnectionStatus(`disconnected`)},this.getAddressByChainNamespace=e=>G.getAccountProp(`address`,e),this.setConnectors=e=>{let t=[..._.getConnectors(),...e];_.setConnectors(t)},this.fetchIdentity=e=>V.fetchIdentity(e),this.getReownName=e=>cf.getNamesForAddress(e),this.getConnectors=()=>_.getConnectors(),this.getConnectorImage=e=>N.getConnectorImage(e),this.setConnectedWalletInfo=(e,t)=>{let n=yf.getProviderId(t),r=e?{...e,type:n}:void 0;z.setConnectedWalletInfo(r,t)},this.getIsConnectedState=()=>!!G.state.activeCaipAddress,this.addAddressLabel=(e,t,n)=>{z.addAddressLabel(e,t,n)},this.removeAddressLabel=(e,t)=>{z.removeAddressLabel(e,t)},this.getAddress=e=>G.state.activeChain===e||!e?z.state.address:G.getAccountProp(`address`,e),this.setApprovedCaipNetworksData=e=>G.setApprovedCaipNetworksData(e),this.resetNetwork=e=>{G.resetNetwork(e)},this.addConnector=e=>{_.addConnector(e)},this.resetWcConnection=()=>{H.resetWcConnection()},this.setAddressExplorerUrl=(e,t)=>{z.setAddressExplorerUrl(e,t)},this.setSmartAccountDeployed=(e,t)=>{z.setSmartAccountDeployed(e,t)},this.setSmartAccountEnabledNetworks=(e,t)=>{G.setSmartAccountEnabledNetworks(e,t)},this.setPreferredAccountType=(e,t)=>{z.setPreferredAccountType(e,t)},this.setEIP6963Enabled=e=>{y.setEIP6963Enabled(e)},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(e=>e.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(),ee.set({initialized:!0})}sendInitializeEvent(e){let{...t}=e;delete t.adapters,b.sendEvent({type:`track`,event:`INITIALIZE`,properties:{...t,networks:e.networks.map(e=>e.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&&A.setThemeMode(e.themeMode),e.themeVariables&&A.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw Error(`ConnectionControllerClient and NetworkControllerClient must be set`);G.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});let t=this.getDefaultNetwork();t&&G.setActiveCaipNetwork(t)}initializeConnectionController(e){H.setWcBasic(e.basic??!1)}initializeConnectorController(){_.initialize(this.chainNamespaces)}initializeOptionsController(e){y.setDebug(e.debug!==!1),y.setEnableWalletConnect(e.enableWalletConnect!==!1),y.setEnableWalletGuide(e.enableWalletGuide!==!1),y.setEnableWallets(e.enableWallets!==!1),y.setEIP6963Enabled(e.enableEIP6963!==!1),y.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),y.setEnableAuthLogger(e.enableAuthLogger!==!1),y.setCustomRpcUrls(e.customRpcUrls),y.setSdkVersion(e.sdkVersion),y.setProjectId(e.projectId),y.setEnableEmbedded(e.enableEmbedded),y.setAllWallets(e.allWallets),y.setIncludeWalletIds(e.includeWalletIds),y.setExcludeWalletIds(e.excludeWalletIds),y.setFeaturedWalletIds(e.featuredWalletIds),y.setTokens(e.tokens),y.setTermsConditionsUrl(e.termsConditionsUrl),y.setPrivacyPolicyUrl(e.privacyPolicyUrl),y.setCustomWallets(e.customWallets),y.setFeatures(e.features),y.setAllowUnsupportedChain(e.allowUnsupportedChain),y.setDefaultAccountTypes(e.defaultAccountTypes),y.setUniversalProviderConfigOverride(e.universalProviderConfigOverride);let t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),y.setMetadata(e.metadata),y.setDisableAppend(e.disableAppend),y.setEnableEmbedded(e.enableEmbedded),y.setSIWX(e.siwx),!e.projectId){ae.open(uf.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}if(e.adapters?.find(e=>e.namespace===B.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw Error("Cannot set both `siweConfig` and `siwx` options");y.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){let t=this.getActiveChainNamespace();if(t){let n=gf.getUnsupportedNetwork(`${t}:${e}`);G.setActiveCaipNetwork(n)}}getDefaultNetwork(){return gf.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return gf.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return gf.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){let t=e.networks.find(t=>t.id===e.defaultNetwork?.id);return t?gf.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{let e=G.state.activeChain,t=this.getAdapter(e),n=this.getCaipNetwork(e)?.id;if(!t)throw Error(`Adapter not found`);let r=await t.connectWalletConnect(n);this.close(),this.setClientId(r?.clientId||null),E.setConnectedNamespaces([...G.state.chains.keys()]),this.chainNamespaces.forEach(e=>{_.setConnectorId(K.CONNECTOR_TYPE_WALLET_CONNECT,e)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:t,type:n,provider:r,chain:i,caipNetwork:a})=>{let o=G.state.activeChain,s=i||o,c=this.getAdapter(s);if(i&&i!==o&&!a){let e=this.caipNetworks?.find(e=>e.chainNamespace===i);e&&this.setCaipNetwork(e)}if(!c)throw Error(`Adapter not found`);let l=this.getCaipNetwork(s),u=await c.connect({id:e,info:t,type:n,provider:r,chainId:a?.id||l?.id,rpcUrl:a?.rpcUrls?.default?.http?.[0]||l?.rpcUrls?.default?.http?.[0]});if(!u)return;E.addConnectedNamespace(s),this.syncProvider({...u,chainNamespace:s}),await this.syncAccount({...u,chainNamespace:s});let{accounts:d}=await c.getAccounts({namespace:s,id:e});this.setAllAccounts(d,s)},reconnectExternal:async({id:e,info:t,type:n,provider:r})=>{let i=G.state.activeChain,a=this.getAdapter(i);a?.reconnect&&(await a?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),E.addConnectedNamespace(i))},disconnect:async e=>{let t=e||G.state.activeChain,n=this.getAdapter(t),r=yf.getProvider(t),i=yf.getProviderId(t);await n?.disconnect({provider:r,providerType:i}),E.removeConnectedNamespace(t),yf.resetChain(t),this.setUser(void 0,t),this.setStatus(`disconnected`,t),this.hasSwitchedToPreferredAccountTypeOnConnect=!1},checkInstalled:e=>e?e.some(e=>!!window.ethereum?.[String(e)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(G.state.activeChain)?.signMessage({message:e,address:z.state.address,provider:yf.getProvider(G.state.activeChain)}))?.signature||``,sendTransaction:async e=>{if(e.chainNamespace===B.CHAIN.EVM){let t=this.getAdapter(G.state.activeChain),n=yf.getProvider(G.state.activeChain);return(await t?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:n}))?.hash||``}return``},estimateGas:async e=>{if(e.chainNamespace===B.CHAIN.EVM){let t=this.getAdapter(G.state.activeChain),n=yf.getProvider(G.state.activeChain),r=this.getCaipNetwork();if(!r)throw Error(`CaipNetwork is undefined`);return(await t?.estimateGas({...e,provider:n,caipNetwork:r}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.getAdapter(G.state.activeChain)?.getProfile({address:z.state.address,chainId:Number(this.getCaipNetwork()?.id)}))?.profileImage||!1,getEnsAddress:async e=>{let t=this.getAdapter(G.state.activeChain),n=this.getCaipNetwork();return n&&(await t?.getEnsAddress({name:e,caipNetwork:n}))?.address||!1},writeContract:async e=>{let t=this.getAdapter(G.state.activeChain),n=this.getCaipNetwork(),r=this.getCaipAddress(),i=yf.getProvider(G.state.activeChain);if(!n||!r)throw Error(`CaipNetwork or CaipAddress is undefined`);return(await t?.writeContract({...e,caipNetwork:n,provider:i,caipAddress:r}))?.hash},parseUnits:(e,t)=>this.getAdapter(G.state.activeChain)?.parseUnits({value:e,decimals:t})??0n,formatUnits:(e,t)=>this.getAdapter(G.state.activeChain)?.formatUnits({value:e,decimals:t})??`0`,getCapabilities:async e=>await this.getAdapter(G.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(G.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{let t=this.getAdapter(G.state.activeChain);return t?.revokePermissions?await t.revokePermissions(e):`0x`},walletGetAssets:async e=>await this.getAdapter(G.state.activeChain)?.walletGetAssets(e)??{}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},H.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(yf.getProviderId(G.state.activeChain)===K.CONNECTOR_TYPE_WALLET_CONNECT){let e=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name===`MetaMask Wallet`,approvedCaipNetworkIds:this.getChainsFromNamespaces(e)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;let t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){let n=yf.getProvider(t),r=yf.getProviderId(t);if(e.chainNamespace===G.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:n,providerType:r});else if(this.setCaipNetwork(e),r===K.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{let n=this.getAddressByChainNamespace(t);n&&this.syncAccount({address:n,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let{chainId:t,chainNamespace:n}=qe.parseCaipAddress(e);return`${n}:${t}`});return Array.from(new Set([...t,...n]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,n)=>{let r=e?.find(e=>e.namespace===n);return r?(t[n]=r,t[n].namespace=n,t[n].construct({namespace:n,projectId:this.options?.projectId,networks:this.caipNetworks})):t[n]=new NJ({namespace:n,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){let t=this.getAdapter(e);if(!t)return;let n=E.getConnectionStatus();n===`connected`?this.setStatus(`connecting`,e):(n===`disconnected`&&E.clearAddressCache(),this.setStatus(n,e)),t.on(`switchNetwork`,({address:t,chainId:n})=>{let r=this.caipNetworks?.find(e=>e.id===n||e.caipNetworkId===n),i=G.state.activeChain===e,a=G.getAccountProp(`address`,e);if(r){let r=i&&t?t:a;r&&this.syncAccount({address:r,chainId:n,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on(`disconnect`,this.disconnect.bind(this,e)),t.on(`pendingTransactions`,()=>{let e=z.state.address,t=G.state.activeCaipNetwork;!e||!t?.id||this.updateNativeBalance(e,t.id,t.chainNamespace)}),t.on(`accountChanged`,({address:t,chainId:n})=>{let r=G.state.activeChain===e;r&&n?this.syncAccount({address:t,chainId:n,chainNamespace:e}):r&&G.state.activeCaipNetwork?.id?this.syncAccount({address:t,chainId:G.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(t,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{let t=_.getConnectorId(e);switch(this.setStatus(`connecting`,e),t){case B.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case B.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){let t=this.getAdapter(e),n=_.getConnectorId(e),r=this.getCaipNetwork(e),i=_.getConnectors(e).find(e=>e.id===n);try{if(!t||!i)throw Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw Error(`CaipNetwork not found`);let n=await t?.syncConnection({namespace:e,id:i.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});if(n){let r=await t?.getAccounts({namespace:e,id:i.id});r&&r.accounts.length>0?this.setAllAccounts(r.accounts,e):this.setAllAccounts([P.createAccount(e,n.address,`eoa`)],e),this.syncProvider({...n,chainNamespace:e}),await this.syncAccount({...n,chainNamespace:e}),this.setStatus(`connected`,e)}else this.setStatus(`disconnected`,e)}catch{this.setStatus(`disconnected`,e)}}async syncWalletConnectAccount(){let e=this.chainNamespaces.map(async e=>{let t=this.getAdapter(e),n=this.universalProvider?.session?.namespaces?.[e]?.accounts||[],r=G.state.activeCaipNetwork?.id,i=n.find(e=>{let{chainId:t}=qe.parseCaipAddress(e);return t===r?.toString()})||n[0];if(i){let n=qe.validateCaipAddress(i),{chainId:r,address:a}=qe.parseCaipAddress(n);if(yf.setProviderId(e,K.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&G.state.activeCaipNetwork&&t?.namespace!==B.CHAIN.EVM){let n=t?.getWalletConnectProvider({caipNetworks:this.caipNetworks,provider:this.universalProvider,activeCaipNetwork:G.state.activeCaipNetwork});yf.setProvider(e,n)}else yf.setProvider(e,this.universalProvider);_.setConnectorId(B.CONNECTOR_ID.WALLET_CONNECT,e),E.addConnectedNamespace(e),this.syncWalletConnectAccounts(e),await this.syncAccount({address:a,chainId:r,chainNamespace:e})}else this.setStatus(`disconnected`,e);await G.setApprovedCaipNetworksData(e)});await Promise.all(e)}syncWalletConnectAccounts(e){let t=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(e=>{let{address:t}=qe.parseCaipAddress(e);return t}).filter((e,t,n)=>n.indexOf(e)===t);t&&this.setAllAccounts(t.map(t=>P.createAccount(e,t,e===`bip122`?`payment`:`eoa`)),e)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){yf.setProviderId(r,e),yf.setProvider(r,t),_.setConnectorId(n,r)}async syncAccount(e){let t=e.chainNamespace===G.state.activeChain,n=G.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:a}=e,{chainId:o}=E.getActiveNetworkProps(),s=i||o,c=G.state.activeCaipNetwork?.name===B.UNSUPPORTED_NETWORK_NAME,l=G.getNetworkProp(`supportsAllNetworks`,a);if(this.setStatus(`connected`,a),!(c&&!l)&&s){let e=this.caipNetworks?.find(e=>e.id.toString()===s.toString()),i=this.caipNetworks?.find(e=>e.chainNamespace===a);if(!l&&!e&&!i){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>qe.parseCaipNetworkId(e)?.chainId===s.toString()),r=t.find(e=>qe.parseCaipNetworkId(e)?.chainNamespace===a);e=this.caipNetworks?.find(e=>e.caipNetworkId===n),i=this.caipNetworks?.find(e=>e.caipNetworkId===r||`deprecatedCaipNetworkId`in e&&e.deprecatedCaipNetworkId===r)}let o=e||i;o?.chainNamespace===G.state.activeChain?y.state.enableNetworkSwitch&&!y.state.allowUnsupportedChain&&G.state.activeCaipNetwork?.name===B.UNSUPPORTED_NETWORK_NAME?G.showUnsupportedChainUI():this.setCaipNetwork(o):t||n&&this.setCaipNetworkOfNamespace(n,a),this.syncConnectedWalletInfo(a),he.isLowerCaseMatch(r,z.state.address)||this.syncAccountInfo(r,o?.id,a),t?await this.syncBalance({address:r,chainId:o?.id,chainNamespace:a}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:a})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),i=t||r?.split(`:`)[1];if(!i)return;let a=`${n}:${i}:${e}`;this.setCaipAddress(a,n),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,t){try{let n=await this.getReownName(e);if(n[0]){let e=n[0];this.setProfileName(e.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){let t=_.getConnectorId(e),n=yf.getProviderId(e);if(n===K.CONNECTOR_TYPE_ANNOUNCED||n===K.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>e.id===t);if(n){let{info:t,name:r,imageUrl:i}=n,a=i||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:a,...t},e)}}}else if(n===K.CONNECTOR_TYPE_WALLET_CONNECT){let t=yf.getProvider(e);t?.session&&this.setConnectedWalletInfo({...t.session.peer.metadata,name:t.session.peer.metadata.name,icon:t.session.peer.metadata.icons?.[0]},e)}else if(t)if(t===B.CONNECTOR_ID.COINBASE){let t=this.getConnectors().find(e=>e.id===B.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:`Coinbase Wallet`,icon:this.getConnectorImage(t)},e)}else this.setConnectedWalletInfo({name:t},e)}async syncBalance(e){!se.getNetworksByNamespace(this.caipNetworks,e.chainNamespace).find(t=>t.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async updateNativeBalance(e,t,n){let r=this.getAdapter(n);if(r){let i=await r.getBalance({address:e,chainId:t,caipNetwork:this.getCaipNetwork(n),tokens:this.options.tokens});this.setBalance(i.balance,i.symbol,n)}}async initializeUniversalAdapter(){let e=ff.createLogger((e,...t)=>{e&&this.handleAlertError(e),console.error(...t)}),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};y.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await SJ.init(t),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on(`display_uri`,e=>{H.setUri(e)}),this.universalProvider.on(`connect`,H.finalizeWcConnection),this.universalProvider.on(`disconnect`,()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),H.resetWcConnection()}),this.universalProvider.on(`chainChanged`,e=>{let t=this.caipNetworks?.find(t=>t.id==e),n=this.getCaipNetwork();if(!t){this.setUnsupportedNetwork(e);return}n?.id!==t?.id&&this.setCaipNetwork(t)}),this.universalProvider.on(`session_event`,e=>{if(kJ.isSessionEventData(e)){let{name:t,data:n}=e.params.event;t===`accountsChanged`&&Array.isArray(n)&&P.isCaipAddress(n[0])&&this.syncAccount(qe.parseCaipAddress(n[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&P.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){b.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){let[t,n]=Object.entries(uf.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:i}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=uf.ALERT_ERRORS[i];e&&(ae.open(e,`error`),this.reportedAlertErrors[t]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;let t=e.namespace;if(!t)return;this.createClients();let n=e;n.namespace=t,n.construct({namespace:t,projectId:this.options?.projectId,networks:this.caipNetworks}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=n)}async open(e){await this.injectModalUi(),e?.uri&&H.setUri(e.uri),await ce.open(e)}async close(){await this.injectModalUi(),ce.close()}setLoading(e,t){ce.setLoading(e,t)}async disconnect(e){await H.disconnect(e)}getError(){return``}getChainId(){return G.state.activeCaipNetwork?.id}async switchNetwork(e){let t=this.caipNetworks?.find(t=>t.id===e.id);if(!t){ae.open(uf.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,`error`);return}await G.switchActiveNetwork(t)}getWalletProvider(){return G.state.activeChain?yf.state.providers[G.state.activeChain]:null}getWalletProviderType(){return yf.getProviderId(G.state.activeChain)}subscribeProviders(e){return yf.subscribeProviders(e)}getThemeMode(){return A.state.themeMode}getThemeVariables(){return A.state.themeVariables}setThemeMode(e){A.setThemeMode(e),R(A.state.themeMode)}setTermsConditionsUrl(e){y.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){y.setPrivacyPolicyUrl(e)}setThemeVariables(e){A.setThemeVariables(e),ne(A.state.themeVariables)}subscribeTheme(e){return A.subscribe(e)}getWalletInfo(){return z.state.connectedWalletInfo}getAccount(e){let t=_.getAuthConnector(e),n=G.getAccountData(e);if(n)return{allAccounts:n.allAccounts,caipAddress:n.caipAddress,address:P.getPlainAddress(n.caipAddress),isConnected:!!n.caipAddress,status:n.status,embeddedWalletInfo:t?{user:n.user,authProvider:n.socialProvider||`email`,accountType:n.preferredAccountType,isSmartAccountDeployed:!!n.smartAccountDeployed}:void 0}}subscribeAccount(e,t){let n=()=>{let n=this.getAccount(t);n&&e(n)};t?G.subscribeChainProp(`accountState`,n,t):G.subscribe(n),_.subscribe(n)}subscribeNetwork(e){return G.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e){return z.subscribeKey(`connectedWalletInfo`,e)}subscribeShouldUpdateToAddress(e){z.subscribeKey(`shouldUpdateToAddress`,e)}subscribeCaipNetworkChange(e){G.subscribeKey(`activeCaipNetwork`,e)}getState(){return ee.state}subscribeState(e){return ee.subscribe(e)}showErrorMessage(e){le.showError(e)}showSuccessMessage(e){le.showSuccess(e)}getEvent(){return{...b.state}}subscribeEvents(e){return b.subscribe(e)}replace(e){M.replace(e)}redirect(e){M.push(e)}popTransactionStack(e){M.popTransactionStack(e)}isOpen(){return ce.state.open}isTransactionStackEmpty(){return M.state.transactionStack.length===0}isTransactionShouldReplaceView(){return M.state.transactionStack[M.state.transactionStack.length-1]?.replace}static getInstance(){return this.instance}updateFeatures(e){y.setFeatures(e)}updateOptions(e){let t={...y.state||{},...e};y.setOptions(t)}setConnectMethodsOrder(e){y.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){y.setWalletFeaturesOrder(e)}setCollapseWallets(e){y.setCollapseWallets(e)}setSocialsOrder(e){y.setSocialsOrder(e)}getConnectMethodsOrder(){return me.getConnectOrderMethod(y.state.features,_.getConnectors())}removeAdapter(e){let t=this.getIsConnectedState(),n=this.getAdapter(e);if(!n||!this.chainAdapters||t)return;let r=this.caipNetworks?.filter(t=>t.chainNamespace!==e);G.removeAdapter(e),_.removeAdapter(e),this.chainNamespaces=this.chainNamespaces.filter(t=>t!==e),this.caipNetworks=r,n.removeAllEventListeners(),Reflect.deleteProperty(this.chainAdapters,e)}addAdapter(e,t){let n=e.namespace;if(!this.connectionControllerClient||!this.networkControllerClient||!this.chainAdapters||!n)return;let r=this.extendCaipNetworks({...this.options,networks:t});this.caipNetworks=[...this.caipNetworks||[],...r],this.createAdapter(e),this.initChainAdapter(n),G.addAdapter(e,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient},r)}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);let n=this.extendCaipNetwork(t,this.options);G.addNetwork(n),this.caipNetworks&&!this.caipNetworks?.find(e=>e.id===n.id)&&this.caipNetworks.push(n)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);if(!this.caipNetworks?.find(e=>e.id===t))throw Error(`Network with ID ${t} not found`);if(!this.caipNetworks)return;let n=this.caipNetworks.filter(n=>n.chainNamespace===e&&n.id!==t);if(!n?.length)throw Error(`Cannot remove last network for a namespace`);G.removeNetwork(e,t),this.caipNetworks=[...n]}},FJ=!1,IJ=class extends PJ{async open(e){_.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&H.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!FJ&&P.isClient()){if(await a(()=>import(`./basic-CPefaDNi.js`),__vite__mapDeps([5,6,1,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),await a(()=>import(`./w3m-modal-CcAeUAZf.js`),__vite__mapDeps([34,30,31,7,32,1])),!document.querySelector(`w3m-modal`)){let e=document.createElement(`w3m-modal`);!y.state.disableAppend&&!y.state.enableEmbedded&&document.body.insertAdjacentElement(`beforeend`,e)}FJ=!0}}},LJ=`1.7.2`;function RJ(e){return new IJ({...e,basic:!0,sdkVersion:`html-core-${LJ}`})}var zJ=class e extends Error{constructor(){super(),Object.setPrototypeOf(this,e.prototype)}},BJ=class extends Error{constructor(e){super(`WalletConnect Adapter - Method ${e} is not supported by the wallet`),this.name=`WalletConnectFeatureNotSupportedError`}};function VJ(e){let t=[e];return e===Tp.Mainnet||e===Tp.Deprecated_Mainnet?(t=[Tp.Mainnet,Tp.Deprecated_Mainnet],e===Tp.Deprecated_Mainnet&&console.warn(HJ.mainnet)):(e===Tp.Deprecated_Devnet||e===Tp.Devnet)&&(t=[Tp.Devnet,Tp.Deprecated_Devnet],Tp.Deprecated_Devnet&&console.warn(HJ.devnet)),t}var HJ={mainnet:`You are using a deprecated chain ID for Solana Mainnet, please use ${Tp.Mainnet} instead.`,devnet:`You are using a deprecated chain ID for Solana Devnet, please use ${Tp.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 UJ(e,t){let n=e.namespaces.solana?.accounts.map(e=>`solana:${e.split(`:`)[1]}`);if(t===Tp.Mainnet)return n?.find(e=>e===Tp.Mainnet)?Tp.Mainnet:(console.warn(HJ.wallet),Tp.Deprecated_Mainnet);if(t===Tp.Devnet)return n?.find(e=>e===Tp.Devnet)?Tp.Devnet:(console.warn(HJ.wallet),Tp.Deprecated_Devnet);throw Error(`WalletConnect Solana Adapter: Unable to get a default chain from the session.`)}function WJ(e){return{optionalNamespaces:{solana:{chains:VJ(e),methods:[wp.signTransaction,wp.signMessage],events:[]}}}}var GJ=class e extends Error{constructor(){super(`QR Code Modal was closed by user`),Object.setPrototypeOf(this,e.prototype),this.name=`QRCodeModalError`}},KJ=class{_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(e=>{this._ConnectQueueResolver=e}),!this._UniversalProvider)throw Error(`WalletConnect Adapter - Universal Provider was undefined while calling 'connect()'`);if(this._UniversalProvider.session){this._session=this._UniversalProvider.session;let e=UJ(this._session,this._network);return this._network=e,this._UniversalProvider.setDefaultChain(e),{publicKey:this.publicKey}}await this.initModal();let e=WJ(this._network);this._modal?.open();let t=new AbortController,n=t.signal;this._modal?.subscribeState(e=>{e.open||t.abort(new GJ)});try{let t=await Promise.race([this._UniversalProvider?.connect(e),new Promise((e,t)=>{n.addEventListener(`abort`,()=>{t(n.reason)})})]);if(this._modal?.close(),this._session=t,!t)throw new je;let r=UJ(t,this._network);return this._network=r,this._UniversalProvider?.setDefaultChain(r),{publicKey:this.publicKey}}catch(e){throw this._modal?.close(),e}}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 zJ}get client(){if(this._UniversalProvider)return this._UniversalProvider;throw new zJ}get session(){if(!this._session)throw new zJ;return this._session}get publicKey(){if(this._UniversalProvider?.session&&this._session){let{address:e}=Qm(this._session?.namespaces.solana?.accounts[0]??``);return new c(e)}throw new zJ}async signTransaction(e){this.checkIfWalletSupportsMethod(wp.signTransaction);let t=Pe(e),n=t?{}:e,{signature:r,transaction:i}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:wp.signTransaction,params:{...n,transaction:this.serialize(e)}}});return i?this.deserialize(i,t):(e.addSignature(this.publicKey,Buffer.from(Fs.decode(r))),e)}async signMessage(e){this.checkIfWalletSupportsMethod(wp.signMessage);let{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:wp.signMessage,params:{pubkey:this.publicKey.toString(),message:Fs.encode(e)}}});return Fs.decode(t)}async signAndSendTransaction(e){this.checkIfWalletSupportsMethod(wp.signAndSendTransaction);let{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:wp.signAndSendTransaction,params:{transaction:this.serialize(e)}}});return t}async signAllTransactions(e){try{this.checkIfWalletSupportsMethod(wp.signAllTransactions);let t=e.map(e=>this.serialize(e)),{transactions:n}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:wp.signAllTransactions,params:{transactions:t}}});return e.map((e,t)=>Pe(e)?this.deserialize(n[t]??``,!0):this.deserialize(n[t]??``))}catch(t){if(t instanceof BJ){let t=e.map(e=>this.signTransaction(e));return await Promise.all(t)}throw t}}async initClient(e){let t=await yP.init(e);this._UniversalProvider=t,this._ConnectQueueResolver&&this._ConnectQueueResolver(!0)}async initModal(){if(!this._modal){if(!this._UniversalProvider)throw Error(`WalletConnect Adapter - cannot init modal when Universal Provider is undefined`);this._modal=RJ({projectId:this._projectId,universalProvider:this._UniversalProvider,networks:[TJ,EJ,DJ],manualWCControl:!0})}}serialize(e){return Buffer.from(e.serialize({verifySignatures:!1})).toString(`base64`)}deserialize(e,t=!1){return t?s.deserialize(Buffer.from(e,`base64`)):o.from(Buffer.from(e,`base64`))}checkIfWalletSupportsMethod(e){if(!this.session.namespaces.solana?.methods.includes(e))throw new BJ(e)}},qJ=`WalletConnect`,JJ=class extends Ne{name=qJ;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`?Ae.Unsupported:Ae.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!==Ae.Loadable)throw new Oe;this._connecting=!0,this._wallet=new KJ({network:this._config.network===Me.Mainnet?Cp.Mainnet:Cp.Devnet,options:this._config.options});let{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 Ee:(this._connecting=!1,e)}finally{this._connecting=!1}}async disconnect(){let e=this._wallet;if(e){e.client.off(`session_delete`,this._onDisconnect),this._publicKey=null;try{e.client.session&&await e.disconnect()}catch(e){console.error(`WalletConnectWalletAdapter: disconnect error`,e),this.emit(`error`,new ke(e?.message,e))}}this.emit(`disconnect`)}async signTransaction(e){try{let t=this._wallet;if(!t)throw new Ie;try{return await t.signTransaction(e)}catch(e){throw new De(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signMessage(e){try{let t=this._wallet;if(!t)throw new Ie;try{return await t.signMessage(e)}catch(e){throw new Fe(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signAndSendTransaction(e){try{let t=this._wallet;if(!t)throw new Ie;try{return await t.signAndSendTransaction(e)}catch(e){throw new De(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signAllTransactions(e){try{let t=this._wallet;if(!t)throw new Ie;try{return await t.signAllTransactions(e)}catch(e){throw new De(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}};export{JJ as WalletConnectWalletAdapter,qJ as WalletConnectWalletName};
|