@fangorn-network/westmarch 0.0.20-dev → 2026.10.2-0.0-dev
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/README.md +33 -3
- package/docs/app-to-agent.md +100 -27
- package/package.json +9 -5
- package/plugin/scripts/fx.mjs +7 -9
- package/site/dist/assets/AccountNotFoundScreen-C4njXc69-RUyAWRzV.js +1 -0
- package/site/dist/assets/AddFundsSelectionScreen-RAoCn7ej-ZV-LlYBe.js +31 -0
- package/site/dist/assets/Address-H8kD1d9O-CGQnt7Pu.js +17 -0
- package/site/dist/assets/AffirmativeConsentScreen-BG0MJxku-CKn2JLwq.js +6 -0
- package/site/dist/assets/AllowlistRejectionScreen-Cae6e1Od-9oIP9fma.js +1 -0
- package/site/dist/assets/ArrowsRightLeftIcon-BEhBD_6N.js +1 -0
- package/site/dist/assets/AuthenticateWithWalletScreen-CU6hIcFT-D1wLlSJs.js +1 -0
- package/site/dist/assets/AwaitingEvmToSolBridgingScreen-D0e_sZMS-CSBbHTyz.js +1 -0
- package/site/dist/assets/AwaitingExternalEthereumTransferScreen-ur5HL4R7-BsRq-xBt.js +1 -0
- package/site/dist/assets/AwaitingPasswordlessCodeScreen-DRHz76mM-BPdhsKvN.js +103 -0
- package/site/dist/assets/AwaitingSolToEvmBridgingScreen-CdLRrGD2-CEGNdrkr.js +1 -0
- package/site/dist/assets/BridgeNetworkSelectionView-CFGjB2nO-Da9P7eSx.js +68 -0
- package/site/dist/assets/CaptchaScreen-DbpvkIGx-BecgMnD_.js +1 -0
- package/site/dist/assets/CheckCircleIcon-DBiWFjO6.js +1 -0
- package/site/dist/assets/CheckCircleIcon-DzG2ROJZ.js +1 -0
- package/site/dist/assets/Checkbox-D1EDeo41-DMHcj9o_.js +52 -0
- package/site/dist/assets/ChevronDownIcon-2Os56gUt.js +1 -0
- package/site/dist/assets/Chip-CZKIKt9K-BWzs9fj5.js +26 -0
- package/site/dist/assets/CoinbaseOnrampStatusScreen-BbyCJDXL-CFvcSiDs.js +16 -0
- package/site/dist/assets/ConnectEmailForm-B-VRE0MN-BozkCg8q.js +3 -0
- package/site/dist/assets/ConnectLedgerScreen-DWHABGot-DaCnbBzh.js +10 -0
- package/site/dist/assets/ConnectOnlyLandingScreen-CZYx9Bmp-DUkCLkxD.js +1 -0
- package/site/dist/assets/ConnectOnlyStatusScreen-DCRzjxHx-Dv_5nMkZ.js +1 -0
- package/site/dist/assets/ConnectOrCreateScreen-CUUYUO07-DSGEeB3Y.js +1 -0
- package/site/dist/assets/ConnectPhoneForm-Dek5xn4C-C-s4s_Lq.js +95 -0
- package/site/dist/assets/ConnectWalletView-DqI-PTvX-BKX7fdYr.js +74 -0
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-DSoAuMFZ.js +7 -0
- package/site/dist/assets/CopyToClipboard-i_OQSBJr-CZTXyfV0.js +39 -0
- package/site/dist/assets/CopyableText-CQapvaMr-DHO818I0.js +28 -0
- package/site/dist/assets/CrossAppAuthScreen-CLw7ymZq-DW4nRGfz.js +1 -0
- package/site/dist/assets/CustomLandingScreenView-Cm_MBSyX-DH8Nnb4Y.js +22 -0
- package/site/dist/assets/DelegatedActionsConsentScreen-DYF2U4y5-gfUS_uV5.js +1 -0
- package/site/dist/assets/DelegatedActionsRevokeScreen-bPp6Uwyh-DZj9HTHc.js +1 -0
- package/site/dist/assets/DepositAddressAddressStepView-4vdkb55L-eHYsDK9W.js +187 -0
- package/site/dist/assets/DepositAddressScreen-DBLRs7aI-DK_XVgVk.js +8 -0
- package/site/dist/assets/DepositAddressV3Screen-CDqIEMQw-6gRZzhLe.js +1 -0
- package/site/dist/assets/{EmailInputForm-Cqo1mda8-B2NG3K5V.js → EmailInputForm-Cqo1mda8-CZD4r5LM.js} +11 -11
- package/site/dist/assets/EmbeddedWalletConnectingScreen-D4T7DUzs-BZu2ae0k.js +1 -0
- package/site/dist/assets/EmbeddedWalletCreatedScreen-D7WhW5ve-86pviemJ.js +1 -0
- package/site/dist/assets/EmbeddedWalletKeyExportScreen-CqV4NYQ3-vDcvT53Y.js +23 -0
- package/site/dist/assets/EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-rNJAtSJc.js +1 -0
- package/site/dist/assets/EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-I8Q95280.js +1 -0
- package/site/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-Coi7OxoI.js +1 -0
- package/site/dist/assets/EnrollTotp-Dibew4dp-DC7FrDgo.js +66 -0
- package/site/dist/assets/EnvelopeIcon-DY6ERnW7.js +1 -0
- package/site/dist/assets/ErrorBanner-BcpGRt0h-BvESwN99.js +21 -0
- package/site/dist/assets/{ErrorMessage-D8VaAP5m-CrZOnUyg.js → ErrorMessage-D8VaAP5m-oSruKN8L.js} +2 -2
- package/site/dist/assets/ErrorScreen-DipdTWzE-DnKGxH1Z.js +4 -0
- package/site/dist/assets/ExclamationCircleIcon-BZhlqH0r.js +1 -0
- package/site/dist/assets/ExclamationTriangleIcon-CkAOJIYV.js +1 -0
- package/site/dist/assets/FarcasterConnectStatusScreen-51tjUxqq-4pi7jooW.js +75 -0
- package/site/dist/assets/FarcasterSignerStatusScreen-6x-Uh95G-z2XCMaLL.js +28 -0
- package/site/dist/assets/FiatOnrampScreen-BAhYeiTI-CBVA9v1-.js +491 -0
- package/site/dist/assets/FingerPrintIcon-ra2dqmJO.js +1 -0
- package/site/dist/assets/FundSolWalletWithExternalSolanaWallet-WtLwYaOl-DwAwc6Ny.js +1 -0
- package/site/dist/assets/FundWalletMethodHeader-BWNkokCT-CZszQsZf.js +1 -0
- package/site/dist/assets/FundWithBankDepositScreen-DajkHxBD-DfX6nvFQ.js +58 -0
- package/site/dist/assets/FundingEditAmountScreen-CpvpiO4M-CDS_sk_t.js +1 -0
- package/site/dist/assets/FundingMethodSelectionScreen-Db7vhRlE-CPfNQemT.js +1 -0
- package/site/dist/assets/GlobeAltIcon-SEUEIe_E.js +1 -0
- package/site/dist/assets/GooglePay-B53WnudL-aap7zwag.js +1 -0
- package/site/dist/assets/HCaptchaWrapper-CUi9LJsp-DgSjCjQI.js +4 -0
- package/site/dist/assets/InAppBrowserLoginNotPossible-BMR9br1T-DO4wICml.js +1 -0
- package/site/dist/assets/InfoBanner-Cb3p1z12-CDWt2ADo.js +22 -0
- package/site/dist/assets/InjectedWalletIcon-DLcYOGDj-Ba19XoBr.js +1 -0
- package/site/dist/assets/InstallWalletScreen-DTA8dwLv-DGpewEch.js +1 -0
- package/site/dist/assets/{JsonTree-BHzNC-ic-DcNcbSoM.js → JsonTree-BHzNC-ic-pAEq1bl9.js} +3 -3
- package/site/dist/assets/{LabelXs-oqZNqbm_-iafrj25N.js → LabelXs-oqZNqbm_-D09YjVR4.js} +2 -2
- package/site/dist/assets/LandingScreen-CGWUoSUG-CUOCWUXd.js +1 -0
- package/site/dist/assets/{Layouts-BMRfo5hw-CeCOyCLK.js → Layouts-BMRfo5hw-D2u1-w8g.js} +16 -16
- package/site/dist/assets/Link-BdDilT2T-BYiP1zvW.js +40 -0
- package/site/dist/assets/LinkConflictScreen-C3ZEPsgl-Tb6cAepT.js +77 -0
- package/site/dist/assets/LinkEmailScreen-dKo9frwc-pq0NF2JO.js +1 -0
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-D9MOmDqg.js +117 -0
- package/site/dist/assets/LinkPhoneScreen-oIUpfj0w-B80UJqAZ.js +1 -0
- package/site/dist/assets/{LoadingSkeleton-BMsgO5PV-CiEyS5PZ.js → LoadingSkeleton-BMsgO5PV-BRMh4Fv4.js} +6 -6
- package/site/dist/assets/LockClosedIcon-BqkoEL9J.js +1 -0
- package/site/dist/assets/LoginFailedScreen-CN0dJV6U-DlnOM-Kh.js +1 -0
- package/site/dist/assets/ManualTransferScreen-CHqcuqbs-DSShupq9.js +1 -0
- package/site/dist/assets/MfaAuthEnrollmentFlowScreen-Dj7gPTRC-DUPV_SLA.js +1 -0
- package/site/dist/assets/MfaAuthVerifyFlowScreen-DbFpyWMy-D96GpzXX.js +1 -0
- package/site/dist/assets/MfaEnrollmentFlowScreen-DhLnGgnr-CYQDa4ND.js +1 -0
- package/site/dist/assets/MfaVerifyFlowScreen-C_XPjMRP-CJtSAXGN.js +1 -0
- package/site/dist/assets/ModalFooter-BCuEK_nz-D2I8KWtk.js +403 -0
- package/site/dist/assets/MoonpayStatusScreen-CzTUtokc-Bx5aHy-z.js +16 -0
- package/site/dist/assets/OAuthStatusScreen-ufbOa-da-CS6988X2.js +1 -0
- package/site/dist/assets/OpenLink-CUpJ1mOr-EZWVSX2r.js +39 -0
- package/site/dist/assets/PasskeySelectSignupOrLogin-xh2ScC_l-BY4eK5Jh.js +1 -0
- package/site/dist/assets/PasskeyStatusScreen-Bla8MaOk-LXys76u9.js +6 -0
- package/site/dist/assets/PasswordRecoveryScreen-awGXZkQk-RczvLvmo.js +20 -0
- package/site/dist/assets/{PhArrowCircleDown-D97G-BOA.js → PhArrowCircleDown-BtlNV0TZ.js} +5 -5
- package/site/dist/assets/PhArrowClockwise-mOiWYLMV.js +14 -0
- package/site/dist/assets/PhArrowDown-CkoOD89h.js +14 -0
- package/site/dist/assets/PhArrowLeft-C0jlxVhM.js +14 -0
- package/site/dist/assets/PhArrowRight-BI-V03Xf.js +14 -0
- package/site/dist/assets/{PhArrowSquareOut-Bk2CMG3I.js → PhArrowSquareOut-DnQ7n_B4.js} +5 -5
- package/site/dist/assets/PhArrowUp-izKvURUW.js +14 -0
- package/site/dist/assets/PhArrowUpRight-Bn-JhHsY.js +14 -0
- package/site/dist/assets/{PhArrowsClockwise-BXRn1GEl.js → PhArrowsClockwise-Brtx2Re-.js} +5 -5
- package/site/dist/assets/{PhArrowsDownUp-DM09Jo_3.js → PhArrowsDownUp-PZosTqZG.js} +5 -5
- package/site/dist/assets/PhArrowsLeftRight-CYsRQ2qh.js +14 -0
- package/site/dist/assets/{PhBank-fHbgCqqZ.js → PhBank-hhPAIPVb.js} +5 -5
- package/site/dist/assets/PhBrowser-BjzAmrHO.js +14 -0
- package/site/dist/assets/PhCaretDown-ddSjwcwm.js +14 -0
- package/site/dist/assets/PhCaretLeft-B7YLoNEF.js +14 -0
- package/site/dist/assets/PhCaretRight-BY8D5MIg.js +14 -0
- package/site/dist/assets/PhCaretUp-BG10nSut.js +14 -0
- package/site/dist/assets/PhCheck-DrKd7pBC.js +14 -0
- package/site/dist/assets/{PhCircleHalf-MJZeRBGF.js → PhCircleHalf-Bk9C4DvT.js} +5 -5
- package/site/dist/assets/PhClock-Sj17weCB.js +14 -0
- package/site/dist/assets/{PhCompass-hYn3HhGN.js → PhCompass-Df1ugFO-.js} +5 -5
- package/site/dist/assets/PhCopy-rgttky8E.js +14 -0
- package/site/dist/assets/{PhCreditCard-Fy4pzwtt.js → PhCreditCard-CZpdid2n.js} +5 -5
- package/site/dist/assets/{PhCurrencyDollar-BgiaenCi.js → PhCurrencyDollar-B6IKKjue.js} +5 -5
- package/site/dist/assets/{PhDesktop-CxrzCSv5.js → PhDesktop-BuCDXYJj.js} +5 -5
- package/site/dist/assets/PhDeviceMobile-CnybhXY-.js +14 -0
- package/site/dist/assets/PhDotsThree-CSAEcba1.js +14 -0
- package/site/dist/assets/PhEnvelope-SmaNeXoQ.js +14 -0
- package/site/dist/assets/PhFunnelSimple-DKx35ITq.js +14 -0
- package/site/dist/assets/{PhGlobe-DvmSc9_A.js → PhGlobe-q1mqj65V.js} +5 -5
- package/site/dist/assets/{PhIdentificationCard-CfkZm-5K.js → PhIdentificationCard-BeLXJpfZ.js} +5 -5
- package/site/dist/assets/{PhImage-Cf0J2ZfJ.js → PhImage-BYrKfN9k.js} +5 -5
- package/site/dist/assets/{PhInfo-Bwi51-2X.js → PhInfo-X33f06Ej.js} +5 -5
- package/site/dist/assets/{PhLightbulb-C4FZV7Es.js → PhLightbulb-DMZJsowR.js} +5 -5
- package/site/dist/assets/PhMagnifyingGlass-B6D0sWFL.js +14 -0
- package/site/dist/assets/{PhPaperPlaneRight-zxQVvPLX.js → PhPaperPlaneRight-Dvo-nXr9.js} +5 -5
- package/site/dist/assets/PhPlus-CBvZvLax.js +14 -0
- package/site/dist/assets/{PhPower-CFyWDmgD.js → PhPower-D8-AcNM6.js} +5 -5
- package/site/dist/assets/{PhPuzzlePiece-BjoNVfST.js → PhPuzzlePiece-C-7mYqGO.js} +5 -5
- package/site/dist/assets/{PhQrCode-CP3tFauY.js → PhQrCode-uIXlI5ER.js} +5 -5
- package/site/dist/assets/{PhQuestion-wOWJBd3G.js → PhQuestion-rUoqC2sC.js} +5 -5
- package/site/dist/assets/{PhQuestionMark-CV0k9C0Y.js → PhQuestionMark-W55Txvvb.js} +5 -5
- package/site/dist/assets/{PhSealCheck-vIKzREuN.js → PhSealCheck-BeVLq9PH.js} +5 -5
- package/site/dist/assets/{PhSignOut-CxELV-i0.js → PhSignOut-Cq2PivQ6.js} +5 -5
- package/site/dist/assets/{PhSpinner-CGDmbzUd.js → PhSpinner-CZMtAFdX.js} +5 -5
- package/site/dist/assets/{PhTrash-C9PD0SAt.js → PhTrash-BamrmMsN.js} +5 -5
- package/site/dist/assets/{PhUser-0sWNXQeZ.js → PhUser-A2fxqIV0.js} +5 -5
- package/site/dist/assets/{PhVault-6JTskUcC.js → PhVault-B8m1usHw.js} +5 -5
- package/site/dist/assets/{PhWarning-CoKs3gz6.js → PhWarning-CpkID9oi.js} +5 -5
- package/site/dist/assets/PhWarningCircle-Cm58gXb9.js +14 -0
- package/site/dist/assets/PhX-C3b4cCEy.js +14 -0
- package/site/dist/assets/PhoneIcon-CzbssTb8.js +1 -0
- package/site/dist/assets/PinInput-DbZ0b1i1-1DtLWL81.js +247 -0
- package/site/dist/assets/QrCode-DbnZwlkH-ChwcUk_h.js +22 -0
- package/site/dist/assets/RecoveryOAuthStatusScreen-CsgtTI2x-C79jd345.js +1 -0
- package/site/dist/assets/RecoveryPasswordCreateScreen-Be-qJ-LU-C9c0x-yq.js +1 -0
- package/site/dist/assets/RecoverySelectionScreen-D1iGtpmi-PNqHb6CI.js +7 -0
- package/site/dist/assets/{Screen-D30meWsY-CCeVNuWs.js → Screen-D30meWsY-DDum2qlY.js} +22 -22
- package/site/dist/assets/{ScreenHeader-CHmc4-Lu-DjyrH7IK.js → ScreenHeader-CHmc4-Lu-BqrAEXbV.js} +4 -4
- package/site/dist/assets/ScreenLayout-OwaQQcxH-B4Z8FjFp.js +1 -0
- package/site/dist/assets/{SelectSourceAsset-CWFog6gm-D7yTw87h.js → SelectSourceAsset-CWFog6gm-8iXuqbAs.js} +18 -18
- package/site/dist/assets/SetAutomaticRecoveryScreen-BO_OEqAZ-CUpQZ9wq.js +14 -0
- package/site/dist/assets/SetWalletPasswordForm-DwCTVtAh-ZzvPLj2s.js +15 -0
- package/site/dist/assets/ShieldCheckIcon-Bjwe_-PV.js +1 -0
- package/site/dist/assets/SignRequestScreen-BHKv32KR-0qGeNipB.js +26 -0
- package/site/dist/assets/{StackedContainer-B2vaEl56-eQCM2cmv.js → StackedContainer-B2vaEl56-C-ojzCoQ.js} +2 -2
- package/site/dist/assets/StandardSignAndSendTransactionScreen-CfhIXVtd-C3lgJb68.js +20 -0
- package/site/dist/assets/{Subtitle-CV-2yKE4-zxWw2m1Q.js → Subtitle-CV-2yKE4-o-1FQLlX.js} +2 -2
- package/site/dist/assets/TelegramAuthScreen-UL9zLfO8-l35_C2DG.js +1 -0
- package/site/dist/assets/{Title-BnzYV3Is-B_JpTatT.js → Title-BnzYV3Is-RX1f0RV-.js} +2 -2
- package/site/dist/assets/TodoList-DnyULl18-JxWWU9KA.js +36 -0
- package/site/dist/assets/TransactionDetails-e9nesl30-C91nJPM9.js +109 -0
- package/site/dist/assets/TransactionErrorView-BDBNqA_f-Cpm-4xzm.js +178 -0
- package/site/dist/assets/TransferFromWalletScreen-Qvn1Yuno-BWCH7-Si.js +31 -0
- package/site/dist/assets/TransferOrBridgeLoadingScreen-Dl1I_iIz-BWMeJabk.js +6 -0
- package/site/dist/assets/TurnstileWrapper-B7sNddys-Dgr80Gih.js +1 -0
- package/site/dist/assets/UpdateEmailScreen-DVOhPV0H-Clk4zk-8.js +1 -0
- package/site/dist/assets/UpdatePhoneScreen-CXRswTNZ-BgRsoR3B.js +1 -0
- package/site/dist/assets/UserLimitReachedScreen-5we2DHn8-D-SU-vAz.js +1 -0
- package/site/dist/assets/{Value-DTgR824E-BRuIGiec.js → Value-DTgR824E-DZpvBCWi.js} +7 -7
- package/site/dist/assets/WalletCards-DH1rqayz-UuZ4i_Ze.js +1 -0
- package/site/dist/assets/WalletIcon-B1i03Vqc.js +1 -0
- package/site/dist/assets/WalletInfoCard-sq_2wgFg-TXTxmb8L.js +29 -0
- package/site/dist/assets/WalletInterstitialScreen-Sh7LfsAh-CbrFb0ON.js +1 -0
- package/site/dist/assets/WalletLink-DK5LB5Ha-BYQZV7UV.js +20 -0
- package/site/dist/assets/WalletOverflowButton-bfCnp-9T-CNgSPnTS.js +1 -0
- package/site/dist/assets/WarningBanner-ZZqCEtZK-DNZUUOph.js +21 -0
- package/site/dist/assets/__vite-browser-external-BIHI7g3E.js +1 -0
- package/site/dist/assets/analytics-mkkvFRju-DOXuftJB.js +1 -0
- package/site/dist/assets/basic-C9wn6QoQ.js +1575 -0
- package/site/dist/assets/bytes-CjWw8TJh.js +1 -0
- package/site/dist/assets/capitalizeFirstLetter-DmLYqXsO-tV1Idewc.js +1 -0
- package/site/dist/assets/ccip-BhHEqVIW.js +1 -0
- package/site/dist/assets/check-C_DTyjLS.js +1 -0
- package/site/dist/assets/chevron-down-iklXXH-z.js +1 -0
- package/site/dist/assets/circle-alert-KEOUF48T.js +1 -0
- package/site/dist/assets/circle-check-big-BJ_ADwB4.js +1 -0
- package/site/dist/assets/circle-x-BSfWmhYk.js +1 -0
- package/site/dist/assets/client-BnDcP42J.js +9 -0
- package/site/dist/assets/client-DH86IrJA.js +125 -0
- package/site/dist/assets/coinbase-DCPC2L_R-2ivYfoMv.js +3 -0
- package/site/dist/assets/copy-sK00DOfH.js +1 -0
- package/site/dist/assets/core-CRE213RM.js +211 -0
- package/site/dist/assets/createLucideIcon-D9OK_uxG.js +1 -0
- package/site/dist/assets/custom-V1wex-Di.js +1 -0
- package/site/dist/assets/dijkstra-COg3n3zL.js +1 -0
- package/site/dist/assets/embed.worker-BRIYO7m8.js +1 -0
- package/site/dist/assets/encodePacked-DyXYq3Cc.js +1 -0
- package/site/dist/assets/ethers-zTjbodk5-DSYOi6tU.js +1 -0
- package/site/dist/assets/external-link-Cdp8NBio.js +1 -0
- package/site/dist/assets/fallback-DiFue5Zm.js +1 -0
- package/site/dist/assets/farcaster-DPlSjvF5-DP2DLoHZ.js +1 -0
- package/site/dist/assets/features-B6BTj_BL.js +5 -0
- package/site/dist/assets/fingerprint-pattern-gFJTz5e4.js +1 -0
- package/site/dist/assets/floating-ui.react-D9ndYqYK.js +1 -0
- package/site/dist/assets/floating-ui.react-dom-CNbOgOFt.js +1 -0
- package/site/dist/assets/formatErc20TokenAmount-BuPk9xcy-CkAr4Oc0.js +1 -0
- package/site/dist/assets/getChainName-DjpPdUSc-c2urPd0g.js +1 -0
- package/site/dist/assets/getErc20Balance-jXNpFf0N-mFQ9Iqk-.js +1 -0
- package/site/dist/assets/getErc20TokenInfo-BNTrzLMP-Dx5he_uG.js +1 -0
- package/site/dist/assets/getFormattedUsdFromLamports-De3U9GlO-C446pzMl.js +1 -0
- package/site/dist/assets/getTransactionCount-80UHlwAV.js +1 -0
- package/site/dist/assets/getUsdcMintAddress-BVgm9GRo-FDalV59C.js +1 -0
- package/site/dist/assets/hashTypedData-Beq57Ogb.js +22 -0
- package/site/dist/assets/hooks.module-ClpaQ1Tg.js +1 -0
- package/site/dist/assets/hourglass-CB7z_I9H.js +1 -0
- package/site/dist/assets/http-BocEfKYb.js +19 -0
- package/site/dist/assets/index-0knDOgU9.js +1 -0
- package/site/dist/assets/index-9jNeS_nC.js +1 -0
- package/site/dist/assets/index-B--T-Fmt.js +16 -0
- package/site/dist/assets/index-BDkarAkX.js +2 -0
- package/site/dist/assets/index-BMfMy017.js +679 -0
- package/site/dist/assets/index-BOd8jv8-.js +1 -0
- package/site/dist/assets/index-BdEw5wyl-2VGMzHIs.js +1 -0
- package/site/dist/assets/index-C8ThRelw.js +9 -0
- package/site/dist/assets/{index-CWARkn2w-Cezl_uBr.js → index-CWARkn2w-D6ikWJWj.js} +7 -7
- package/site/dist/assets/{wui-ux-by-reown-D34ILNLS.js → index-CztIxJB6.js} +296 -296
- package/site/dist/assets/index-D4LdLFDC.js +1 -0
- package/site/dist/assets/index-D6T-s6sR.js +1 -0
- package/site/dist/assets/index-D7396TWe.js +1 -0
- package/site/dist/assets/index-DdxtHe81.js +2 -0
- package/site/dist/assets/index-DvMddJcd-D7AEQrzj.js +12 -0
- package/site/dist/assets/index-nibyPLVP.js +1 -0
- package/site/dist/assets/index.browser-B6Bt5URJ.js +1 -0
- package/site/dist/assets/isPaymentRequestAvailable-Bq1cemEn-D7xtzRqA.js +1 -0
- package/site/dist/assets/landmark-CMLKifhk.js +1 -0
- package/site/dist/assets/lock-BkyjNE8h.js +1 -0
- package/site/dist/assets/mail-B6-Tq9Ld.js +1 -0
- package/site/dist/assets/native-CJ5et6AR.js +1 -0
- package/site/dist/assets/nonceManager-zkW7cM66.js +1 -0
- package/site/dist/assets/parseEther-C7aOvuze.js +1 -0
- package/site/dist/assets/parseSignature-BIjcuWdB.js +1 -0
- package/site/dist/assets/preload-helper-PPVm8Dsz.js +1 -0
- package/site/dist/assets/privateKeyToAccount-CRvvpHWf.js +1 -0
- package/site/dist/assets/property-CnFDNXw5.js +3 -0
- package/site/dist/assets/react-auth_false-DedQs79w.js +1 -0
- package/site/dist/assets/reservoir-x-nGuZkT-DFxAFt2v.js +1 -0
- package/site/dist/assets/roles-DV_6FRBZ.js +1 -0
- package/site/dist/assets/safe-url-D7SRPu33-A8zMgOTd.js +1 -0
- package/site/dist/assets/serializeErc6492Signature-CeJeL3h6.js +1 -0
- package/site/dist/assets/serializeTransaction-L-_Ej-jW.js +8 -0
- package/site/dist/assets/{shared-DRZUmnL5-xqAUARWo.js → shared-DRZUmnL5-MWD-C-pp.js} +33 -33
- package/site/dist/assets/{shared-FM0rljBt--Avg6q2R.js → shared-FM0rljBt-c4eSjzGj.js} +6 -6
- package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-CF2QteTJ.js +1 -0
- package/site/dist/assets/simulateTransaction-CfuOrae4-BHUMPf6Q.js +1 -0
- package/site/dist/assets/smartphone-DAN5rY0T.js +1 -0
- package/site/dist/assets/stripe.esm-Dv8C3q95.js +2 -0
- package/site/dist/assets/styles-BsotlekN-Cjuu2SDV.js +9 -0
- package/site/dist/assets/{styles-Cm9H63WO-Br4QtzUL.js → styles-Cm9H63WO-Cv1TbqYi.js} +17 -17
- package/site/dist/assets/{styles-DVyDvTdj-BTABn2K8.js → styles-DVyDvTdj-CI4xZNHp.js} +8 -8
- package/site/dist/assets/{styles-hslXy6xG-D-49b1rk.js → styles-hslXy6xG-DeVcFoDD.js} +23 -23
- package/site/dist/assets/telegram-B-JqnkqZ-DTjJLkIF.js +1 -0
- package/site/dist/assets/to-ui-error-DWe-qwS3-Dx3yzcV0.js +4 -0
- package/site/dist/assets/toAccount-Bq6rbpbI.js +1 -0
- package/site/dist/assets/transaction-BNTP-bFm-CrebgH-D.js +1 -0
- package/site/dist/assets/transactionReceipt-BwJl-gjg.js +1 -0
- package/site/dist/assets/transfer-6YztDh-t-DU6hH7CZ.js +1 -0
- package/site/dist/assets/transformers.web-BEKVh7pD.js +40 -0
- package/site/dist/assets/transformers.web-aWa49tv1.js +40 -0
- package/site/dist/assets/triangle-alert-ndoiBs4y.js +1 -0
- package/site/dist/assets/twitch-5IOe4sIQ-BXviIywg.js +1 -0
- package/site/dist/assets/useGetSolPrice-x7gfUIHJ-C7axYJ--.js +1 -0
- package/site/dist/assets/useGetTokenPrice-CaoUkb79-CR4CrguU.js +1 -0
- package/site/dist/assets/useI18n-C-5n_noF-C_t8QqBJ.js +1 -0
- package/site/dist/assets/useWalletBalance-CZnP5f_f-BnSHLVI_.js +1 -0
- package/site/dist/assets/w3m-modal-Bz5KWTQ-.js +1174 -0
- package/site/dist/assets/wallet-DTM31trz.js +2 -0
- package/site/dist/assets/wallet-UESEqPei.js +1 -0
- package/site/dist/assets/wallet-connect-BvJtUsDt-CnvUnFbz.js +1 -0
- package/site/dist/assets/walletconnect-v2-3frQFwbg-CzQk99gS.js +15 -0
- package/site/dist/assets/x-B2_XdOVQ.js +1 -0
- package/site/dist/index.html +118 -6
- package/site/feed.js +16 -1
- package/site/no-model.js +4 -0
- package/site/worker.js +597 -58
- package/src/agent/agent-card.js +20 -11
- package/src/agent/mcp.js +150 -316
- package/src/agent/view-tools.js +53 -12
- package/src/agent/x402.js +379 -44
- package/src/core/embed.js +51 -52
- package/src/core/embed.worker.js +1 -1
- package/src/core/shard.js +7 -3
- package/src/discover/apps.js +4 -3
- package/src/discover/explore.js +36 -22
- package/src/market/reactions.js +2 -2
- package/src/publish/devnet.js +95 -0
- package/src/publish/lint.js +2 -1
- package/src/publish/ship.js +517 -236
- package/src/publish/view-cli.js +11 -10
- package/src/publish/view.js +359 -206
- package/src/taste/taste-doc.js +3 -2
- package/src/taste/taste.js +2 -2
- package/src/taste/vault.js +3 -1
- package/site/dist/assets/AccountNotFoundScreen-C4njXc69-BOfmiSH1.js +0 -1
- package/site/dist/assets/AddFundsSelectionScreen-RAoCn7ej-D_EsIeJu.js +0 -31
- package/site/dist/assets/Address-H8kD1d9O-C85sJ79B.js +0 -17
- package/site/dist/assets/AffirmativeConsentScreen-BG0MJxku-DdEPFOww.js +0 -6
- package/site/dist/assets/AllowlistRejectionScreen-Cae6e1Od-DhVy9iGN.js +0 -1
- package/site/dist/assets/ApiController-CYdiyu9B.js +0 -5
- package/site/dist/assets/ArrowsRightLeftIcon-cp60yobq.js +0 -1
- package/site/dist/assets/AuthenticateWithWalletScreen-CU6hIcFT-8rbYiYYE.js +0 -1
- package/site/dist/assets/AwaitingEvmToSolBridgingScreen-D0e_sZMS-2pkNfCno.js +0 -1
- package/site/dist/assets/AwaitingExternalEthereumTransferScreen-ur5HL4R7-7AQt25_k.js +0 -1
- package/site/dist/assets/AwaitingPasswordlessCodeScreen-DRHz76mM-BZY30TGs.js +0 -103
- package/site/dist/assets/AwaitingSolToEvmBridgingScreen-CdLRrGD2-BILOOLi_.js +0 -1
- package/site/dist/assets/BridgeNetworkSelectionView-CFGjB2nO-CvsbQcFv.js +0 -68
- package/site/dist/assets/CaptchaScreen-DbpvkIGx-D8eDcAkc.js +0 -1
- package/site/dist/assets/CheckCircleIcon-BM409mGI.js +0 -1
- package/site/dist/assets/CheckCircleIcon-NCOQc0Gs.js +0 -1
- package/site/dist/assets/Checkbox-D1EDeo41-rHlvsZzP.js +0 -52
- package/site/dist/assets/ChevronDownIcon-CW-4MSpE.js +0 -1
- package/site/dist/assets/Chip-CZKIKt9K-CutJG010.js +0 -26
- package/site/dist/assets/CoinbaseOnrampStatusScreen-BbyCJDXL-DLs9zX-Q.js +0 -16
- package/site/dist/assets/ConnectEmailForm-B-VRE0MN-N9J6T_YL.js +0 -3
- package/site/dist/assets/ConnectLedgerScreen-DWHABGot-h0uYIUi6.js +0 -10
- package/site/dist/assets/ConnectOnlyLandingScreen-CZYx9Bmp-LeuDMN1E.js +0 -1
- package/site/dist/assets/ConnectOnlyStatusScreen-DCRzjxHx-DaRa59tZ.js +0 -1
- package/site/dist/assets/ConnectOrCreateScreen-CUUYUO07-crHzh-TL.js +0 -1
- package/site/dist/assets/ConnectPhoneForm-Dek5xn4C-BEA4FmhI.js +0 -95
- package/site/dist/assets/ConnectWalletView-DqI-PTvX-CMQIad63.js +0 -74
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-BeWLchcf.js +0 -7
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-wu3a3kw4.js +0 -1
- package/site/dist/assets/ConnectorUtil-Cq4lWnfe.js +0 -21
- package/site/dist/assets/ConstantsUtil-DmLsRHAl.js +0 -198
- package/site/dist/assets/CopyToClipboard-i_OQSBJr-DujUHNzW.js +0 -39
- package/site/dist/assets/CopyableText-CQapvaMr-DMIdpDaU.js +0 -28
- package/site/dist/assets/CrossAppAuthScreen-CLw7ymZq-Csju14vF.js +0 -1
- package/site/dist/assets/CustomLandingScreenView-Cm_MBSyX-CBOrbNLo.js +0 -22
- package/site/dist/assets/DelegatedActionsConsentScreen-DYF2U4y5-BL5hzNUI.js +0 -1
- package/site/dist/assets/DelegatedActionsRevokeScreen-bPp6Uwyh-fcO51q5H.js +0 -1
- package/site/dist/assets/DepositAddressAddressStepView-4vdkb55L-B3vY888G.js +0 -187
- package/site/dist/assets/DepositAddressScreen-DBLRs7aI-DmdQaFI2.js +0 -8
- package/site/dist/assets/DepositAddressV3Screen-CDqIEMQw-BoupRyfV.js +0 -1
- package/site/dist/assets/EmbeddedWalletConnectingScreen-D4T7DUzs-D_AVgO4s.js +0 -1
- package/site/dist/assets/EmbeddedWalletCreatedScreen-D7WhW5ve-CLsJbPYQ.js +0 -1
- package/site/dist/assets/EmbeddedWalletKeyExportScreen-CqV4NYQ3-C9sAExzE.js +0 -23
- package/site/dist/assets/EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-DxaWAAKa.js +0 -1
- package/site/dist/assets/EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-CxrfLr5q.js +0 -1
- package/site/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-DHZRGoTN.js +0 -1
- package/site/dist/assets/EnrollTotp-Dibew4dp-SA2pvNEc.js +0 -66
- package/site/dist/assets/EnvelopeIcon-Dh2vSVj4.js +0 -1
- package/site/dist/assets/ErrorBanner-BcpGRt0h-BKOYTyCi.js +0 -21
- package/site/dist/assets/ErrorScreen-DipdTWzE-DcxVjMO4.js +0 -1
- package/site/dist/assets/ErrorScreen-DipdTWzE-c8g8En21.js +0 -4
- package/site/dist/assets/ExclamationCircleIcon-DUA2wMfO.js +0 -1
- package/site/dist/assets/ExclamationTriangleIcon-eZfaqcFq.js +0 -1
- package/site/dist/assets/FarcasterConnectStatusScreen-51tjUxqq-s_s5M2CZ.js +0 -75
- package/site/dist/assets/FarcasterSignerStatusScreen-6x-Uh95G-BHBR4k8H.js +0 -28
- package/site/dist/assets/FiatOnrampScreen-BAhYeiTI-BH_sU6EV.js +0 -491
- package/site/dist/assets/FingerPrintIcon-Dm6kxmg7.js +0 -1
- package/site/dist/assets/FundSolWalletWithExternalSolanaWallet-WtLwYaOl-B8TRV36j.js +0 -1
- package/site/dist/assets/FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js +0 -1
- package/site/dist/assets/FundWithBankDepositScreen-DajkHxBD-9rPtyA3d.js +0 -58
- package/site/dist/assets/FundingEditAmountScreen-CpvpiO4M-GaXigGI9.js +0 -1
- package/site/dist/assets/FundingMethodSelectionScreen-Db7vhRlE-UsmtTqv4.js +0 -1
- package/site/dist/assets/GlobeAltIcon-vqrVV5ho.js +0 -1
- package/site/dist/assets/GooglePay-B53WnudL-BX5_WtCx.js +0 -1
- package/site/dist/assets/HCaptchaWrapper-CUi9LJsp-D-I8j7NO.js +0 -4
- package/site/dist/assets/InAppBrowserLoginNotPossible-BMR9br1T-BY3j50El.js +0 -1
- package/site/dist/assets/InfoBanner-Cb3p1z12-DLBl_Ywy.js +0 -22
- package/site/dist/assets/InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js +0 -1
- package/site/dist/assets/InstallWalletScreen-DTA8dwLv-CxreyXoD.js +0 -1
- package/site/dist/assets/LandingScreen-CGWUoSUG-DK1EY-6v.js +0 -1
- package/site/dist/assets/Link-BdDilT2T-BEDEdHuS.js +0 -40
- package/site/dist/assets/LinkConflictScreen-C3ZEPsgl-ClWoqvEL.js +0 -77
- package/site/dist/assets/LinkEmailScreen-dKo9frwc-C3v7glH0.js +0 -1
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-D72Gb0LW.js +0 -117
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-DYIl5Kr2.js +0 -1
- package/site/dist/assets/LinkPhoneScreen-oIUpfj0w-C0DuD14j.js +0 -1
- package/site/dist/assets/Loader-UAZqxsnw-Cy7hEE2f.js +0 -62
- package/site/dist/assets/LockClosedIcon-BgY_5v_Z.js +0 -1
- package/site/dist/assets/LoginFailedScreen-CN0dJV6U-DhUMiJZJ.js +0 -1
- package/site/dist/assets/ManualTransferScreen-CHqcuqbs-tXiZDHmN.js +0 -1
- package/site/dist/assets/MfaAuthEnrollmentFlowScreen-Dj7gPTRC-CaW7xeCC.js +0 -1
- package/site/dist/assets/MfaAuthVerifyFlowScreen-DbFpyWMy-CeRqvx8k.js +0 -1
- package/site/dist/assets/MfaEnrollmentFlowScreen-DhLnGgnr-BkN1k4lh.js +0 -1
- package/site/dist/assets/MfaVerifyFlowScreen-C_XPjMRP-CXSqLVbE.js +0 -1
- package/site/dist/assets/ModalFooter-BCuEK_nz-c-khvG4Y.js +0 -403
- package/site/dist/assets/MoonpayStatusScreen-CzTUtokc-BRFN2eXr.js +0 -16
- package/site/dist/assets/OAuthStatusScreen-ufbOa-da-CeiGcSia.js +0 -1
- package/site/dist/assets/OpenLink-CUpJ1mOr-DfAvJRyK.js +0 -39
- package/site/dist/assets/PasskeySelectSignupOrLogin-xh2ScC_l-CIf5I7wU.js +0 -1
- package/site/dist/assets/PasskeyStatusScreen-Bla8MaOk-CLoL7QC-.js +0 -6
- package/site/dist/assets/PasswordRecoveryScreen-awGXZkQk-B9F67IYV.js +0 -20
- package/site/dist/assets/PhArrowClockwise-DVgyFuez.js +0 -14
- package/site/dist/assets/PhArrowDown-87b1BizM.js +0 -14
- package/site/dist/assets/PhArrowLeft-Da0MfnbK.js +0 -14
- package/site/dist/assets/PhArrowRight-AdrIL4DW.js +0 -14
- package/site/dist/assets/PhArrowUp-4sgyKPGx.js +0 -14
- package/site/dist/assets/PhArrowUpRight-BNghD2zq.js +0 -14
- package/site/dist/assets/PhArrowsLeftRight-MuKBLUoF.js +0 -14
- package/site/dist/assets/PhBrowser-2-9m-AkM.js +0 -14
- package/site/dist/assets/PhCaretDown-BDNabFuL.js +0 -14
- package/site/dist/assets/PhCaretLeft-CI460R-A.js +0 -14
- package/site/dist/assets/PhCaretRight-D7ZS3Ls8.js +0 -14
- package/site/dist/assets/PhCaretUp-C-iIfyvO.js +0 -14
- package/site/dist/assets/PhCheck-DxQXn57r.js +0 -14
- package/site/dist/assets/PhClock-x3MS3Mwi.js +0 -14
- package/site/dist/assets/PhCopy-CWNYcABI.js +0 -14
- package/site/dist/assets/PhDeviceMobile-CsyA5Goi.js +0 -14
- package/site/dist/assets/PhDotsThree-D-k1BiYg.js +0 -14
- package/site/dist/assets/PhEnvelope-D8kzeNox.js +0 -14
- package/site/dist/assets/PhFunnelSimple-CfQs5DAW.js +0 -14
- package/site/dist/assets/PhMagnifyingGlass-C9u8jSCJ.js +0 -14
- package/site/dist/assets/PhPlus-C4UoW-2n.js +0 -14
- package/site/dist/assets/PhWarningCircle-BXHw1fCt.js +0 -14
- package/site/dist/assets/PhX-DX0SFIqC.js +0 -14
- package/site/dist/assets/PhoneIcon-CvIiPwYQ.js +0 -1
- package/site/dist/assets/PinInput-DbZ0b1i1-CDXZBdQx.js +0 -247
- package/site/dist/assets/PrivyPluginContext-DA-yS5vO-CtQWBiV2.js +0 -1
- package/site/dist/assets/QrCode-DbnZwlkH-h6Bhoe5U.js +0 -22
- package/site/dist/assets/RecoveryOAuthStatusScreen-CsgtTI2x-D-A5P3PX.js +0 -1
- package/site/dist/assets/RecoveryPasswordCreateScreen-Be-qJ-LU-C8lTSeSr.js +0 -1
- package/site/dist/assets/RecoverySelectionScreen-D1iGtpmi-P5P3plkH.js +0 -7
- package/site/dist/assets/SIWXUtil-TUCxa7aA.js +0 -1
- package/site/dist/assets/ScreenLayout-OwaQQcxH-CrQM6kvA.js +0 -1
- package/site/dist/assets/SetAutomaticRecoveryScreen-BO_OEqAZ-f0iDIGmw.js +0 -14
- package/site/dist/assets/SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js +0 -11
- package/site/dist/assets/ShieldCheckIcon-o6RHYev1.js +0 -1
- package/site/dist/assets/SignRequestScreen-BHKv32KR-DDpMYyJ1.js +0 -26
- package/site/dist/assets/SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js +0 -1
- package/site/dist/assets/StandardSignAndSendTransactionScreen-CfhIXVtd-BJ-onCjv.js +0 -20
- package/site/dist/assets/TelegramAuthScreen-UL9zLfO8-NWlMgNRX.js +0 -1
- package/site/dist/assets/TodoList-DnyULl18-C8Eyy28X.js +0 -36
- package/site/dist/assets/TransactionDetails-e9nesl30-C4MpIHR-.js +0 -109
- package/site/dist/assets/TransactionErrorView-BDBNqA_f-p1T9WVMx.js +0 -178
- package/site/dist/assets/TransferFromWalletScreen-Qvn1Yuno-88IQcRnY.js +0 -31
- package/site/dist/assets/TransferOrBridgeLoadingScreen-Dl1I_iIz-1fDAIxAf.js +0 -6
- package/site/dist/assets/TurnstileWrapper-B7sNddys-Jwy1tJtm.js +0 -1
- package/site/dist/assets/UpdateEmailScreen-DVOhPV0H-Jj2DQW8D.js +0 -1
- package/site/dist/assets/UpdatePhoneScreen-CXRswTNZ-DwYIUBqi.js +0 -1
- package/site/dist/assets/UserLimitReachedScreen-5we2DHn8-D7m70C4b.js +0 -1
- package/site/dist/assets/WalletCards-DH1rqayz-Bgp9Fsgs.js +0 -1
- package/site/dist/assets/WalletIcon-gKf0gTw6.js +0 -1
- package/site/dist/assets/WalletInfoCard-sq_2wgFg-DpNSAGte.js +0 -29
- package/site/dist/assets/WalletInterstitialScreen-Sh7LfsAh-DG-RuO-F.js +0 -1
- package/site/dist/assets/WalletLink-DK5LB5Ha-DHaL350n.js +0 -20
- package/site/dist/assets/WalletOverflowButton-bfCnp-9T-CUyIJFzt.js +0 -1
- package/site/dist/assets/WarningBanner-ZZqCEtZK-2eU4Qo74.js +0 -21
- package/site/dist/assets/__vite-browser-external-CitKSmYk.js +0 -1
- package/site/dist/assets/_esm-B26FZg5Y.js +0 -7
- package/site/dist/assets/_esm-BdeM6pxJ.js +0 -1
- package/site/dist/assets/accounts-D96UKWkC.js +0 -1
- package/site/dist/assets/accounts-DiZ-0VmN.js +0 -1
- package/site/dist/assets/analytics-mkkvFRju-BRBcadka.js +0 -1
- package/site/dist/assets/baseSepolia-DX-qGsik.js +0 -1
- package/site/dist/assets/basic-oIwwSyu4.js +0 -1575
- package/site/dist/assets/capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js +0 -1
- package/site/dist/assets/ccip-65sIfSPR.js +0 -1
- package/site/dist/assets/ccip-BZvRTL6g.js +0 -7
- package/site/dist/assets/ccip-DA_zG341.js +0 -1
- package/site/dist/assets/chain-DM3oH6Px.js +0 -8
- package/site/dist/assets/check-BPgcwEPP.js +0 -1
- package/site/dist/assets/chevron-down-BSsbXkK-.js +0 -1
- package/site/dist/assets/circle-alert-DWaeLZNj.js +0 -1
- package/site/dist/assets/circle-check-big-Chb1ivw9.js +0 -1
- package/site/dist/assets/circle-x-AV9Cet0R.js +0 -1
- package/site/dist/assets/client-CZG0ndth.js +0 -2
- package/site/dist/assets/client-Dsa7_3V3.js +0 -9
- package/site/dist/assets/coinbase-DCPC2L_R-D3aIgpyd.js +0 -3
- package/site/dist/assets/copy-Ckr0AkL6.js +0 -1
- package/site/dist/assets/core-snws5xwv.js +0 -12
- package/site/dist/assets/createLucideIcon-IPW50ckY.js +0 -1
- package/site/dist/assets/defineChain-CiuCXUZW.js +0 -1
- package/site/dist/assets/dijkstra-Drfl93V4.js +0 -1
- package/site/dist/assets/dist-Cm7pNAtL.js +0 -1
- package/site/dist/assets/dist-CoS6E-3x.js +0 -1
- package/site/dist/assets/dist-Dl07uGq1.js +0 -1
- package/site/dist/assets/dist-DnGANz51.js +0 -16
- package/site/dist/assets/embed.worker-ugGhEqCV.js +0 -1
- package/site/dist/assets/errors-BQ3N-RVt-BLqjTPNR.js +0 -1
- package/site/dist/assets/esm-B5cbIQaz.js +0 -37
- package/site/dist/assets/esm-ByALO6mA.js +0 -1
- package/site/dist/assets/esm-C3DslVJx.js +0 -1
- package/site/dist/assets/esm-Ci1ogKuK.js +0 -1
- package/site/dist/assets/esm-n2lWo7kz.js +0 -1
- package/site/dist/assets/ethers-zTjbodk5-wHhL_BQ1.js +0 -1
- package/site/dist/assets/eventemitter3-CL76jPsW.js +0 -1
- package/site/dist/assets/external-link-D-uehwM2.js +0 -1
- package/site/dist/assets/farcaster-DPlSjvF5-BqTvDXBR.js +0 -1
- package/site/dist/assets/features-DQ0UYy6K.js +0 -2
- package/site/dist/assets/fingerprint-pattern-D8ytA16Q.js +0 -1
- package/site/dist/assets/floating-ui.react-dom-DKWOL9UG.js +0 -1
- package/site/dist/assets/floating-ui.react-xRkl9O3u.js +0 -1
- package/site/dist/assets/formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js +0 -1
- package/site/dist/assets/formatter-CVbp4SlJ.js +0 -1
- package/site/dist/assets/get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js +0 -1
- package/site/dist/assets/getChainName-DjpPdUSc-DUyKDrnp.js +0 -1
- package/site/dist/assets/getErc20Balance-jXNpFf0N-Bb9WM31M.js +0 -1
- package/site/dist/assets/getErc20TokenInfo-BNTrzLMP-KPrdn04K.js +0 -1
- package/site/dist/assets/getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js +0 -1
- package/site/dist/assets/getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js +0 -1
- package/site/dist/assets/guards-BIW-GiMJ-CHfXo8XI.js +0 -1
- package/site/dist/assets/hooks.module-BYZGfwDl.js +0 -1
- package/site/dist/assets/hourglass-CPG1HZmf.js +0 -1
- package/site/dist/assets/id-UqEwL2BI-BkKm533U.js +0 -1
- package/site/dist/assets/index-1HYFYA-W.js +0 -8
- package/site/dist/assets/index-BdEw5wyl-ChSJvPZk.js +0 -1
- package/site/dist/assets/index-DvMddJcd-BatvgC-S.js +0 -12
- package/site/dist/assets/index-YiCw0Y_x-CX5i3Z87.js +0 -437
- package/site/dist/assets/index.browser-B-i-Lj3J.js +0 -1
- package/site/dist/assets/index.browser-BMmUcykv.js +0 -1
- package/site/dist/assets/index.es-BmqyoBEM.js +0 -2
- package/site/dist/assets/index.es-C1v1or--.js +0 -3
- package/site/dist/assets/isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js +0 -1
- package/site/dist/assets/jsx-runtime-BbDfbRii.js +0 -1
- package/site/dist/assets/landmark-CH6LV6F0.js +0 -1
- package/site/dist/assets/lib-BsS8z8Lj.js +0 -1
- package/site/dist/assets/localBatchGatewayRequest-3kLrX_c7.js +0 -32
- package/site/dist/assets/lock-DcskI4Bb.js +0 -1
- package/site/dist/assets/logger-CsXm3oIv-B0UYpNFI.js +0 -1
- package/site/dist/assets/mail-Bs0r5yOi.js +0 -1
- package/site/dist/assets/modal-context-CwmSeFcv-DruX9J1E.js +0 -1
- package/site/dist/assets/native-BKj27wfc.js +0 -1
- package/site/dist/assets/ofetch.CWycOUEr-CHp-crOQ.js +0 -1
- package/site/dist/assets/parseAbi-Csg-8t59.js +0 -2
- package/site/dist/assets/parseAbiParameters-BWbIMYe4.js +0 -1
- package/site/dist/assets/parseEther-VjhVo3dd.js +0 -1
- package/site/dist/assets/pkce-DXF0yKjP-ChQhE0st.js +0 -1
- package/site/dist/assets/preload-helper-uBIymjUX.js +0 -1
- package/site/dist/assets/privy-context-81KmsBw2-CjWGzyg7.js +0 -2
- package/site/dist/assets/property-DuZ9DLP4.js +0 -3
- package/site/dist/assets/react-DCXkXSrv.js +0 -1
- package/site/dist/assets/react-DQnMl2Xv.js +0 -1
- package/site/dist/assets/react-DrJ0MmMO.js +0 -1
- package/site/dist/assets/react-auth-sHnipzbS.js +0 -1
- package/site/dist/assets/react-dom-5dW7aKoP.js +0 -1
- package/site/dist/assets/reservoir-x-nGuZkT-BMX127i6.js +0 -1
- package/site/dist/assets/roles-32M1l9jI.js +0 -1
- package/site/dist/assets/roles-DKPW79Ca.js +0 -1
- package/site/dist/assets/rolldown-runtime-BcKkbAw3.js +0 -1
- package/site/dist/assets/safe-url-D7SRPu33-CkMedGro.js +0 -1
- package/site/dist/assets/secp256k1-C4nzcPo-.js +0 -1
- package/site/dist/assets/secp256k1-D92aGNnU.js +0 -1
- package/site/dist/assets/secp256k1-DmbwyFau.js +0 -1
- package/site/dist/assets/secp256k1-_MleGpqL.js +0 -1
- package/site/dist/assets/secp256k1-xl2og-wO.js +0 -1
- package/site/dist/assets/serializeAuthorizationList-CX8hGL56.js +0 -1
- package/site/dist/assets/serializeSignature-DfxkPnu-.js +0 -2
- package/site/dist/assets/sha2-BU_QyRTx.js +0 -1
- package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BK_FBkaE.js +0 -1
- package/site/dist/assets/simulateTransaction-CfuOrae4-64lWYJAL.js +0 -1
- package/site/dist/assets/smartphone-CcEZ-XAy.js +0 -1
- package/site/dist/assets/src-BBjkfi-Q.js +0 -1
- package/site/dist/assets/storage-Ufl800Ne-D0bZBw-H.js +0 -9
- package/site/dist/assets/stringify-BlDm7tuc.js +0 -21
- package/site/dist/assets/stripe.esm-CZRDpc-N.js +0 -2
- package/site/dist/assets/styles-BsotlekN-CXEB4Ud9.js +0 -9
- package/site/dist/assets/telegram-B-JqnkqZ-RBoY3PLx.js +0 -1
- package/site/dist/assets/to-ui-error-DWe-qwS3-Cx2bk1kZ.js +0 -4
- package/site/dist/assets/toViemAccount-B5iDGq1b-Ba8L7zed.js +0 -2
- package/site/dist/assets/transaction-BNTP-bFm-M5tJx8vY.js +0 -1
- package/site/dist/assets/transfer-6YztDh-t-BVQkTvG-.js +0 -1
- package/site/dist/assets/transformers.web-CVP3pJOS.js +0 -40
- package/site/dist/assets/transformers.web-D8W1u_I2.js +0 -49
- package/site/dist/assets/triangle-alert-CWjYH75H.js +0 -1
- package/site/dist/assets/twitch-5IOe4sIQ-lDtgk0os.js +0 -1
- package/site/dist/assets/types-4CuOD23i.js +0 -1
- package/site/dist/assets/use-headless-crypto-deposit-Yn-QRLB3-LUIVFBSd.js +0 -1
- package/site/dist/assets/use-unlink-wallet-BKK4_5Ur-CC2pq27z.js +0 -1
- package/site/dist/assets/useActiveWallet-B-yZYGc6-D7Ik-LxJ.js +0 -123
- package/site/dist/assets/useGetSolPrice-x7gfUIHJ-D1hmQfpA.js +0 -1
- package/site/dist/assets/useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js +0 -1
- package/site/dist/assets/useI18n-C-5n_noF-BcqC76yj.js +0 -1
- package/site/dist/assets/useWalletBalance-CZnP5f_f-Dw2GIJ4g.js +0 -1
- package/site/dist/assets/useWallets-X1ndvJ_U-DRjz7uYD.js +0 -1
- package/site/dist/assets/utils-BkR7EQjg.js +0 -1
- package/site/dist/assets/utils-DJhBNOZA.js +0 -1
- package/site/dist/assets/utils-DdckVfQr.js +0 -1
- package/site/dist/assets/w3m-modal-BeVrBOIf.js +0 -1174
- package/site/dist/assets/wallet-Bn85Sg2W.js +0 -1
- package/site/dist/assets/wallet-Bnzeiqed.js +0 -2
- package/site/dist/assets/wallet-connect-BvJtUsDt-Y03hhqFN.js +0 -1
- package/site/dist/assets/walletconnect-registry-xxG8XLCb-D1SSFvMp.js +0 -1
- package/site/dist/assets/walletconnect-v2-3frQFwbg-CrtLXofr.js +0 -12
- package/site/dist/assets/x-rlSp9U7W.js +0 -1
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-snws5xwv.js","./rolldown-runtime-BcKkbAw3.js","./preload-helper-uBIymjUX.js","./chain-DM3oH6Px.js","./utils-BkR7EQjg.js","./esm-n2lWo7kz.js","./index.es-BmqyoBEM.js","./index.es-C1v1or--.js","./dist-CoS6E-3x.js","./dist-Dl07uGq1.js","./ApiController-CYdiyu9B.js","./_esm-B26FZg5Y.js","./parseAbi-Csg-8t59.js","./parseAbiParameters-BWbIMYe4.js","./stringify-BlDm7tuc.js","./ccip-BZvRTL6g.js","./formatter-CVbp4SlJ.js","./serializeSignature-DfxkPnu-.js","./serializeAuthorizationList-CX8hGL56.js","./sha2-BU_QyRTx.js","./secp256k1-_MleGpqL.js","./defineChain-CiuCXUZW.js","./ConstantsUtil-DmLsRHAl.js","./SIWXUtil-TUCxa7aA.js","./ConnectorUtil-Cq4lWnfe.js","./utils-DdckVfQr.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as e,s as t,t as n}from"./rolldown-runtime-BcKkbAw3.js";import{t as r}from"./preload-helper-uBIymjUX.js";import{t as i}from"./esm-n2lWo7kz.js";import{c as a}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{r as o,s}from"./storage-Ufl800Ne-D0bZBw-H.js";import{b as c,c as l,f as u}from"./toViemAccount-B5iDGq1b-Ba8L7zed.js";import{t as d}from"./lib-BsS8z8Lj.js";import{c as f,n as p}from"./guards-BIW-GiMJ-CHfXo8XI.js";import{t as m}from"./logger-CsXm3oIv-B0UYpNFI.js";import{r as h}from"./SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js";import{a as g,i as _,n as v,o as y,r as b,t as x}from"./walletconnect-registry-xxG8XLCb-D1SSFvMp.js";import{n as S}from"./wallet-connect-BvJtUsDt-Y03hhqFN.js";import{_ as C,a as w,d as T,f as E,g as D,i as O,m as k,n as A,o as j,p as M,s as N,t as P,u as F,v as I,y as ee}from"./index.es-BmqyoBEM.js";import{_ as L,a as te,c as ne,d as re,f as ie,g as ae,h as oe,i as se,l as ce,m as le,n as ue,o as de,p as fe,r as pe,s as me,t as he,u as ge,v as _e}from"./index.es-C1v1or--.js";var ve=`0.1.1`;function ye(){return ve}var R=class e extends Error{constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=`https://oxlib.sh${i??``}`,o=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i?[``,r?`Details: ${r}`:void 0,i?`See: ${a}`:void 0]:[]].filter(e=>typeof e==`string`).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,"docs",{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,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${ye()}`}),this.cause=n.cause,this.details=r,this.docs=a,this.docsPath=i,this.shortMessage=t}walk(e){return be(this,e)}};function be(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?be(e.cause,t):t?null:e}var xe=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0;function Se(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Ce(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function we(e,...t){if(!Se(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 Te(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Ce(e.outputLen),Ce(e.blockLen)}function Ee(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 De(e,t){we(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Oe(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function ke(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ae(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function je(e,t){return e<<32-t|e>>>t}var Me=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ne(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Pe(e){for(let t=0;t<e.length;t++)e[t]=Ne(e[t]);return e}var Fe=Me?e=>e:Pe;function Ie(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Le(e){return typeof e==`string`&&(e=Ie(e)),we(e),e}function Re(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];we(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 ze=class{};function Be(e){let t=t=>e().update(Le(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Ve(e=32){if(xe&&typeof xe.getRandomValues==`function`)return xe.getRandomValues(new Uint8Array(e));if(xe&&typeof xe.randomBytes==`function`)return Uint8Array.from(xe.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}function He(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 Ue(e,t,n){return e&t^~e&n}function We(e,t,n){return e&t^e&n^t&n}var Ge=class extends ze{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Ae(this.buffer)}update(e){Ee(this),e=Le(e),we(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Ae(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){Ee(this),De(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,ke(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;He(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Ae(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.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Ke=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),qe=BigInt(2**32-1),Je=BigInt(32);function Ye(e,t=!1){return t?{h:Number(e&qe),l:Number(e>>Je&qe)}:{h:Number(e>>Je&qe)|0,l:Number(e&qe)|0}}function Xe(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=Ye(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var Ze=(e,t,n)=>e<<n|t>>>32-n,Qe=(e,t,n)=>t<<n|e>>>32-n,$e=(e,t,n)=>t<<n-32|e>>>64-n,et=(e,t,n)=>e<<n-32|t>>>64-n,tt=BigInt(0),nt=BigInt(1),rt=BigInt(2),it=BigInt(7),at=BigInt(256),ot=BigInt(113),st=[],ct=[],lt=[];for(let e=0,t=nt,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],st.push(2*(5*r+n)),ct.push((e+1)*(e+2)/2%64);let i=tt;for(let e=0;e<7;e++)t=(t<<nt^(t>>it)*ot)%at,t&rt&&(i^=nt<<(nt<<BigInt(e))-nt);lt.push(i)}var ut=Xe(lt,!0),dt=ut[0],ft=ut[1],pt=(e,t,n)=>n>32?$e(e,t,n):Ze(e,t,n),mt=(e,t,n)=>n>32?et(e,t,n):Qe(e,t,n);function ht(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=pt(a,o,1)^n[r],c=mt(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=ct[n],a=pt(t,i,r),o=mt(t,i,r),s=st[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]^=dt[r],e[1]^=ft[r]}ke(n)}var gt=class e extends ze{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,Ce(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Oe(this.state)}clone(){return this._cloneInto()}keccak(){Fe(this.state32),ht(this.state32,this.rounds),Fe(this.state32),this.posOut=0,this.pos=0}update(e){Ee(this),e=Le(e),we(e);let{blockLen:t,state:n}=this,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){Ee(this,!1),we(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 Ce(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(De(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,ke(this.state)}_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}},_t=((e,t,n)=>Be(()=>new gt(t,e,n)))(1,136,32),vt=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),yt=new Uint32Array(64),bt=class extends Ge{constructor(e=32){super(64,e,8,!1),this.A=Ke[0]|0,this.B=Ke[1]|0,this.C=Ke[2]|0,this.D=Ke[3]|0,this.E=Ke[4]|0,this.F=Ke[5]|0,this.G=Ke[6]|0,this.H=Ke[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)yt[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=yt[e-15],n=yt[e-2],r=je(t,7)^je(t,18)^t>>>3,i=je(n,17)^je(n,19)^n>>>10;yt[e]=i+yt[e-7]+r+yt[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=je(o,6)^je(o,11)^je(o,25),u=l+t+Ue(o,s,c)+vt[e]+yt[e]|0,d=(je(n,2)^je(n,13)^je(n,22))+We(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(){ke(yt)}destroy(){this.set(0,0,0,0,0,0,0,0),ke(this.buffer)}},xt=Be(()=>new bt),St=BigInt(0),Ct=BigInt(1);function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Tt(e){if(!wt(e))throw Error(`Uint8Array expected`)}function Et(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function Dt(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Ot(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?St:BigInt(`0x`+e)}var kt=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,At=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function jt(e){if(Tt(e),kt)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=At[e[n]];return t}var Mt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Nt(e){if(e>=Mt._0&&e<=Mt._9)return e-Mt._0;if(e>=Mt.A&&e<=Mt.F)return e-(Mt.A-10);if(e>=Mt.a&&e<=Mt.f)return e-(Mt.a-10)}function Pt(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(kt)return Uint8Array.fromHex(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=Nt(e.charCodeAt(i)),a=Nt(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 Ft(e){return Ot(jt(e))}function It(e){return Tt(e),Ot(jt(Uint8Array.from(e).reverse()))}function Lt(e,t){return Pt(e.toString(16).padStart(t*2,`0`))}function Rt(e,t){return Lt(e,t).reverse()}function zt(e,t,n){let r;if(typeof t==`string`)try{r=Pt(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(wt(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 Bt(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Tt(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 Vt=e=>typeof e==`bigint`&&St<=e;function Ht(e,t,n){return Vt(e)&&Vt(t)&&Vt(n)&&t<=e&&e<n}function Ut(e,t,n,r){if(!Ht(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Wt(e){let t=0;for(;e>St;e>>=Ct,t+=1);return t}var Gt=e=>(Ct<<BigInt(e))-Ct,Kt=e=>new Uint8Array(e),qt=e=>Uint8Array.from(e);function Jt(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=Kt(e),i=Kt(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Kt(0))=>{i=s(qt([0]),e),r=s(),e.length!==0&&(i=s(qt([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return Bt(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}var Yt={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`||wt(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 Xt(e,t,n={}){let r=(t,n,r)=>{let i=Yt[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 Zt(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}}function Qt(e,t){if(Nn(e)>t)throw new In({givenSize:Nn(e),maxSize:t})}var $t={zero:48,nine:57,A:65,F:70,a:97,f:102};function en(e){if(e>=$t.zero&&e<=$t.nine)return e-$t.zero;if(e>=$t.A&&e<=$t.F)return e-($t.A-10);if(e>=$t.a&&e<=$t.f)return e-($t.a-10)}function tn(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Ln({size:e.length,targetSize:r,type:`Bytes`});let i=new Uint8Array(r);for(let t=0;t<r;t++){let a=n===`right`;i[a?t:r-t-1]=e[a?t:e.length-t-1]}return i}function nn(e,t){if(vn(e)>t)throw new Cn({givenSize:vn(e),maxSize:t})}function rn(e,t){if(typeof t==`number`&&t>0&&t>vn(e)-1)throw new wn({offset:t,position:`start`,size:vn(e)})}function an(e,t,n){if(typeof t==`number`&&typeof n==`number`&&vn(e)!==n-t)throw new wn({offset:n,position:`end`,size:vn(e)})}function on(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new Tn({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}var sn=`#__bigint`;function cn(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+sn:n,n)}var ln=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function un(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new xn(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Sn(e)}function dn(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function fn(e){return e instanceof Uint8Array?pn(e):Array.isArray(e)?pn(new Uint8Array(e)):e}function pn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=ln[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(nn(r,t.size),gn(r,t.size)):r}function mn(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 bn({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?hn(s,r):s}function hn(e,t){return on(e,{dir:`left`,size:t})}function gn(e,t){return on(e,{dir:`right`,size:t})}function _n(e,t,n,r={}){let{strict:i}=r;rn(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&an(a,t,n),a}function vn(e){return Math.ceil((e.length-2)/2)}function yn(e,t={}){let{strict:n=!1}=t;try{return un(e,{strict:n}),!0}catch{return!1}}var bn=class extends R{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}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},xn=class extends R{constructor(e){super(`Value \`${typeof e==`object`?cn(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexTypeError`})}},Sn=class extends R{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Cn=class extends R{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},wn=class extends R{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Tn=class extends R{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}},En=new TextEncoder;function Dn(e){if(!(e instanceof Uint8Array)&&(!e||typeof e!=`object`||!(`BYTES_PER_ELEMENT`in e)||e.BYTES_PER_ELEMENT!==1||e.constructor.name!==`Uint8Array`))throw new Fn(e)}function On(e){return e instanceof Uint8Array?e:typeof e==`string`?An(e):kn(e)}function kn(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function An(e,t={}){let{size:n}=t,r=e;n&&(nn(e,n),r=gn(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=en(i.charCodeAt(t++)),r=en(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new R(`Invalid byte sequence ("${i[t-2]}${i[t-1]}" in "${i}").`);o[e]=n*16+r}return o}function jn(e,t={}){let{size:n}=t,r=En.encode(e);return typeof n==`number`?(Qt(r,n),Mn(r,n)):r}function Mn(e,t){return tn(e,{dir:`right`,size:t})}function Nn(e){return e.length}function Pn(e){try{return Dn(e),!0}catch{return!1}}var Fn=class extends R{constructor(e){super(`Value \`${typeof e==`object`?cn(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesTypeError`})}},In=class extends R{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},Ln=class extends R{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}};function Rn(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=_t(On(e));return n===`Bytes`?r:pn(r)}var zn={checksum: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)}.checksum;function Bn(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new Kn({prefix:r,cause:new Jn});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new Kn({prefix:r,cause:new qn});return}throw new Gn({publicKey:e})}function Vn(e){let t=(()=>{if(yn(e))return Un(e);if(Pn(e))return Hn(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return Bn(t),t}function Hn(e){return Un(pn(e))}function Un(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new Yn({publicKey:e});return e.length===130?{prefix:4,x:BigInt(_n(e,0,32)),y:BigInt(_n(e,32,64))}:e.length===132?{prefix:Number(_n(e,0,1)),x:BigInt(_n(e,1,33)),y:BigInt(_n(e,33,65))}:{prefix:Number(_n(e,0,1)),x:BigInt(_n(e,1,33))}}function Wn(e,t={}){Bn(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return dn(a?mn(n,{size:1}):`0x`,mn(r,{size:32}),typeof i==`bigint`?mn(i,{size:32}):`0x`)}var Gn=class extends R{constructor({publicKey:e}){super(`Value \`${cn(e)}\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,"- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},Kn=class extends R{constructor({prefix:e,cause:t}){super(`Prefix "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},qn=class extends R{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},Jn=class extends R{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},Yn=class extends R{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${vn(fn(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}},Xn=/^0x[a-fA-F0-9]{40}$/;function Zn(e,t={}){let{strict:n=!0}=t;if(!Xn.test(e))throw new tr({address:e,cause:new nr});if(n){if(e.toLowerCase()===e)return;if(Qn(e)!==e)throw new tr({address:e,cause:new rr})}}function Qn(e){if(zn.has(e))return zn.get(e);Zn(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Rn(jn(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return zn.set(e,i),i}function $n(e,t={}){let{checksum:n=!1}=t;return Zn(e),n?Qn(e):e}function er(e,t={}){return $n(`0x${Rn(`0x${Wn(e).slice(4)}`).substring(26)}`,t)}var tr=class extends R{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},nr=class extends R{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},rr=class extends R{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}},ir=class extends ze{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Te(e);let n=Le(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),ke(i)}update(e){return Ee(this),this.iHash.update(e),this}digestInto(e){Ee(this),we(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}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ar=(e,t,n)=>new ir(e,t).update(n).digest();ar.create=(e,t)=>new ir(e,t);var or=BigInt(0),sr=BigInt(1),cr=BigInt(2),lr=BigInt(3),ur=BigInt(4),dr=BigInt(5),fr=BigInt(8);function pr(e,t){let n=e%t;return n>=or?n:t+n}function mr(e,t,n){let r=e;for(;t-->or;)r*=r,r%=n;return r}function hr(e,t){if(e===or)throw Error(`invert: expected non-zero number`);if(t<=or)throw Error(`invert: expected positive modulus, got `+t);let n=pr(e,t),r=t,i=or,a=sr,o=sr,s=or;for(;n!==or;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==sr)throw Error(`invert: does not exist`);return pr(i,t)}function gr(e,t){let n=(e.ORDER+sr)/ur,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function _r(e,t){let n=(e.ORDER-dr)/fr,r=e.mul(t,cr),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,cr),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),t))throw Error(`Cannot find square root`);return s}function vr(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-sr,n=0;for(;t%cr===or;)t/=cr,n++;let r=cr,i=Er(e);for(;wr(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return gr;let a=i.pow(r,t),o=(t+sr)/cr;return function(e,r){if(e.is0(r))return r;if(wr(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=sr<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function yr(e){return e%ur===lr?gr:e%fr===dr?_r:vr(e)}var br=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function xr(e){return Xt(e,br.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Sr(e,t,n){if(n<or)throw Error(`invalid exponent, negatives unsupported`);if(n===or)return e.ONE;if(n===sr)return t;let r=e.ONE,i=t;for(;n>or;)n&sr&&(r=e.mul(r,i)),i=e.sqr(i),n>>=sr;return r}function Cr(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function wr(e,t){let n=(e.ORDER-sr)/cr,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Tr(e,t){t!==void 0&&Ce(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Er(e,t,n=!1,r={}){if(e<=or)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Tr(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:Gt(i),ZERO:or,ONE:sr,create:t=>pr(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return or<=t&&t<e},is0:e=>e===or,isOdd:e=>(e&sr)===sr,neg:t=>pr(-t,e),eql:(e,t)=>e===t,sqr:t=>pr(t*t,e),add:(t,n)=>pr(t+n,e),sub:(t,n)=>pr(t-n,e),mul:(t,n)=>pr(t*n,e),pow:(e,t)=>Sr(s,e,t),div:(t,n)=>pr(t*hr(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>hr(t,e),sqrt:r.sqrt||(t=>(o||=yr(e),o(s,t))),toBytes:e=>n?Rt(e,a):Lt(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?It(e):Ft(e)},invertBatch:e=>Cr(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Dr(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Or(e){let t=Dr(e);return t+Math.ceil(t/2)}function kr(e,t,n=!1){let r=e.length,i=Dr(t),a=Or(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=pr(n?It(e):Ft(e),t-sr)+sr;return n?Rt(o,i):Lt(o,i)}var Ar=BigInt(0),jr=BigInt(1);function Mr(e,t){let n=t.negate();return e?n:t}function Nr(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Pr(e,t){Nr(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Gt(e),maxNumber:i,shiftBy:BigInt(e)}}function Fr(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=jr);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function Ir(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 Lr(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 Rr=new WeakMap,zr=new WeakMap;function Br(e){return zr.get(e)||1}function Vr(e,t){return{constTimeNegate:Mr,hasPrecomputes(e){return Br(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Ar;)n&jr&&(r=r.add(i)),i=i.double(),n>>=jr;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Pr(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 a=e.ZERO,o=e.BASE,s=Pr(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=Fr(i,e,s);i=t,c?o=o.add(Mr(u,r[d])):a=a.add(Mr(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=Pr(n,t);for(let e=0;e<o.windows&&i!==Ar;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=Fr(i,e,o);if(i=t,!s){let e=r[n];a=a.add(c?e.negate():e)}}return a},getPrecomputes(e,t,n){let r=Rr.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Rr.set(t,n(r))),r},wNAFCached(e,t,n){let r=Br(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Br(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Nr(n,t),zr.set(e,n),Rr.delete(e)}}}function Hr(e,t,n,r){Ir(n,e),Lr(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=Wt(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Gt(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function Ur(e){return xr(e.Fp),Xt(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Tr(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function Wr(e){e.lowS!==void 0&&Et(`lowS`,e.lowS),e.prehash!==void 0&&Et(`prehash`,e.prehash)}function Gr(e){let t=Ur(e);Xt(t,{a:`field`,b:`field`},{allowInfinityPoint:`boolean`,allowedPrivateKeyLengths:`array`,clearCofactor:`function`,fromBytes:`function`,isTorsionFree:`function`,toBytes:`function`,wrapPrivateKey:`boolean`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`invalid endo: CURVE.a must be 0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`invalid endo: expected "beta": bigint and "splitScalar": function`)}return Object.freeze({...t})}var Kr={Err:class extends Error{constructor(e=``){super(e)}},_tlv:{encode:(e,t)=>{let{Err:n}=Kr;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=Dt(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?Dt(i.length/2|128):``;return Dt(e)+a+i+t},decode(e,t){let{Err:n}=Kr,r=0;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length<2||t[r++]!==e)throw new n(`tlv.decode: wrong tlv`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;if(!e)throw new n(`tlv.decode(long): indefinite length not supported`);if(e>4)throw new n(`tlv.decode(long): byte length is too big`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=Kr;if(e<Jr)throw new t(`integer: negative integers are not allowed`);let n=Dt(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=Kr;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return Ft(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Kr,i=zt(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=Kr,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}};function qr(e,t){return jt(Lt(e,t))}var Jr=BigInt(0),Yr=BigInt(1),Xr=BigInt(3),Zr=BigInt(4);function Qr(e){let t=Gr(e),{Fp:n}=t,r=Er(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return Bt(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),a=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}function s(e,t){let r=n.sqr(t),i=o(e);return n.eql(r,i)}if(!s(t.Gx,t.Gy))throw Error(`bad curve params: generator point`);let c=n.mul(n.pow(t.a,Xr),Zr),l=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,l)))throw Error(`bad curve params: a or b`);function u(e){return Ht(e,Yr,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(wt(e)&&(e=jt(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`invalid private key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:Ft(zt(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=pr(o,a)),Ut(`private key`,o,Yr,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=Zt((e,t)=>{let{px:r,py:i,pz:a}=e;if(n.eql(a,n.ONE))return{x:r,y:i};let o=e.is0();t??=o?n.ONE:n.inv(a);let s=n.mul(r,t),c=n.mul(i,t),l=n.mul(a,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),m=Zt(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw Error(`bad point: ZERO`)}let{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error(`bad point: x or y not FE`);if(!s(r,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});class h{constructor(e,t,r){if(e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t)||n.is0(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`);this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof h)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?h.ZERO:new h(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=Cr(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(h.fromAffine)}static fromHex(e){let t=h.fromAffine(a(zt(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return Hr(h,r,e,t)}_setWindowSize(e){v.setWindowSize(this,e)}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){f(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,Xr),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,d=n.mul(a,a),f=n.mul(o,o),p=n.mul(s,s),m=n.mul(a,o);return m=n.add(m,m),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,p),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(m,c),u=n.mul(i,u),p=n.mul(e,p),m=n.sub(d,p),m=n.mul(e,m),m=n.add(m,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,p),d=n.mul(d,m),l=n.add(l,d),p=n.mul(o,s),p=n.add(p,p),d=n.mul(p,m),c=n.sub(c,d),u=n.mul(p,f),u=n.add(u,u),u=n.add(u,u),new h(c,l,u)}add(e){f(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,u=n.ZERO,d=n.ZERO,p=t.a,m=n.mul(t.b,Xr),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;Ut(`scalar`,e,Jr,i);let a=h.ZERO;if(e===Jr)return a;if(this.is0()||e===Yr)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>Jr||l>Jr;)s&Yr&&(u=u.add(f)),l&Yr&&(d=d.add(f)),f=f.double(),s>>=Yr,l>>=Yr;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;Ut(`scalar`,e,Yr,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===Jr||t===Yr||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===Yr)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===Yr?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Et(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Et(`isCompressed`,e),jt(this.toRawBytes(e))}}h.BASE=new h(t.Gx,t.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);let{endo:g,nBitLength:_}=t,v=Vr(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function $r(e){let t=Ur(e);return Xt(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function ei(e){let t=$r(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return pr(e,r)}function l(e){return hr(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Qr({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=Bt;return Et(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=Ft(i);if(!Ht(e,Yr,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&Yr)===Yr;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>Yr}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>Ft(e.slice(t,n));class _{constructor(e,t,n){Ut(`r`,e,Yr,r),Ut(`s`,t,Yr,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=zt(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Kr.toSig(zt(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(zt(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let s=a===2||a===3?r+t.n:r;if(s>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=u.fromHex(d+qr(s,n.BYTES)),p=l(s),m=c(-o*p),h=c(i*p),g=u.BASE.multiplyAndAddUnsafe(f,m,h);if(!g)throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Pt(this.toDERHex())}toDERHex(){return Kr.hexFromSig(this)}toCompactRawBytes(){return Pt(this.toCompactHex())}toCompactHex(){let e=i;return qr(this.r,e)+qr(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Or(t.n);return kr(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function b(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=zt(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function x(e,t,n=!0){if(b(e)===!0)throw Error(`first arg must be private key`);if(b(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let S=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=Ft(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Gt(a);function T(e){return Ut(`num < 2^`+a,e,Jr,w),Lt(e,i)}function E(e,r,i=D){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=zt(`msgHash`,e),Wr(i),f&&(e=zt(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(zt(`extraEntropy`,e))}let x=Bt(...b),w=v;function E(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===Jr)return;let a=c(n*c(w+i*y));if(a===Jr)return;let o=(r.x===i?0:2)|Number(r.y&Yr),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:E}}let D={lowS:t.lowS,prehash:!1},O={lowS:t.lowS,prehash:!1};function k(e,n,r=D){let{seed:i,k2sig:a}=E(e,n,r),o=t;return Jt(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function A(e,n,r,i=O){let a=e;n=zt(`msgHash`,n),r=zt(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(Wr(i),`strict`in i)throw Error(`options.strict was renamed to lowS`);if(d!==void 0&&d!==`compact`&&d!==`der`)throw Error(`format must be compact or der`);let f=typeof a==`string`||wt(a),p=!f&&!d&&typeof a==`object`&&!!a&&typeof a.r==`bigint`&&typeof a.s==`bigint`;if(!f&&!p)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);let m,h;try{if(p&&(m=new _(a.r,a.s)),f){try{d!==`compact`&&(m=_.fromDER(a))}catch(e){if(!(e instanceof Kr.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:k,verify:A,ProjectivePoint:u,Signature:_,utils:v}}function ti(e){return{hash:e,hmac:(t,...n)=>ar(e,t,Re(...n)),randomBytes:Ve}}function ni(e,t){let n=t=>ei({...e,...ti(t)});return{...n(t),create:n}}var ri=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),ii=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),ai=BigInt(0),oi=BigInt(1),si=BigInt(2),ci=(e,t)=>(e+t/si)/t;function li(e){let t=ri,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=mr(mr(mr(u,n,t)*u%t,n,t)*u%t,si,t)*l%t,f=mr(d,i,t)*d%t,p=mr(f,a,t)*f%t,m=mr(p,s,t)*p%t,h=mr(mr(mr(mr(mr(mr(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,si,t);if(!ui.eql(ui.sqr(h),e))throw Error(`Cannot find square root`);return h}var ui=Er(ri,void 0,void 0,{sqrt:li}),di=ni({a:ai,b:BigInt(7),Fp:ui,n:ii,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=ii,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-oi*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=ci(a*e,t),c=ci(-r*e,t),l=pr(e-s*n-c*i,t),u=pr(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},xt);function fi(e){if(e.length!==130&&e.length!==132)throw new mi({signature:e});let t=BigInt(_n(e,0,32)),n=BigInt(_n(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return pi(t)}catch{throw new hi({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function pi(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new gi({value:e})}var mi=class extends R{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${vn(fn(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},hi=class extends R{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},gi=class extends R{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};function _i(e){return er(vi(e))}function vi(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return Vn(new di.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(fn(t).substring(2)))}var yi=t(ee()),z=L(),bi=ae(),xi=oe();function Si(e){return globalThis.Buffer==null?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Ci(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Si(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function wi(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=Ci(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return Si(n)}function Ti(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 Ei=Ti,Di=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`)},Oi=e=>new TextEncoder().encode(e),ki=e=>new TextDecoder().decode(e),Ai=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`)}},ji=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))}throw Error(`Can only multibase decode strings`)}or(e){return Ni(this,e)}},Mi=class{constructor(e){this.decoders=e}or(e){return Ni(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`)}},Ni=(e,t)=>new Mi({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Pi=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new Ai(e,t,n),this.decoder=new ji(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Fi=({name:e,prefix:t,encode:n,decode:r})=>new Pi(e,t,n,r),Ii=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=Ei(n,t);return Fi({prefix:e,name:t,encode:r,decode:e=>Di(i(e))})},Li=(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},Ri=(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},zi=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Fi({prefix:t,name:e,encode(e){return Ri(e,r,n)},decode(t){return Li(t,r,n,e)}}),Bi=e({identity:()=>Vi}),Vi=Fi({prefix:`\0`,name:`identity`,encode:e=>ki(e),decode:e=>Oi(e)}),Hi=e({base2:()=>Ui}),Ui=zi({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),Wi=e({base8:()=>Gi}),Gi=zi({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),Ki=e({base10:()=>qi}),qi=Ii({prefix:`9`,name:`base10`,alphabet:`0123456789`}),Ji=e({base16:()=>Yi,base16upper:()=>Xi}),Yi=zi({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Xi=zi({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Zi=e({base32:()=>Qi,base32hex:()=>na,base32hexpad:()=>ia,base32hexpadupper:()=>aa,base32hexupper:()=>ra,base32pad:()=>ea,base32padupper:()=>ta,base32upper:()=>$i,base32z:()=>oa}),Qi=zi({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),$i=zi({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),ea=zi({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),ta=zi({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),na=zi({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),ra=zi({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),ia=zi({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),aa=zi({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),oa=zi({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),sa=e({base36:()=>ca,base36upper:()=>la}),ca=Ii({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),la=Ii({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),ua=e({base58btc:()=>da,base58flickr:()=>fa}),da=Ii({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),fa=Ii({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),pa=e({base64:()=>ma,base64pad:()=>ha,base64url:()=>ga,base64urlpad:()=>_a}),ma=zi({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),ha=zi({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),ga=zi({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),_a=zi({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),va=e({base256emoji:()=>wa}),ya=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),ba=ya.reduce((e,t,n)=>(e[n]=t,e),[]),xa=ya.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function Sa(e){return e.reduce((e,t)=>(e+=ba[t],e),``)}function Ca(e){let t=[];for(let n of e){let e=xa[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var wa=Fi({prefix:`🚀`,name:`base256emoji`,encode:Sa,decode:Ca}),Ta=ka,Ea=128,Da=-128,Oa=2**31;function ka(e,t,n){t||=[],n||=0;for(var r=n;e>=Oa;)t[n++]=e&255|Ea,e/=128;for(;e&Da;)t[n++]=e&255|Ea,e>>>=7;return t[n]=e|0,ka.bytes=n-r+1,t}var Aa=Na,ja=128,Ma=127;function Na(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw Na.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&Ma)<<r:(a&Ma)*2**r,r+=7}while(a>=ja);return Na.bytes=i-t,n}var Pa=128,Fa=2**14,Ia=2**21,La=2**28,Ra=2**35,za=2**42,Ba=2**49,Va=2**56,Ha=2**63,Ua={encode:Ta,decode:Aa,encodingLength:function(e){return e<Pa?1:e<Fa?2:e<Ia?3:e<La?4:e<Ra?5:e<za?6:e<Ba?7:e<Va?8:e<Ha?9:10}},Wa=(e,t,n=0)=>(Ua.encode(e,t,n),t),Ga=e=>Ua.encodingLength(e),Ka=(e,t)=>{let n=t.byteLength,r=Ga(e),i=r+Ga(n),a=new Uint8Array(i+n);return Wa(e,a,0),Wa(n,a,r),a.set(t,i),new qa(e,n,t,a)},qa=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},Ja=({name:e,code:t,encode:n})=>new Ya(e,t,n),Ya=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?Ka(this.code,t):t.then(e=>Ka(this.code,e))}throw Error(`Unknown type, must be binary type`)}},Xa=e({sha256:()=>Qa,sha512:()=>$a}),Za=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Qa=Ja({name:`sha2-256`,code:18,encode:Za(`SHA-256`)}),$a=Ja({name:`sha2-512`,code:19,encode:Za(`SHA-512`)}),eo=e({identity:()=>io}),to=0,no=`identity`,ro=Di,io={code:to,name:no,encode:ro,digest:e=>Ka(to,ro(e))};new TextEncoder,new TextDecoder;var ao={...Bi,...Hi,...Wi,...Ki,...Ji,...Zi,...sa,...ua,...pa,...va};({...Xa,...eo});function oo(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var so=oo(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),co=oo(`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=Ci(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),lo={utf8:so,"utf-8":so,hex:ao.base16,latin1:co,ascii:co,binary:co,...ao};function uo(e,t=`utf8`){let n=lo[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Si(globalThis.Buffer.from(e,`utf-8`)):n.decoder.decode(`${n.prefix}${e}`)}function fo(e,t=`utf8`){let n=lo[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 po=n(((e,t)=>{var n=D();t.exports=f;var r=N().console||{},i={mapHttpRequest:T,mapHttpResponse:T,wrapRequestSerializer:E,wrapResponseSerializer:E,wrapErrorSerializer:E,req:T,res:T,err:C,errWithCause:C};function a(e,t){return e===`silent`?1/0:t.levels.values[e]}var o=Symbol(`pino.logFuncs`),s=Symbol(`pino.hierarchy`),c={error:`log`,fatal:`error`,warn:`error`,info:`log`,debug:`log`,trace:`log`};function l(e,t){t[s]={logger:t,parent:e[s]}}function u(e,t,n){let i={};t.forEach(e=>{i[e]=n[e]?n[e]:r[e]||r[c[e]||`log`]||O}),e[o]=i}function d(e,t){return Array.isArray(e)?e.filter(function(e){return e!==`!stdSerializers.err`}):e===!0&&Object.keys(t)}function f(e){e||={},e.browser=e.browser||{};let t=e.browser.transmit;if(t&&typeof t.send!=`function`)throw Error(`pino: transmit option must have a send function`);let n=e.browser.write||r;e.browser.write&&(e.browser.asObject=!0);let i=e.serializers||{},o=d(e.browser.serialize,i),s=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf(`!stdSerializers.err`)>-1&&(s=!1);let c=Object.keys(e.customLevels||{}),f=[`error`,`fatal`,`warn`,`info`,`debug`,`trace`].concat(c);typeof n==`function`&&f.forEach(function(e){n[e]=n}),(e.enabled===!1||e.browser.disabled)&&(e.level=`silent`);let m=e.level||`info`,h=Object.create(n);h.log||=O,u(h,f,n),l({},h),Object.defineProperty(h,"levelVal",{get:v}),Object.defineProperty(h,"level",{get:y,set:x});let _={transmit:t,serialize:o,asObject:e.browser.asObject,asObjectBindingsOnly:e.browser.asObjectBindingsOnly,formatters:e.browser.formatters,levels:f,timestamp:w(e),messageKey:e.messageKey||`msg`,onChild:e.onChild||O};h.levels=p(e),h.level=m,h.isLevelEnabled=function(e){return this.levels.values[e]?this.levels.values[e]>=this.levels.values[this.level]:!1},h.setMaxListeners=h.getMaxListeners=h.emit=h.addListener=h.on=h.prependListener=h.once=h.prependOnceListener=h.removeListener=h.removeAllListeners=h.listeners=h.listenerCount=h.eventNames=h.write=h.flush=O,h.serializers=i,h._serialize=o,h._stdErrSerialize=s,h.child=function(...e){return C.call(this,_,...e)},t&&(h._logEvent=S());function v(){return a(this.level,this)}function y(){return this._level}function x(e){if(e!==`silent`&&!this.levels.values[e])throw Error(`unknown level `+e);this._level=e,g(this,_,h,`error`),g(this,_,h,`fatal`),g(this,_,h,`warn`),g(this,_,h,`info`),g(this,_,h,`debug`),g(this,_,h,`trace`),c.forEach(e=>{g(this,_,h,e)})}function C(n,r,a){if(!r)throw Error(`missing bindings for child Pino`);a||={},o&&r.serializers&&(a.serializers=r.serializers);let s=a.serializers;if(o&&s){var c=Object.assign({},i,s),u=e.browser.serialize===!0?Object.keys(c):o;delete r.serializers,b([r],u,c,this._stdErrSerialize)}function d(e){this._childLevel=(e._childLevel|0)+1,this.bindings=r,c&&(this.serializers=c,this._serialize=u),t&&(this._logEvent=S([].concat(e._logEvent.bindings,r)))}d.prototype=this;let f=new d(this);return l(this,f),f.child=function(...e){return C.call(this,n,...e)},f.level=a.level||this.level,n.onChild(f),f}return h}function p(e){let t=e.customLevels||{};return{values:Object.assign({},f.levels.values,t),labels:Object.assign({},f.levels.labels,m(t))}}function m(e){let t={};return Object.keys(e).forEach(function(n){t[e[n]]=n}),t}f.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:`trace`,20:`debug`,30:`info`,40:`warn`,50:`error`,60:`fatal`}},f.stdSerializers=i,f.stdTimeFunctions=Object.assign({},{nullTime:k,epochTime:A,unixTime:j,isoTime:M});function h(e){let t=[];e.bindings&&t.push(e.bindings);let n=e[s];for(;n.parent;)n=n.parent,n.logger.bindings&&t.push(n.logger.bindings);return t.reverse()}function g(e,t,n,r){if(Object.defineProperty(e,r,{value:a(e.level,n)>a(r,n)?O:n[o][r],writable:!0,enumerable:!0,configurable:!0}),e[r]===O){if(!t.transmit)return;let i=a(t.transmit.level||e.level,n);if(a(r,n)<i)return}e[r]=v(e,t,n,r);let i=h(e);i.length!==0&&(e[r]=_(i,e[r]))}function _(e,t){return function(){return t.apply(this,[...e,...arguments])}}function v(e,t,n,i){return(function(o){return function(){let s=t.timestamp(),c=Array(arguments.length),l=Object.getPrototypeOf&&Object.getPrototypeOf(this)===r?r:this;for(var u=0;u<c.length;u++)c[u]=arguments[u];var d=!1;if(t.serialize&&(b(c,this._serialize,this.serializers,this._stdErrSerialize),d=!0),t.asObject||t.formatters?o.call(l,...y(this,i,c,s,t)):o.apply(l,c),t.transmit){let r=t.transmit.level||e._level,o=a(r,n),l=a(i,n);if(l<o)return;x(this,{ts:s,methodLevel:i,methodValue:l,transmitLevel:r,transmitValue:n.levels.values[t.transmit.level||e._level],send:t.transmit.send,val:a(e._level,n)},c,d)}}})(e[o][i])}function y(e,t,r,i,a){let{level:o,log:s=e=>e}=a.formatters||{},c=r.slice(),l=c[0],u={},d=(e._childLevel|0)+1;if(d<1&&(d=1),i&&(u.time=i),o){let n=o(t,e.levels.values[t]);Object.assign(u,n)}else u.level=e.levels.values[t];if(a.asObjectBindingsOnly){if(typeof l==`object`&&l)for(;d--&&typeof c[0]==`object`;)Object.assign(u,c.shift());return[s(u),...c]}if(typeof l==`object`&&l){for(;d--&&typeof c[0]==`object`;)Object.assign(u,c.shift());l=c.length?n(c.shift(),c):void 0}else typeof l==`string`&&(l=n(c.shift(),c));return l!==void 0&&(u[a.messageKey]=l),[s(u)]}function b(e,t,n,r){for(let i in e)if(r&&e[i]instanceof Error)e[i]=f.stdSerializers.err(e[i]);else if(typeof e[i]==`object`&&!Array.isArray(e[i])&&t)for(let r in e[i])t.indexOf(r)>-1&&r in n&&(e[i][r]=n[r](e[i][r]))}function x(e,t,n,r=!1){let i=t.send,a=t.ts,o=t.methodLevel,s=t.methodValue,c=t.val,l=e._logEvent.bindings;r||b(n,e._serialize||Object.keys(e.serializers),e.serializers,e._stdErrSerialize===void 0||e._stdErrSerialize),e._logEvent.ts=a,e._logEvent.messages=n.filter(function(e){return l.indexOf(e)===-1}),e._logEvent.level.label=o,e._logEvent.level.value=s,i(o,e._logEvent,c),e._logEvent=S(l)}function S(e){return{ts:0,messages:[],bindings:e||[],level:{label:``,value:0}}}function C(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let n in e)t[n]===void 0&&(t[n]=e[n]);return t}function w(e){return typeof e.timestamp==`function`?e.timestamp:e.timestamp===!1?k:A}function T(){return{}}function E(e){return e}function O(){}function k(){return!1}function A(){return Date.now()}function j(){return Math.round(Date.now()/1e3)}function M(){return new Date(Date.now()).toISOString()}function N(){function e(e){return e!==void 0&&e}try{return typeof globalThis<`u`||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return e(self)||e(window)||e(this)||{}}}t.exports.default=f,t.exports.pino=f})),mo=de(),ho=t(po()),go={level:`info`},_o=`custom_context`,vo=1024e3,yo=Object.defineProperty,bo=(e,t,n)=>t in e?yo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xo=(e,t,n)=>bo(e,typeof t==`symbol`?t:t+``,n),So=class{constructor(e){xo(this,`nodeValue`),xo(this,`sizeInBytes`),xo(this,`next`),this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}},Co=class{constructor(e){xo(this,`lengthInNodes`),xo(this,`sizeInBytes`),xo(this,`head`),xo(this,`tail`),xo(this,`maxSizeInBytes`),this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){let t=new So(e);if(t.size>this.maxSizeInBytes)throw Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=t),this.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;let e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){let e=[],t=this.head;for(;t!==null;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};let t=e.value;return e=e.next,{done:!1,value:t}}}}},wo=Object.defineProperty,To=(e,t,n)=>t in e?wo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eo=(e,t,n)=>To(e,typeof t==`symbol`?t:t+``,n),Do=class{constructor(e,t=vo){Eo(this,`logs`),Eo(this,`level`),Eo(this,`levelValue`),Eo(this,`MAX_LOG_SIZE_IN_BYTES`),this.level=e??`error`,this.levelValue=ho.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Co(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===ho.levels.values.error?console.error(e):t===ho.levels.values.warn?console.warn(e):t===ho.levels.values.debug?console.debug(e):t===ho.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(I({timestamp:new Date().toISOString(),log:e}));let t=typeof e==`string`?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new Co(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){let t=this.getLogArray();return t.push(I({extraMetadata:e})),new Blob(t,{type:`application/json`})}},Oo=Object.defineProperty,ko=(e,t,n)=>t in e?Oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ao=(e,t,n)=>ko(e,typeof t==`symbol`?t:t+``,n),jo=class{constructor(e,t=vo){Ao(this,`baseChunkLogger`),this.baseChunkLogger=new Do(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){let t=URL.createObjectURL(this.logsToBlob(e)),n=document.createElement(`a`);n.href=t,n.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}},Mo=Object.defineProperty,No=(e,t,n)=>t in e?Mo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Po=(e,t,n)=>No(e,typeof t==`symbol`?t:t+``,n),Fo=class{constructor(e,t=vo){Po(this,`baseChunkLogger`),this.baseChunkLogger=new Do(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}},Io=Object.defineProperty,Lo=Object.defineProperties,Ro=Object.getOwnPropertyDescriptors,zo=Object.getOwnPropertySymbols,Bo=Object.prototype.hasOwnProperty,Vo=Object.prototype.propertyIsEnumerable,Ho=(e,t,n)=>t in e?Io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Uo=(e,t)=>{for(var n in t||={})Bo.call(t,n)&&Ho(e,n,t[n]);if(zo)for(var n of zo(t))Vo.call(t,n)&&Ho(e,n,t[n]);return e},Wo=(e,t)=>Lo(e,Ro(t));function Go(e){return Wo(Uo({},e),{level:e?.level||go.level})}function Ko(e,t,n=_o){return e[n]=t,e}function qo(e,t=_o){return e[t]||``}function Jo(e,t,n=_o){let r=qo(e,n);return r.trim()?`${r}/${t}`:t}function Yo(e,t,n=_o){let r=Jo(e,t,n);return Ko(e.child({context:r}),r,n)}function Xo(e){let t=new jo(e.opts?.level,e.maxSizeInBytes);return{logger:(0,ho.default)(Wo(Uo({},e.opts),{level:`trace`,browser:Wo(Uo({},e.opts?.browser),{write:e=>t.write(e)})})),chunkLoggerController:t}}function Zo(e){let t=new Fo(e.opts?.level,e.maxSizeInBytes);return{logger:(0,ho.default)(Wo(Uo({},e.opts),{level:`trace`}),t),chunkLoggerController:t}}function Qo(e){return typeof e.loggerOverride<`u`&&typeof e.loggerOverride!=`string`?{logger:e.loggerOverride,chunkLoggerController:null}:typeof window<`u`?Xo(e):Zo(e)}var $o=`:`;function es(e){let[t,n]=e.split($o);return{namespace:t,reference:n}}function ts(e,t=[]){let n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;let i=e[r];n.push(...i.accounts)}),n}function ns(e,t){return e.includes(`:`)?[e]:t.chains||[]}var rs=Object.defineProperty,is=Object.defineProperties,as=Object.getOwnPropertyDescriptors,os=Object.getOwnPropertySymbols,ss=Object.prototype.hasOwnProperty,cs=Object.prototype.propertyIsEnumerable,ls=(e,t,n)=>t in e?rs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,us=(e,t)=>{for(var n in t||={})ss.call(t,n)&&ls(e,n,t[n]);if(os)for(var n of os(t))cs.call(t,n)&&ls(e,n,t[n]);return e},ds=(e,t)=>is(e,as(t)),fs=(e,t,n)=>ls(e,typeof t==`symbol`?t:t+``,n),ps={reactNative:`react-native`,node:`node`,browser:`browser`,unknown:`unknown`};function ms(){return typeof process<`u`&&typeof process.versions<`u`&&typeof process.versions.node<`u`}function hs(){return!(0,bi.getDocument)()&&!!(0,bi.getNavigator)()&&navigator.product===`ReactNative`}function gs(){return hs()&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`&&(global==null?void 0:global.Platform.OS)===`android`}function _s(){return hs()&&typeof global<`u`&&typeof(global==null?void 0:global.Platform)<`u`&&(global==null?void 0:global.Platform.OS)===`ios`}function vs(){return!ms()&&!!(0,bi.getNavigator)()&&!!(0,bi.getDocument)()}function ys(){return hs()?ps.reactNative:ms()?ps.node:vs()?ps.browser:ps.unknown}function bs(){try{return hs()&&typeof global<`u`&&typeof(global==null?void 0:global.Application)<`u`?global.Application?.applicationId:void 0}catch{return}}function xs(e,t){let n=new URLSearchParams(e);return Object.entries(t).sort(([e],[t])=>e.localeCompare(t)).forEach(([e,t])=>{t!=null&&n.set(e,String(t))}),n.toString()}function Ss(e){var t,n;let r=Cs();try{return e!=null&&e.url&&r.url&&new URL(e.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),e.url=r.url),(t=e?.icons)!=null&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>e!==``)),ds(us(us({},r),e),{url:e?.url||r.url,name:e?.name||r.name,description:e?.description||r.description,icons:(n=e?.icons)!=null&&n.length&&e.icons.length>0?e.icons:r.icons})}catch(t){return console.warn(`Error populating app metadata`,t),e||r}}function Cs(){return(0,xi.getWindowMetadata)()||{name:``,description:``,url:``,icons:[``]}}function ws(){if(ys()===ps.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=_e();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 Ts(){let e=ys();return e===ps.browser?[e,(0,bi.getLocation)()?.host||`unknown`].join(`:`):e}function Es(e,t,n){let r=ws(),i=Ts();return[[e,t].join(`-`),[`js`,n].join(`-`),r,i].join(`/`)}function Ds({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:Es(e,t,r),projectId:a,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:s||void 0},d=xs(l[1]||``,u);return l[0]+`?`+d}function Os(e,t){return e.filter(e=>t.includes(e)).length===e.length}function ks(e){return Object.fromEntries(e.entries())}function As(e){return new Map(Object.entries(e))}function js(e=z.FIVE_MINUTES,t){let n=(0,z.toMiliseconds)(e||z.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 Ms(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 Ns(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}`}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 Ps(e){return Ns(`topic`,e)}function Fs(e){return Ns(`id`,e)}function Is(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 Ls(e,t){return(0,z.fromMiliseconds)((t||Date.now())+(0,z.toMiliseconds)(e))}function Rs(e){return Date.now()>=(0,z.toMiliseconds)(e)}function B(e,t){return`${e}${t?`:${t}`:``}`}function zs(e=[],t=[]){return[...new Set([...e,...t])]}async function Bs({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=Vs(i,e,t),o=ys();if(o===ps.browser){if(!((r=(0,bi.getDocument)())!=null&&r.hasFocus())){console.warn(`Document does not have focus, skipping deeplink.`);return}Hs(a)}else o===ps.reactNative&&typeof(global==null?void 0:global.Linking)<`u`&&await global.Linking.openURL(a)}catch(e){console.error(e)}}function Vs(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}${Ys(r,!0)}`}else i=`${i}/wc?${r}`;return i}function Hs(e){let t=`_self`;Js()?t=`_top`:(qs()||e.startsWith(`https://`)||e.startsWith(`http://`))&&(t=`_blank`),window.open(e,t,`noreferrer noopener`)}async function Us(e,t){let n=``;try{if(vs()&&(n=localStorage.getItem(t),n))return n;n=await e.getItem(t)}catch(e){console.error(e)}return n}function Ws(e,t){if(!e.includes(t))return null;let n=e.split(/([&,?,=])/);return n[n.indexOf(t)+2]}function Gs(){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 Ks(){return typeof process<`u`&&{}.IS_VITEST===`true`}function qs(){return typeof window<`u`&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Js(){try{return window.self!==window.top}catch{return!1}}function Ys(e,t=!1){let n=Buffer.from(e).toString(`base64`);return t?n.replace(/[=]/g,``):n}function Xs(e){return Buffer.from(e,`base64`).toString(`utf-8`)}function Zs(e){return new Promise(t=>setTimeout(t,e))}var Qs=class{constructor({limit:e}){fs(this,`limit`),fs(this,`set`),this.limit=e,this.set=new Set}add(e){if(!this.set.has(e)){if(this.set.size>=this.limit){let e=this.set.values().next().value;e&&this.set.delete(e)}this.set.add(e)}}has(e){return this.set.has(e)}},$s=BigInt(2**32-1),ec=BigInt(32);function tc(e,t=!1){return t?{h:Number(e&$s),l:Number(e>>ec&$s)}:{h:Number(e>>ec&$s)|0,l:Number(e&$s)|0}}function nc(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=tc(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var rc=(e,t,n)=>e>>>n,ic=(e,t,n)=>e<<32-n|t>>>n,ac=(e,t,n)=>e>>>n|t<<32-n,oc=(e,t,n)=>e<<32-n|t>>>n,sc=(e,t,n)=>e<<64-n|t>>>n-32,cc=(e,t,n)=>e>>>n-32|t<<64-n,lc=(e,t)=>t,uc=(e,t)=>e,dc=(e,t,n)=>e<<n|t>>>32-n,fc=(e,t,n)=>t<<n|e>>>32-n,pc=(e,t,n)=>t<<n-32|e>>>64-n,mc=(e,t,n)=>e<<n-32|t>>>64-n;function hc(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var gc=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),_c=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,vc=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),yc=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,bc=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),xc=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,Sc=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0;function Cc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function wc(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Tc(e,...t){if(!Cc(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 Ec(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);wc(e.outputLen),wc(e.blockLen)}function Dc(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 Oc(e,t){Tc(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function kc(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Ac(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function jc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mc(e,t){return e<<32-t|e>>>t}var Nc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Pc(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Fc=Nc?e=>e:e=>Pc(e);function Ic(e){for(let t=0;t<e.length;t++)e[t]=Pc(e[t]);return e}var Lc=Nc?e=>e:Ic,Rc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,zc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Bc(e){if(Tc(e),Rc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=zc[e[n]];return t}var Vc={_0:48,_9:57,A:65,F:70,a:97,f:102};function Hc(e){if(e>=Vc._0&&e<=Vc._9)return e-Vc._0;if(e>=Vc.A&&e<=Vc.F)return e-(Vc.A-10);if(e>=Vc.a&&e<=Vc.f)return e-(Vc.a-10)}function Uc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Rc)return Uint8Array.fromHex(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=Hc(e.charCodeAt(i)),a=Hc(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 Wc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Gc(e){return typeof e==`string`&&(e=Wc(e)),Tc(e),e}function Kc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Tc(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 qc=class{};function Jc(e){let t=t=>e().update(Gc(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Yc(e){let t=(t,n)=>e(n).update(Gc(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function Xc(e=32){if(Sc&&typeof Sc.getRandomValues==`function`)return Sc.getRandomValues(new Uint8Array(e));if(Sc&&typeof Sc.randomBytes==`function`)return Uint8Array.from(Sc.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Zc=BigInt(0),Qc=BigInt(1),$c=BigInt(2),el=BigInt(7),tl=BigInt(256),nl=BigInt(113),rl=[],il=[],al=[];for(let e=0,t=Qc,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],rl.push(2*(5*r+n)),il.push((e+1)*(e+2)/2%64);let i=Zc;for(let e=0;e<7;e++)t=(t<<Qc^(t>>el)*nl)%tl,t&$c&&(i^=Qc<<(Qc<<BigInt(e))-Qc);al.push(i)}var ol=nc(al,!0),sl=ol[0],cl=ol[1],ll=(e,t,n)=>n>32?pc(e,t,n):dc(e,t,n),ul=(e,t,n)=>n>32?mc(e,t,n):fc(e,t,n);function dl(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=ll(a,o,1)^n[r],c=ul(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=il[n],a=ll(t,i,r),o=ul(t,i,r),s=rl[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]^=sl[r],e[1]^=cl[r]}Ac(n)}var fl=class e extends qc{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,wc(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=kc(this.state)}clone(){return this._cloneInto()}keccak(){Lc(this.state32),dl(this.state32,this.rounds),Lc(this.state32),this.posOut=0,this.pos=0}update(e){Dc(this),e=Gc(e),Tc(e);let{blockLen:t,state:n}=this,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){Dc(this,!1),Tc(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 wc(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Oc(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,Ac(this.state)}_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}},pl=((e,t,n)=>Jc(()=>new fl(t,e,n)))(1,136,32);function ml(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 hl(e,t,n){return e&t^~e&n}function gl(e,t,n){return e&t^e&n^t&n}var _l=class extends qc{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=jc(this.buffer)}update(e){Dc(this),e=Gc(e),Tc(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=jc(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){Dc(this),Oc(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Ac(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ml(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=jc(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.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},vl=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),yl=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),bl=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),xl=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Sl=new Uint32Array(64),Cl=class extends _l{constructor(e=32){super(64,e,8,!1),this.A=vl[0]|0,this.B=vl[1]|0,this.C=vl[2]|0,this.D=vl[3]|0,this.E=vl[4]|0,this.F=vl[5]|0,this.G=vl[6]|0,this.H=vl[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)Sl[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Sl[e-15],n=Sl[e-2],r=Mc(t,7)^Mc(t,18)^t>>>3,i=Mc(n,17)^Mc(n,19)^n>>>10;Sl[e]=i+Sl[e-7]+r+Sl[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=Mc(o,6)^Mc(o,11)^Mc(o,25),u=l+t+hl(o,s,c)+xl[e]+Sl[e]|0,d=(Mc(n,2)^Mc(n,13)^Mc(n,22))+gl(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(){Ac(Sl)}destroy(){this.set(0,0,0,0,0,0,0,0),Ac(this.buffer)}},wl=nc(`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))),Tl=wl[0],El=wl[1],Dl=new Uint32Array(80),Ol=new Uint32Array(80),kl=class extends _l{constructor(e=64){super(128,e,16,!1),this.Ah=bl[0]|0,this.Al=bl[1]|0,this.Bh=bl[2]|0,this.Bl=bl[3]|0,this.Ch=bl[4]|0,this.Cl=bl[5]|0,this.Dh=bl[6]|0,this.Dl=bl[7]|0,this.Eh=bl[8]|0,this.El=bl[9]|0,this.Fh=bl[10]|0,this.Fl=bl[11]|0,this.Gh=bl[12]|0,this.Gl=bl[13]|0,this.Hh=bl[14]|0,this.Hl=bl[15]|0}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)Dl[n]=e.getUint32(t),Ol[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Dl[e-15]|0,n=Ol[e-15]|0,r=ac(t,n,1)^ac(t,n,8)^rc(t,n,7),i=oc(t,n,1)^oc(t,n,8)^ic(t,n,7),a=Dl[e-2]|0,o=Ol[e-2]|0,s=ac(a,o,19)^sc(a,o,61)^rc(a,o,6),c=vc(i,oc(a,o,19)^cc(a,o,61)^ic(a,o,6),Ol[e-7],Ol[e-16]),l=yc(c,r,s,Dl[e-7],Dl[e-16]);Dl[e]=l|0,Ol[e]=c|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=ac(u,d,14)^ac(u,d,18)^sc(u,d,41),v=oc(u,d,14)^oc(u,d,18)^cc(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=bc(_,v,b,El[e],Ol[e]),S=xc(x,g,t,y,Tl[e],Dl[e]),C=x|0,w=ac(n,r,28)^sc(n,r,34)^sc(n,r,39),T=oc(n,r,28)^cc(n,r,34)^cc(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}=hc(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=gc(C,T,D);n=_c(O,S,w,E),r=O|0}({h:n,l:r}=hc(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=hc(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=hc(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=hc(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=hc(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=hc(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=hc(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=hc(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(){Ac(Dl,Ol)}destroy(){Ac(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Al=class extends kl{constructor(){super(48),this.Ah=yl[0]|0,this.Al=yl[1]|0,this.Bh=yl[2]|0,this.Bl=yl[3]|0,this.Ch=yl[4]|0,this.Cl=yl[5]|0,this.Dh=yl[6]|0,this.Dl=yl[7]|0,this.Eh=yl[8]|0,this.El=yl[9]|0,this.Fh=yl[10]|0,this.Fl=yl[11]|0,this.Gh=yl[12]|0,this.Gl=yl[13]|0,this.Hh=yl[14]|0,this.Hl=yl[15]|0}},jl=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),Ml=class extends kl{constructor(){super(32),this.Ah=jl[0]|0,this.Al=jl[1]|0,this.Bh=jl[2]|0,this.Bl=jl[3]|0,this.Ch=jl[4]|0,this.Cl=jl[5]|0,this.Dh=jl[6]|0,this.Dl=jl[7]|0,this.Eh=jl[8]|0,this.El=jl[9]|0,this.Fh=jl[10]|0,this.Fl=jl[11]|0,this.Gh=jl[12]|0,this.Gl=jl[13]|0,this.Hh=jl[14]|0,this.Hl=jl[15]|0}},Nl=Jc(()=>new Cl),Pl=Jc(()=>new kl),Fl=Jc(()=>new Al),Il=Jc(()=>new Ml),Ll=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),Rl=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),V=new Uint32Array(32);function zl(e,t,n,r,i,a){let o=i[a],s=i[a+1],c=V[2*e],l=V[2*e+1],u=V[2*t],d=V[2*t+1],f=V[2*n],p=V[2*n+1],m=V[2*r],h=V[2*r+1],g=gc(c,u,o);l=_c(g,l,d,s),c=g|0,{Dh:h,Dl:m}={Dh:h^l,Dl:m^c},{Dh:h,Dl:m}={Dh:lc(h,m),Dl:uc(h)},{h:p,l:f}=hc(p,f,h,m),{Bh:d,Bl:u}={Bh:d^p,Bl:u^f},{Bh:d,Bl:u}={Bh:ac(d,u,24),Bl:oc(d,u,24)},V[2*e]=c,V[2*e+1]=l,V[2*t]=u,V[2*t+1]=d,V[2*n]=f,V[2*n+1]=p,V[2*r]=m,V[2*r+1]=h}function Bl(e,t,n,r,i,a){let o=i[a],s=i[a+1],c=V[2*e],l=V[2*e+1],u=V[2*t],d=V[2*t+1],f=V[2*n],p=V[2*n+1],m=V[2*r],h=V[2*r+1],g=gc(c,u,o);l=_c(g,l,d,s),c=g|0,{Dh:h,Dl:m}={Dh:h^l,Dl:m^c},{Dh:h,Dl:m}={Dh:ac(h,m,16),Dl:oc(h,m,16)},{h:p,l:f}=hc(p,f,h,m),{Bh:d,Bl:u}={Bh:d^p,Bl:u^f},{Bh:d,Bl:u}={Bh:sc(d,u,63),Bl:cc(d,u,63)},V[2*e]=c,V[2*e+1]=l,V[2*t]=u,V[2*t+1]=d,V[2*n]=f,V[2*n+1]=p,V[2*r]=m,V[2*r+1]=h}function Vl(e,t={},n,r,i){if(wc(n),e<0||e>n)throw Error(`outputLen bigger than keyLen`);let{key:a,salt:o,personalization:s}=t;if(a!==void 0&&(a.length<1||a.length>n))throw Error(`key length must be undefined or 1..`+n);if(o!==void 0&&o.length!==r)throw Error(`salt must be undefined or `+r);if(s!==void 0&&s.length!==i)throw Error(`personalization must be undefined or `+i)}var Hl=class extends qc{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,wc(e),wc(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=kc(this.buffer)}update(e){Dc(this),e=Gc(e),Tc(e);let{blockLen:t,buffer:n,buffer32:r}=this,i=e.length,a=e.byteOffset,o=e.buffer;for(let s=0;s<i;){this.pos===t&&(Lc(r),this.compress(r,0,!1),Lc(r),this.pos=0);let c=Math.min(t-this.pos,i-s),l=a+s;if(c===t&&!(l%4)&&s+c<i){let e=new Uint32Array(o,l,Math.floor((i-s)/4));Lc(e);for(let n=0;s+t<i;n+=r.length,s+=t)this.length+=t,this.compress(e,n,!1);Lc(e);continue}n.set(e.subarray(s,s+c),this.pos),this.pos+=c,this.length+=c,s+=c}return this}digestInto(e){Dc(this),Oc(e,this);let{pos:t,buffer32:n}=this;this.finished=!0,Ac(this.buffer.subarray(t)),Lc(n),this.compress(n,0,!0),Lc(n);let r=kc(e);this.get().forEach((e,t)=>r[t]=Fc(e))}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){let{buffer:t,length:n,finished:r,destroyed:i,outputLen:a,pos:o}=this;return e||=new this.constructor({dkLen:a}),e.set(...this.get()),e.buffer.set(t),e.destroyed=i,e.finished=r,e.length=n,e.pos=o,e.outputLen=a,e}clone(){return this._cloneInto()}},Ul=class extends Hl{constructor(e={}){let t=e.dkLen===void 0?64:e.dkLen;super(128,t),this.v0l=Rl[0]|0,this.v0h=Rl[1]|0,this.v1l=Rl[2]|0,this.v1h=Rl[3]|0,this.v2l=Rl[4]|0,this.v2h=Rl[5]|0,this.v3l=Rl[6]|0,this.v3h=Rl[7]|0,this.v4l=Rl[8]|0,this.v4h=Rl[9]|0,this.v5l=Rl[10]|0,this.v5h=Rl[11]|0,this.v6l=Rl[12]|0,this.v6h=Rl[13]|0,this.v7l=Rl[14]|0,this.v7h=Rl[15]|0,Vl(t,e,64,16,16);let{key:n,personalization:r,salt:i}=e,a=0;if(n!==void 0&&(n=Gc(n),a=n.length),this.v0l^=this.outputLen|a<<8|16842752,i!==void 0){i=Gc(i);let e=kc(i);this.v4l^=Fc(e[0]),this.v4h^=Fc(e[1]),this.v5l^=Fc(e[2]),this.v5h^=Fc(e[3])}if(r!==void 0){r=Gc(r);let e=kc(r);this.v6l^=Fc(e[0]),this.v6h^=Fc(e[1]),this.v7l^=Fc(e[2]),this.v7h^=Fc(e[3])}if(n!==void 0){let e=new Uint8Array(this.blockLen);e.set(n),this.update(e)}}get(){let{v0l:e,v0h:t,v1l:n,v1h:r,v2l:i,v2h:a,v3l:o,v3h:s,v4l:c,v4h:l,v5l:u,v5h:d,v6l:f,v6h:p,v7l:m,v7h: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.v0l=e|0,this.v0h=t|0,this.v1l=n|0,this.v1h=r|0,this.v2l=i|0,this.v2h=a|0,this.v3l=o|0,this.v3h=s|0,this.v4l=c|0,this.v4h=l|0,this.v5l=u|0,this.v5h=d|0,this.v6l=f|0,this.v6h=p|0,this.v7l=m|0,this.v7h=h|0}compress(e,t,n){this.get().forEach((e,t)=>V[t]=e),V.set(Rl,16);let{h:r,l:i}=tc(BigInt(this.length));V[24]=Rl[8]^i,V[25]=Rl[9]^r,n&&(V[28]=~V[28],V[29]=~V[29]);let a=0,o=Ll;for(let n=0;n<12;n++)zl(0,4,8,12,e,t+2*o[a++]),Bl(0,4,8,12,e,t+2*o[a++]),zl(1,5,9,13,e,t+2*o[a++]),Bl(1,5,9,13,e,t+2*o[a++]),zl(2,6,10,14,e,t+2*o[a++]),Bl(2,6,10,14,e,t+2*o[a++]),zl(3,7,11,15,e,t+2*o[a++]),Bl(3,7,11,15,e,t+2*o[a++]),zl(0,5,10,15,e,t+2*o[a++]),Bl(0,5,10,15,e,t+2*o[a++]),zl(1,6,11,12,e,t+2*o[a++]),Bl(1,6,11,12,e,t+2*o[a++]),zl(2,7,8,13,e,t+2*o[a++]),Bl(2,7,8,13,e,t+2*o[a++]),zl(3,4,9,14,e,t+2*o[a++]),Bl(3,4,9,14,e,t+2*o[a++]);this.v0l^=V[0]^V[16],this.v0h^=V[1]^V[17],this.v1l^=V[2]^V[18],this.v1h^=V[3]^V[19],this.v2l^=V[4]^V[20],this.v2h^=V[5]^V[21],this.v3l^=V[6]^V[22],this.v3h^=V[7]^V[23],this.v4l^=V[8]^V[24],this.v4h^=V[9]^V[25],this.v5l^=V[10]^V[26],this.v5h^=V[11]^V[27],this.v6l^=V[12]^V[28],this.v6h^=V[13]^V[29],this.v7l^=V[14]^V[30],this.v7h^=V[15]^V[31],Ac(V)}destroy(){this.destroyed=!0,Ac(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Wl=Yc(e=>new Ul(e)),Gl=`https://rpc.walletconnect.org/v1`;function Kl(e){let t=`Ethereum Signed Message:
|
|
4
|
-
${e.length}`,n=new TextEncoder().encode(t+e);return`0x`+Buffer.from(pl(n)).toString(`hex`)}async function ql(e,t,n,r,i,a){switch(n.t){case`eip191`:return await Jl(e,t,n.s);case`eip1271`:return await Yl(e,t,n.s,r,i,a);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}function Jl(e,t,n){let r=fi(n);return _i({payload:Kl(t),signature:r}).toLowerCase()===e.toLowerCase()}async function Yl(e,t,n,r,i,a){let o=es(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=(o.length/2).toString(16).padStart(64,`0`),c=`0x1626ba7e`+(t.startsWith(`0x`)?t:Kl(t)).substring(2)+`0000000000000000000000000000000000000000000000000000000000000040`+s+o,{result:l}=await(await fetch(`${a||Gl}/?chainId=${r}&projectId=${i}`,{headers:{"Content-Type":`application/json`},method:`POST`,body:JSON.stringify({id:Xl(),jsonrpc:`2.0`,method:`eth_call`,params:[{to:e,data:c},`latest`]})})).json();return l?l.slice(0,10).toLowerCase()===`0x1626ba7e`:!1}catch(e){return console.error(`isValidEip1271Signature: `,e),!1}}function Xl(){return Date.now()+Math.floor(Math.random()*1e3)}function Zl(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 le.encode(a)}function Ql(e){let t=new Uint8Array(Buffer.from(e,`base64`)),n=Array.from(`TransactionData::`).map(e=>e.charCodeAt(0)),r=new Uint8Array(n.length+t.length);r.set(n),r.set(t,n.length);let i=Wl(r,{dkLen:32});return le.encode(i)}function $l(e){let t=new Uint8Array(Nl(eu(e)));return le.encode(t)}function eu(e){if(e instanceof Uint8Array)return e;if(Array.isArray(e))return new Uint8Array(e);if(typeof e==`object`&&e&&e.data)return new Uint8Array(Object.values(e.data));if(typeof e==`object`&&e)return new Uint8Array(Object.values(e));throw Error(`getNearUint8ArrayFromBytes: Unexpected result type from bytes array`)}function tu(e){let t=Buffer.from(e,`base64`),n=ie(t).txn;if(!n)throw Error(`Invalid signed transaction: missing 'txn' field`);let r=fe(n),a=Buffer.from(`TX`),o=Il(Buffer.concat([a,Buffer.from(r)]));return i.encode(o).replace(/=+$/,``)}function nu(e){let t=[],n=BigInt(e);for(;n>=BigInt(128);)t.push(Number(n&BigInt(127)|BigInt(128))),n>>=BigInt(7);return t.push(Number(n)),Buffer.from(t)}function ru(e){let t=Buffer.from(e.signed.bodyBytes,`base64`),n=Buffer.from(e.signed.authInfoBytes,`base64`),r=Buffer.from(e.signature.signature,`base64`),i=[];i.push(Buffer.from([10])),i.push(nu(t.length)),i.push(t),i.push(Buffer.from([18])),i.push(nu(n.length)),i.push(n),i.push(Buffer.from([26])),i.push(nu(r.length)),i.push(r);let a=Nl(Buffer.concat(i));return Buffer.from(a).toString(`hex`).toUpperCase()}function iu(e){let t=[];try{if(typeof e==`string`)return t.push(e),t;if(typeof e!=`object`)return t;e!=null&&e.id&&t.push(e.id);let n=e?.capabilities?.caip345?.transactionHashes;n&&t.push(...n)}catch(e){console.warn(`getWalletSendCallsHashes failed: `,e)}return t}var au=Object.defineProperty,ou=Object.defineProperties,su=Object.getOwnPropertyDescriptors,cu=Object.getOwnPropertySymbols,lu=Object.prototype.hasOwnProperty,uu=Object.prototype.propertyIsEnumerable,du=(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||={})lu.call(t,n)&&du(e,n,t[n]);if(cu)for(var n of cu(t))uu.call(t,n)&&du(e,n,t[n]);return e},pu=(e,t)=>ou(e,su(t)),mu=`did:pkh:`,hu=e=>e?.split(`:`),gu=e=>{let t=e&&hu(e);if(t)return e.includes(mu)?t[3]:t[1]},_u=e=>{let t=e&&hu(e);if(t)return t[2]+`:`+t[3]},vu=e=>{let t=e&&hu(e);if(t)return t.pop()};async function yu(e){let{cacao:t,projectId:n}=e,{s:r,p:i}=t,a=bu(i,i.iss);return await ql(vu(i.iss),a,r,_u(i.iss),n)}var bu=(e,t)=>{let n=`${e.domain} wants you to sign in with your Ethereum account:`,r=vu(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: ${gu(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=>`
|
|
5
|
-
- ${e}`).join(``)}`:void 0,m=Fu(e.resources);if(m){let e=Du(m);i=Mu(i,e)}return[n,r,``,i,``,a,o,s,c,l,u,d,f,p].filter(e=>e!=null).join(`
|
|
6
|
-
`)};function xu(e){return Buffer.from(JSON.stringify(e)).toString(`base64`)}function Su(e){return JSON.parse(Buffer.from(e,`base64`).toString(`utf-8`))}function Cu(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 wu(e,t,n,r={}){return n?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:Tu(t,n,r)}}}function Tu(e,t,n={}){t=t?.sort((e,t)=>e.localeCompare(t));let r=t.map(t=>({[`${e}/${t}`]:[n]}));return Object.assign({},...r)}function Eu(e){return Cu(e),`urn:recap:${xu(e).replace(/=/g,``)}`}function Du(e){let t=Su(e.replace(`urn:recap:`,``));return Cu(t),t}function Ou(e,t,n){return Eu(wu(e,t,n))}function ku(e){return e&&e.includes(`urn:recap:`)}function Au(e,t){return Eu(ju(Du(e),Du(t)))}function ju(e,t){Cu(e),Cu(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]=pu(fu({},r.att[n]),{[i]:e.att[n]?.[i]||t.att[n]?.[i]})})}),r}function Mu(e=``,t){Cu(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 Nu(e){let t=Du(e);Cu(t);let n=t.att?.eip155;return n?Object.keys(n).map(e=>e.split(`/`)[1]):[]}function Pu(e){let t=Du(e);Cu(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 Fu(e){if(!e)return;let t=e?.[e.length-1];return ku(t)?t:void 0}function Iu(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Lu(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}function Ru(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function zu(e,...t){if(!Iu(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 Bu(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 Vu(e,t){zu(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Hu(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Uu(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Wu(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var Gu=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ku(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function qu(e){if(typeof e==`string`)e=Ku(e);else if(Iu(e))e=td(e);else throw Error(`Uint8Array expected, got `+typeof e);return e}function Ju(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function Yu(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 Xu=(e,t)=>{function n(n,...r){if(zu(n),!Gu)throw Error(`Non little-endian hardware is not yet supported`);if(e.nonceLength!==void 0){let t=r[0];if(!t)throw Error(`nonce / iv required`);e.varSizeNonce?zu(t):zu(t,e.nonceLength)}let i=e.tagLength;i&&r[1]!==void 0&&zu(r[1]);let a=t(n,...r),o=(e,t)=>{if(t!==void 0){if(e!==2)throw Error(`cipher output not supported`);zu(t)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,zu(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(zu(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 Zu(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&&!ed(t))throw Error(`invalid output, must be aligned`);return t}function Qu(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 $u(e,t,n){Lu(n);let r=new Uint8Array(16),i=Wu(r);return Qu(i,0,BigInt(t),n),Qu(i,8,BigInt(e),n),r}function ed(e){return e.byteOffset%4==0}function td(e){return Uint8Array.from(e)}var nd=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),rd=nd(`expand 16-byte k`),id=nd(`expand 32-byte k`),ad=Hu(rd),od=Hu(id);function H(e,t){return e<<t|e>>>32-t}function sd(e){return e.byteOffset%4==0}var cd=64,ld=16,ud=2**32-1,dd=new Uint32Array;function fd(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(cd),u=Hu(l),d=sd(i)&&sd(a),f=d?Hu(i):dd,p=d?Hu(a):dd;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=ud)throw Error(`arx: counter overflow`);let h=Math.min(cd,c-m);if(d&&h===cd){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<ld;t++)n=e+t,p[n]=f[n]^u[t];m+=cd;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function pd(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=Ju({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return Ru(i),Ru(o),Lu(a),Lu(n),(t,s,c,l,u=0)=>{zu(t),zu(s),zu(c);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),zu(l),Ru(u),u<0||u>=ud)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=td(t)),h=od;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=ad,f.push(m);else throw Error(`arx: invalid 32-byte key, got length=${p}`);sd(s)||f.push(s=td(s));let g=Hu(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,Hu(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=Hu(s);return fd(e,h,g,v,c,l,u,o),Uu(...f),l}}var md=(e,t)=>e[t++]&255|(e[t++]&255)<<8,hd=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=qu(e),zu(e,32);let t=md(e,0),n=md(e,2),r=md(e,4),i=md(e,6),a=md(e,8),o=md(e,10),s=md(e,12),c=md(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]=md(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=md(e,t+0),_=md(e,t+2),v=md(e,t+4),y=md(e,t+6),b=md(e,t+8),x=md(e,t+10),S=md(e,t+12),C=md(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 ee=P+w*c+T*s+E*o+5*h*D+5*m*O;P=ee>>>13,ee&=8191,ee+=5*p*k+5*f*A+5*d*j+5*u*M+5*l*N,P+=ee>>>13,ee&=8191;let L=P+w*l+T*c+E*s+D*o+5*h*O;P=L>>>13,L&=8191,L+=5*m*k+5*p*A+5*f*j+5*d*M+5*u*N,P+=L>>>13,L&=8191;let te=P+w*u+T*l+E*c+D*s+O*o;P=te>>>13,te&=8191,te+=5*h*k+5*m*A+5*p*j+5*f*M+5*d*N,P+=te>>>13,te&=8191;let ne=P+w*d+T*u+E*l+D*c+O*s;P=ne>>>13,ne&=8191,ne+=k*o+5*h*A+5*m*j+5*p*M+5*f*N,P+=ne>>>13,ne&=8191;let re=P+w*f+T*d+E*u+D*l+O*c;P=re>>>13,re&=8191,re+=k*s+A*o+5*h*j+5*m*M+5*p*N,P+=re>>>13,re&=8191;let ie=P+w*p+T*f+E*d+D*u+O*l;P=ie>>>13,ie&=8191,ie+=k*c+A*s+j*o+5*h*M+5*m*N,P+=ie>>>13,ie&=8191;let ae=P+w*m+T*p+E*f+D*d+O*u;P=ae>>>13,ae&=8191,ae+=k*l+A*c+j*s+M*o+5*h*N,P+=ae>>>13,ae&=8191;let oe=P+w*h+T*m+E*p+D*f+O*d;P=oe>>>13,oe&=8191,oe+=k*u+A*l+j*c+M*s+N*o,P+=oe>>>13,oe&=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]=ee,i[3]=L,i[4]=te,i[5]=ne,i[6]=re,i[7]=ie,i[8]=ae,i[9]=oe}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;Uu(n)}update(e){Bu(this),e=qu(e),zu(e);let{buffer:t,blockLen:n}=this,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(){Uu(this.h,this.r,this.buffer,this.pad)}digestInto(e){Bu(this),Vu(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 gd(e){let t=(t,n)=>e(n).update(qu(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}var _d=gd(e=>new hd(e));function vd(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,ee=x;for(let e=0;e<a;e+=2)S=S+E|0,P=H(P^S,16),A=A+P|0,E=H(E^A,12),S=S+E|0,P=H(P^S,8),A=A+P|0,E=H(E^A,7),C=C+D|0,F=H(F^C,16),j=j+F|0,D=H(D^j,12),C=C+D|0,F=H(F^C,8),j=j+F|0,D=H(D^j,7),w=w+O|0,I=H(I^w,16),M=M+I|0,O=H(O^M,12),w=w+O|0,I=H(I^w,8),M=M+I|0,O=H(O^M,7),T=T+k|0,ee=H(ee^T,16),N=N+ee|0,k=H(k^N,12),T=T+k|0,ee=H(ee^T,8),N=N+ee|0,k=H(k^N,7),S=S+D|0,ee=H(ee^S,16),M=M+ee|0,D=H(D^M,12),S=S+D|0,ee=H(ee^S,8),M=M+ee|0,D=H(D^M,7),C=C+O|0,P=H(P^C,16),N=N+P|0,O=H(O^N,12),C=C+O|0,P=H(P^C,8),N=N+P|0,O=H(O^N,7),w=w+k|0,F=H(F^w,16),A=A+F|0,k=H(k^A,12),w=w+k|0,F=H(F^w,8),A=A+F|0,k=H(k^A,7),T=T+E|0,I=H(I^T,16),j=j+I|0,E=H(E^j,12),T=T+E|0,I=H(I^T,8),j=j+I|0,E=H(E^j,7);let L=0;r[L++]=o+S|0,r[L++]=s+C|0,r[L++]=c+w|0,r[L++]=l+T|0,r[L++]=u+E|0,r[L++]=d+D|0,r[L++]=f+O|0,r[L++]=p+k|0,r[L++]=m+A|0,r[L++]=h+j|0,r[L++]=g+M|0,r[L++]=_+N|0,r[L++]=v+P|0,r[L++]=y+F|0,r[L++]=b+I|0,r[L++]=x+ee|0}var yd=pd(vd,{counterRight:!1,counterLength:4,allowShortKeys:!1}),bd=new Uint8Array(16),xd=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(bd.subarray(n))},Sd=new Uint8Array(32);function Cd(e,t,n,r,i){let a=e(t,n,Sd),o=_d.create(a);i&&xd(o,i),xd(o,r);let s=$u(r.length,i?i.length:0,!0);o.update(s);let c=o.digest();return Uu(a,s),c}var wd=Xu({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=Zu(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=Cd(e,t,n,s,r);return a.set(c,o),Uu(c),a},decrypt(i,a){a=Zu(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=Cd(e,t,n,o,r);if(!Yu(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),Uu(c),a}}))(yd)),Td=class extends qc{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Ec(e);let n=Gc(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),Ac(i)}update(e){return Dc(this),this.iHash.update(e),this}digestInto(e){Dc(this),Tc(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}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ed=(e,t,n)=>new Td(e,t).update(n).digest();Ed.create=(e,t)=>new Td(e,t);function Dd(e,t,n){return Ec(e),n===void 0&&(n=new Uint8Array(e.outputLen)),Ed(e,Gc(n),Gc(t))}var Od=Uint8Array.from([0]),kd=Uint8Array.of();function Ad(e,t,n,r=32){Ec(e),wc(r);let i=e.outputLen;if(r>255*i)throw Error(`Length should be <= 255*HashLen`);let a=Math.ceil(r/i);n===void 0&&(n=kd);let o=new Uint8Array(a*i),s=Ed.create(e,t),c=s._cloneInto(),l=new Uint8Array(s.outputLen);for(let e=0;e<a;e++)Od[0]=e+1,c.update(e===0?kd:l).update(n).update(Od).digestInto(l),o.set(l,i*e),s._cloneInto(c);return s.destroy(),c.destroy(),Ac(l,Od),o.slice(0,r)}var jd=(e,t,n,r,i)=>Ad(e,Dd(e,t,n),r,i),Md=Nl,Nd=BigInt(0),Pd=BigInt(1);function Fd(e,t=``){if(typeof e!=`boolean`){let n=t&&`"${t}"`;throw Error(n+`expected boolean, got type=`+typeof e)}return e}function Id(e,t,n=``){let r=Cc(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`;throw Error(o+`expected Uint8Array`+s+`, got `+c)}return e}function Ld(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Rd(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Nd:BigInt(`0x`+e)}function zd(e){return Rd(Bc(e))}function Bd(e){return Tc(e),Rd(Bc(Uint8Array.from(e).reverse()))}function Vd(e,t){return Uc(e.toString(16).padStart(t*2,`0`))}function Hd(e,t){return Vd(e,t).reverse()}function Ud(e,t,n){let r;if(typeof t==`string`)try{r=Uc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Cc(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 Wd=e=>typeof e==`bigint`&&Nd<=e;function Gd(e,t,n){return Wd(e)&&Wd(t)&&Wd(n)&&t<=e&&e<n}function Kd(e,t,n,r){if(!Gd(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function qd(e){let t=0;for(;e>Nd;e>>=Pd,t+=1);return t}var Jd=e=>(Pd<<BigInt(e))-Pd;function Yd(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=e=>new Uint8Array(e),i=e=>Uint8Array.of(e),a=r(e),o=r(e),s=0,c=()=>{a.fill(1),o.fill(0),s=0},l=(...e)=>n(o,a,...e),u=(e=r(0))=>{o=l(i(0),e),a=l(),e.length!==0&&(o=l(i(1),e),a=l())},d=()=>{if(s++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){a=l();let t=a.slice();n.push(t),e+=a.length}return Kc(...n)};return(e,t)=>{c(),u(e);let n;for(;!(n=t(d()));)u();return c(),n}}function Xd(e,t,n={}){if(!e||typeof e!=`object`)throw Error(`expected valid options object`);function r(t,n,r){let i=e[t];if(r&&i===void 0)return;let a=typeof i;if(a!==n||i===null)throw Error(`param "${t}" is invalid: expected ${n}, got ${a}`)}Object.entries(t).forEach(([e,t])=>r(e,t,!1)),Object.entries(n).forEach(([e,t])=>r(e,t,!0))}function Zd(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 Qd=BigInt(0),$d=BigInt(1),ef=BigInt(2),tf=BigInt(3),nf=BigInt(4),rf=BigInt(5),af=BigInt(7),of=BigInt(8),sf=BigInt(9),cf=BigInt(16);function lf(e,t){let n=e%t;return n>=Qd?n:t+n}function uf(e,t,n){let r=e;for(;t-->Qd;)r*=r,r%=n;return r}function df(e,t){if(e===Qd)throw Error(`invert: expected non-zero number`);if(t<=Qd)throw Error(`invert: expected positive modulus, got `+t);let n=lf(e,t),r=t,i=Qd,a=$d;for(;n!==Qd;){let e=r/n,t=r%n,o=i-a*e;r=n,n=t,i=a,a=o}if(r!==$d)throw Error(`invert: does not exist`);return lf(i,t)}function ff(e,t,n){if(!e.eql(e.sqr(t),n))throw Error(`Cannot find square root`)}function pf(e,t){let n=(e.ORDER+$d)/nf,r=e.pow(t,n);return ff(e,r,t),r}function mf(e,t){let n=(e.ORDER-rf)/of,r=e.mul(t,ef),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,ef),i),s=e.mul(a,e.sub(o,e.ONE));return ff(e,s,t),s}function hf(e){let t=wf(e),n=gf(e),r=n(t,t.neg(t.ONE)),i=n(t,r),a=n(t,t.neg(r)),o=(e+af)/cf;return(e,t)=>{let n=e.pow(t,o),s=e.mul(n,r),c=e.mul(n,i),l=e.mul(n,a),u=e.eql(e.sqr(s),t),d=e.eql(e.sqr(c),t);n=e.cmov(n,s,u),s=e.cmov(l,c,d);let f=e.eql(e.sqr(s),t),p=e.cmov(n,s,f);return ff(e,p,t),p}}function gf(e){if(e<tf)throw Error(`sqrt is not defined for small field`);let t=e-$d,n=0;for(;t%ef===Qd;)t/=ef,n++;let r=ef,i=wf(e);for(;Sf(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return pf;let a=i.pow(r,t),o=(t+$d)/ef;return function(e,r){if(e.is0(r))return r;if(Sf(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=$d<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function _f(e){return e%nf===tf?pf:e%of===rf?mf:e%cf===sf?hf(e):gf(e)}var vf=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function yf(e){return Xd(e,vf.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`number`,BITS:`number`})),e}function bf(e,t,n){if(n<Qd)throw Error(`invalid exponent, negatives unsupported`);if(n===Qd)return e.ONE;if(n===$d)return t;let r=e.ONE,i=t;for(;n>Qd;)n&$d&&(r=e.mul(r,i)),i=e.sqr(i),n>>=$d;return r}function xf(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function Sf(e,t){let n=(e.ORDER-$d)/ef,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Cf(e,t){t!==void 0&&wc(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function wf(e,t,n=!1,r={}){if(e<=Qd)throw Error(`invalid field: expected ORDER > 0, got `+e);let i,a,o=!1,s;if(typeof t==`object`&&t){if(r.sqrt||n)throw Error(`cannot specify opts in two arguments`);let e=t;e.BITS&&(i=e.BITS),e.sqrt&&(a=e.sqrt),typeof e.isLE==`boolean`&&(n=e.isLE),typeof e.modFromBytes==`boolean`&&(o=e.modFromBytes),s=e.allowedLengths}else typeof t==`number`&&(i=t),r.sqrt&&(a=r.sqrt);let{nBitLength:c,nByteLength:l}=Cf(e,i);if(l>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let u,d=Object.freeze({ORDER:e,isLE:n,BITS:c,BYTES:l,MASK:Jd(c),ZERO:Qd,ONE:$d,allowedLengths:s,create:t=>lf(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Qd<=t&&t<e},is0:e=>e===Qd,isValidNot0:e=>!d.is0(e)&&d.isValid(e),isOdd:e=>(e&$d)===$d,neg:t=>lf(-t,e),eql:(e,t)=>e===t,sqr:t=>lf(t*t,e),add:(t,n)=>lf(t+n,e),sub:(t,n)=>lf(t-n,e),mul:(t,n)=>lf(t*n,e),pow:(e,t)=>bf(d,e,t),div:(t,n)=>lf(t*df(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>df(t,e),sqrt:a||(t=>(u||=_f(e),u(d,t))),toBytes:e=>n?Hd(e,l):Vd(e,l),fromBytes:(t,r=!0)=>{if(s){if(!s.includes(t.length)||t.length>l)throw Error(`Field.fromBytes: expected `+s+` bytes, got `+t.length);let e=new Uint8Array(l);e.set(t,n?0:e.length-t.length),t=e}if(t.length!==l)throw Error(`Field.fromBytes: expected `+l+` bytes, got `+t.length);let i=n?Bd(t):zd(t);if(o&&(i=lf(i,e)),!r&&!d.isValid(i))throw Error(`invalid field element: outside of range 0..ORDER`);return i},invertBatch:e=>xf(d,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(d)}function Tf(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Ef(e){let t=Tf(e);return t+Math.ceil(t/2)}function Df(e,t,n=!1){let r=e.length,i=Tf(t),a=Ef(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=lf(n?Bd(e):zd(e),t-$d)+$d;return n?Hd(o,i):Vd(o,i)}var Of=BigInt(0),kf=BigInt(1);function Af(e,t){let n=t.negate();return e?n:t}function jf(e,t){let n=xf(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function Mf(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Nf(e,t){Mf(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Jd(e),maxNumber:i,shiftBy:BigInt(e)}}function Pf(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=kf);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function Ff(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 If(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 Lf=new WeakMap,Rf=new WeakMap;function zf(e){return Rf.get(e)||1}function Bf(e){if(e!==Of)throw Error(`invalid wNAF`)}var Vf=class{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let r=e;for(;t>Of;)t&kf&&(n=n.add(r)),r=r.double(),t>>=kf;return n}precomputeWindow(e,t){let{windows:n,windowSize:r}=Nf(t,this.bits),i=[],a=e,o=a;for(let e=0;e<n;e++){o=a,i.push(o);for(let e=1;e<r;e++)o=o.add(a),i.push(o);a=o.double()}return i}wNAF(e,t,n){if(!this.Fn.isValid(n))throw Error(`invalid scalar`);let r=this.ZERO,i=this.BASE,a=Nf(e,this.bits);for(let e=0;e<a.windows;e++){let{nextN:o,offset:s,isZero:c,isNeg:l,isNegF:u,offsetF:d}=Pf(n,e,a);n=o,c?i=i.add(Af(u,t[d])):r=r.add(Af(l,t[s]))}return Bf(n),{p:r,f:i}}wNAFUnsafe(e,t,n,r=this.ZERO){let i=Nf(e,this.bits);for(let e=0;e<i.windows&&n!==Of;e++){let{nextN:a,offset:o,isZero:s,isNeg:c}=Pf(n,e,i);if(n=a,!s){let e=t[o];r=r.add(c?e.negate():e)}}return Bf(n),r}getPrecomputes(e,t,n){let r=Lf.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&(typeof n==`function`&&(r=n(r)),Lf.set(t,r))),r}cached(e,t,n){let r=zf(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)}unsafe(e,t,n,r){let i=zf(e);return i===1?this._unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)}createCache(e,t){Mf(t,this.bits),Rf.set(e,t),Lf.delete(e)}hasCache(e){return zf(e)!==1}};function Hf(e,t,n,r){let i=t,a=e.ZERO,o=e.ZERO;for(;n>Of||r>Of;)n&kf&&(a=a.add(i)),r&kf&&(o=o.add(i)),i=i.double(),n>>=kf,r>>=kf;return{p1:a,p2:o}}function Uf(e,t,n,r){Ff(n,e),If(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=qd(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Jd(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function Wf(e,t,n){if(t){if(t.ORDER!==e)throw Error(`Field.ORDER must match order: Fp == p, Fn == n`);return yf(t),t}return wf(e,{isLE:n})}function Gf(e,t,n={},r){if(r===void 0&&(r=e===`edwards`),!t||typeof t!=`object`)throw Error(`expected valid ${e} CURVE object`);for(let e of[`p`,`n`,`h`]){let n=t[e];if(!(typeof n==`bigint`&&n>Of))throw Error(`CURVE.${e} must be positive bigint`)}let i=Wf(t.p,n.Fp,r),a=Wf(t.n,n.Fn,r),o=[`Gx`,`Gy`,`a`,e===`weierstrass`?`b`:`d`];for(let e of o)if(!i.isValid(t[e]))throw Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:a}}Wc(`HashToScalar-`);var Kf=BigInt(0),qf=BigInt(1),Jf=BigInt(2);function Yf(e){return Xd(e,{adjustScalarBytes:`function`,powPminus2:`function`}),Object.freeze({...e})}function Xf(e){let{P:t,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:a}=Yf(e),o=n===`x25519`;if(!o&&n!==`x448`)throw Error(`invalid type`);let s=a||Xc,c=o?255:448,l=o?32:56,u=BigInt(o?9:5),d=BigInt(o?121665:39081),f=o?Jf**BigInt(254):Jf**BigInt(447),p=f+(o?BigInt(8)*Jf**BigInt(251)-qf:BigInt(4)*Jf**BigInt(445)-qf)+qf,m=e=>lf(e,t),h=g(u);function g(e){return Hd(m(e),l)}function _(e){let t=Ud(`u coordinate`,e,l);return o&&(t[31]&=127),m(Bd(t))}function v(e){return Bd(r(Ud(`scalar`,e,l)))}function y(e,t){let n=S(_(t),v(e));if(n===Kf)throw Error(`invalid private or public key received`);return g(n)}function b(e){return y(e,h)}function x(e,t,n){let r=m(e*(t-n));return t=m(t-r),n=m(n+r),{x_2:t,x_3:n}}function S(e,n){Kd(`u`,e,Kf,t),Kd(`scalar`,n,f,p);let r=n,a=e,o=qf,s=Kf,l=e,u=qf,h=Kf;for(let e=BigInt(c-1);e>=Kf;e--){let t=r>>e&qf;h^=t,{x_2:o,x_3:l}=x(h,o,l),{x_2:s,x_3:u}=x(h,s,u),h=t;let n=o+s,i=m(n*n),c=o-s,f=m(c*c),p=i-f,g=l+u,_=l-u,v=m(_*n),y=m(g*c),b=v+y,S=v-y;l=m(b*b),u=m(a*m(S*S)),o=m(i*f),s=m(p*(i+m(d*p)))}({x_2:o,x_3:l}=x(h,o,l)),{x_2:s,x_3:u}=x(h,s,u);let g=i(s);return m(o*g)}let C={secretKey:l,publicKey:l,seed:l},w=(e=s(l))=>(Tc(e,C.seed),e);function T(e){let t=w(e);return{secretKey:t,publicKey:b(t)}}return{keygen:T,getSharedSecret:(e,t)=>y(e,t),getPublicKey:e=>b(e),scalarMult:y,scalarMultBase:b,utils:{randomSecretKey:w,randomPrivateKey:w},GuBytes:h.slice(),lengths:C}}var Zf=BigInt(1),Qf=BigInt(2),$f=BigInt(3),ep=BigInt(5),tp=BigInt(8),np=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),rp={p:np,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:tp,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function ip(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=np,o=e*e%a*e%a,s=uf(uf(o,Qf,a)*o%a,Zf,a)*e%a,c=uf(s,ep,a)*s%a,l=uf(c,t,a)*c%a,u=uf(l,n,a)*l%a,d=uf(u,r,a)*u%a;return{pow_p_5_8:uf(uf(uf(uf(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,Qf,a)*e%a,b2:o}}function ap(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var op=wf(rp.p,{isLE:!0}),sp=(()=>{let e=op.ORDER;return Xf({P:e,type:`x25519`,powPminus2:t=>{let{pow_p_5_8:n,b2:r}=ip(t);return lf(uf(n,$f,e)*r,e)},adjustScalarBytes:ap})})(),cp=(e,t)=>(e+(e>=0?t:-t)/hp)/t;function lp(e,t,n){let[[r,i],[a,o]]=t,s=cp(o*e,n),c=cp(-i*e,n),l=e-s*r-c*a,u=-s*i-c*o,d=l<pp,f=u<pp;d&&(l=-l),f&&(u=-u);let p=Jd(Math.ceil(qd(n)/2))+mp;if(l<pp||l>=p||u<pp||u>=p)throw Error(`splitScalar (endomorphism): failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}function up(e){if(![`compact`,`recovered`,`der`].includes(e))throw Error(`Signature format must be "compact", "recovered", or "der"`);return e}function dp(e,t){let n={};for(let r of Object.keys(t))n[r]=e[r]===void 0?t[r]:e[r];return Fd(n.lowS,`lowS`),Fd(n.prehash,`prehash`),n.format!==void 0&&up(n.format),n}var fp={Err:class extends Error{constructor(e=``){super(e)}},_tlv:{encode:(e,t)=>{let{Err:n}=fp;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=Ld(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?Ld(i.length/2|128):``;return Ld(e)+a+i+t},decode(e,t){let{Err:n}=fp,r=0;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length<2||t[r++]!==e)throw new n(`tlv.decode: wrong tlv`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;if(!e)throw new n(`tlv.decode(long): indefinite length not supported`);if(e>4)throw new n(`tlv.decode(long): byte length is too big`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=fp;if(e<pp)throw new t(`integer: negative integers are not allowed`);let n=Ld(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=fp;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return zd(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=fp,i=Ud(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=fp,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},pp=BigInt(0),mp=BigInt(1),hp=BigInt(2),gp=BigInt(3),_p=BigInt(4);function vp(e,t){let{BYTES:n}=e,r;if(typeof t==`bigint`)r=t;else{let i=Ud(`private key`,t);try{r=e.fromBytes(i)}catch{throw Error(`invalid private key: expected ui8a of size ${n}, got ${typeof t}`)}}if(!e.isValidNot0(r))throw Error(`invalid private key: out of range [1..N-1]`);return r}function yp(e,t={}){let n=Gf(`weierstrass`,e,t),{Fp:r,Fn:i}=n,a=n.CURVE,{h:o,n:s}=a;Xd(t,{},{allowInfinityPoint:`boolean`,clearCofactor:`function`,isTorsionFree:`function`,fromBytes:`function`,toBytes:`function`,endo:`object`,wrapPrivateKey:`boolean`});let{endo:c}=t;if(c&&(!r.is0(a.a)||typeof c.beta!=`bigint`||!Array.isArray(c.basises)))throw Error(`invalid endo: expected "beta": bigint and "basises": array`);let l=xp(r,i);function u(){if(!r.isOdd)throw Error(`compression is not supported: Field does not have .isOdd()`)}function d(e,t,n){let{x:i,y:a}=t.toAffine(),o=r.toBytes(i);return Fd(n,`isCompressed`),n?(u(),Kc(bp(!r.isOdd(a)),o)):Kc(Uint8Array.of(4),o,r.toBytes(a))}function f(e){Id(e,void 0,`Point`);let{publicKey:t,publicKeyUncompressed:n}=l,i=e.length,a=e[0],o=e.subarray(1);if(i===t&&(a===2||a===3)){let e=r.fromBytes(o);if(!r.isValid(e))throw Error(`bad point: is not on curve, wrong x`);let t=h(e),n;try{n=r.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`bad point: is not on curve, sqrt error`+t)}u();let i=r.isOdd(n);return(a&1)==1!==i&&(n=r.neg(n)),{x:e,y:n}}if(i===n&&a===4){let e=r.BYTES,t=r.fromBytes(o.subarray(0,e)),n=r.fromBytes(o.subarray(e,e*2));if(!g(t,n))throw Error(`bad point: is not on curve`);return{x:t,y:n}}throw Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${n}`)}let p=t.toBytes||d,m=t.fromBytes||f;function h(e){let t=r.sqr(e),n=r.mul(t,e);return r.add(r.add(n,r.mul(e,a.a)),a.b)}function g(e,t){let n=r.sqr(t),i=h(e);return r.eql(n,i)}if(!g(a.Gx,a.Gy))throw Error(`bad curve params: generator point`);let _=r.mul(r.pow(a.a,gp),_p),v=r.mul(r.sqr(a.b),BigInt(27));if(r.is0(r.add(_,v)))throw Error(`bad curve params: a or b`);function y(e,t,n=!1){if(!r.isValid(t)||n&&r.is0(t))throw Error(`bad point coordinate ${e}`);return t}function b(e){if(!(e instanceof T))throw Error(`ProjectivePoint expected`)}function x(e){if(!c||!c.basises)throw Error(`no endo`);return lp(e,c.basises,i.ORDER)}let S=Zd((e,t)=>{let{X:n,Y:i,Z:a}=e;if(r.eql(a,r.ONE))return{x:n,y:i};let o=e.is0();t??=o?r.ONE:r.inv(a);let s=r.mul(n,t),c=r.mul(i,t),l=r.mul(a,t);if(o)return{x:r.ZERO,y:r.ZERO};if(!r.eql(l,r.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),C=Zd(e=>{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.Y))return;throw Error(`bad point: ZERO`)}let{x:n,y:i}=e.toAffine();if(!r.isValid(n)||!r.isValid(i))throw Error(`bad point: x or y not field elements`);if(!g(n,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});function w(e,t,n,i,a){return n=new T(r.mul(n.X,e),n.Y,n.Z),t=Af(i,t),n=Af(a,n),t.add(n)}class T{constructor(e,t,n){this.X=y(`x`,e),this.Y=y(`y`,t,!0),this.Z=y(`z`,n),Object.freeze(this)}static CURVE(){return a}static fromAffine(e){let{x:t,y:n}=e||{};if(!e||!r.isValid(t)||!r.isValid(n))throw Error(`invalid affine point`);if(e instanceof T)throw Error(`projective point not allowed`);return r.is0(t)&&r.is0(n)?T.ZERO:new T(t,n,r.ONE)}static fromBytes(e){let t=T.fromAffine(m(Id(e,void 0,`point`)));return t.assertValidity(),t}static fromHex(e){return T.fromBytes(Ud(`pointHex`,e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return D.createCache(this,e),t||this.multiply(gp),this}assertValidity(){C(this)}hasEvenY(){let{y:e}=this.toAffine();if(!r.isOdd)throw Error(`Field doesn't support isOdd`);return!r.isOdd(e)}equals(e){b(e);let{X:t,Y:n,Z:i}=this,{X:a,Y:o,Z:s}=e,c=r.eql(r.mul(t,s),r.mul(a,i)),l=r.eql(r.mul(n,s),r.mul(o,i));return c&&l}negate(){return new T(this.X,r.neg(this.Y),this.Z)}double(){let{a:e,b:t}=a,n=r.mul(t,gp),{X:i,Y:o,Z:s}=this,c=r.ZERO,l=r.ZERO,u=r.ZERO,d=r.mul(i,i),f=r.mul(o,o),p=r.mul(s,s),m=r.mul(i,o);return m=r.add(m,m),u=r.mul(i,s),u=r.add(u,u),c=r.mul(e,u),l=r.mul(n,p),l=r.add(c,l),c=r.sub(f,l),l=r.add(f,l),l=r.mul(c,l),c=r.mul(m,c),u=r.mul(n,u),p=r.mul(e,p),m=r.sub(d,p),m=r.mul(e,m),m=r.add(m,u),u=r.add(d,d),d=r.add(u,d),d=r.add(d,p),d=r.mul(d,m),l=r.add(l,d),p=r.mul(o,s),p=r.add(p,p),d=r.mul(p,m),c=r.sub(c,d),u=r.mul(p,f),u=r.add(u,u),u=r.add(u,u),new T(c,l,u)}add(e){b(e);let{X:t,Y:n,Z:i}=this,{X:o,Y:s,Z:c}=e,l=r.ZERO,u=r.ZERO,d=r.ZERO,f=a.a,p=r.mul(a.b,gp),m=r.mul(t,o),h=r.mul(n,s),g=r.mul(i,c),_=r.add(t,n),v=r.add(o,s);_=r.mul(_,v),v=r.add(m,h),_=r.sub(_,v),v=r.add(t,i);let y=r.add(o,c);return v=r.mul(v,y),y=r.add(m,g),v=r.sub(v,y),y=r.add(n,i),l=r.add(s,c),y=r.mul(y,l),l=r.add(h,g),y=r.sub(y,l),d=r.mul(f,v),l=r.mul(p,g),d=r.add(l,d),l=r.sub(h,d),d=r.add(h,d),u=r.mul(l,d),h=r.add(m,m),h=r.add(h,m),g=r.mul(f,g),v=r.mul(p,v),h=r.add(h,g),g=r.sub(m,g),g=r.mul(f,g),v=r.add(v,g),m=r.mul(h,v),u=r.add(u,m),m=r.mul(y,v),l=r.mul(_,l),l=r.sub(l,m),m=r.mul(_,h),d=r.mul(y,d),d=r.add(d,m),new T(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(T.ZERO)}multiply(e){let{endo:n}=t;if(!i.isValidNot0(e))throw Error(`invalid scalar: out of range`);let r,a,o=e=>D.cached(this,e,e=>jf(T,e));if(n){let{k1neg:t,k1:i,k2neg:s,k2:c}=x(e),{p:l,f:u}=o(i),{p:d,f}=o(c);a=u.add(f),r=w(n.beta,l,d,t,s)}else{let{p:t,f:n}=o(e);r=t,a=n}return jf(T,[r,a])[0]}multiplyUnsafe(e){let{endo:n}=t,r=this;if(!i.isValid(e))throw Error(`invalid scalar: out of range`);if(e===pp||r.is0())return T.ZERO;if(e===mp)return r;if(D.hasCache(this))return this.multiply(e);if(n){let{k1neg:t,k1:i,k2neg:a,k2:o}=x(e),{p1:s,p2:c}=Hf(T,r,i,o);return w(n.beta,s,c,t,a)}return D.unsafe(r,e)}multiplyAndAddUnsafe(e,t,n){let r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(n));return r.is0()?void 0:r}toAffine(e){return S(this,e)}isTorsionFree(){let{isTorsionFree:e}=t;return o===mp?!0:e?e(T,this):D.unsafe(this,s).is0()}clearCofactor(){let{clearCofactor:e}=t;return o===mp?this:e?e(T,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(e=!0){return Fd(e,`isCompressed`),this.assertValidity(),p(T,this,e)}toHex(e=!0){return Bc(this.toBytes(e))}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return jf(T,e)}static msm(e,t){return Uf(T,i,e,t)}static fromPrivateKey(e){return T.BASE.multiply(vp(i,e))}}T.BASE=new T(a.Gx,a.Gy,r.ONE),T.ZERO=new T(r.ZERO,r.ONE,r.ZERO),T.Fp=r,T.Fn=i;let E=i.BITS,D=new Vf(T,t.endo?Math.ceil(E/2):E);return T.BASE.precompute(8),T}function bp(e){return Uint8Array.of(e?2:3)}function xp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Sp(e,t={}){let{Fn:n}=e,r=t.randomBytes||Xc,i=Object.assign(xp(e.Fp,n),{seed:Ef(n.ORDER)});function a(e){try{return!!vp(n,e)}catch{return!1}}function o(t,n){let{publicKey:r,publicKeyUncompressed:a}=i;try{let i=t.length;return n===!0&&i!==r||n===!1&&i!==a?!1:!!e.fromBytes(t)}catch{return!1}}function s(e=r(i.seed)){return Df(Id(e,i.seed,`seed`),n.ORDER)}function c(t,r=!0){return e.BASE.multiply(vp(n,t)).toBytes(r)}function l(e){let t=s(e);return{secretKey:t,publicKey:c(t)}}function u(t){if(typeof t==`bigint`)return!1;if(t instanceof e)return!0;let{secretKey:r,publicKey:a,publicKeyUncompressed:o}=i;if(n.allowedLengths||r===a)return;let s=Ud(`key`,t).length;return s===a||s===o}function d(t,r,i=!0){if(u(t)===!0)throw Error(`first arg must be private key`);if(u(r)===!1)throw Error(`second arg must be public key`);let a=vp(n,t);return e.fromHex(r).multiply(a).toBytes(i)}return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:l,Point:e,utils:{isValidSecretKey:a,isValidPublicKey:o,randomSecretKey:s,isValidPrivateKey:a,randomPrivateKey:s,normPrivateKeyToScalar:e=>vp(n,e),precompute(t=8,n=e.BASE){return n.precompute(t,!1)}},lengths:i})}function Cp(e,t,n={}){Ec(t),Xd(n,{},{hmac:`function`,lowS:`boolean`,randomBytes:`function`,bits2int:`function`,bits2int_modN:`function`});let r=n.randomBytes||Xc,i=n.hmac||((e,...n)=>Ed(t,e,Kc(...n))),{Fp:a,Fn:o}=e,{ORDER:s,BITS:c}=o,{keygen:l,getPublicKey:u,getSharedSecret:d,utils:f,lengths:p}=Sp(e,n),m={prehash:!1,lowS:typeof n.lowS==`boolean`&&n.lowS,format:void 0,extraEntropy:!1},h=`compact`;function g(e){return e>s>>mp}function _(e,t){if(!o.isValidNot0(t))throw Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}function v(e,t){up(t);let n=p.signature;return Id(e,t===`compact`?n:t===`recovered`?n+1:void 0,`${t} signature`)}class y{constructor(e,t,n){this.r=_(`r`,e),this.s=_(`s`,t),n!=null&&(this.recovery=n),Object.freeze(this)}static fromBytes(e,t=h){v(e,t);let n;if(t===`der`){let{r:t,s:n}=fp.toSig(Id(e));return new y(t,n)}t===`recovered`&&(n=e[0],t=`compact`,e=e.subarray(1));let r=o.BYTES,i=e.subarray(0,r),a=e.subarray(r,r*2);return new y(o.fromBytes(i),o.fromBytes(a),n)}static fromHex(e,t){return this.fromBytes(Uc(e),t)}addRecoveryBit(e){return new y(this.r,this.s,e)}recoverPublicKey(t){let n=a.ORDER,{r,s:i,recovery:c}=this;if(c==null||![0,1,2,3].includes(c))throw Error(`recovery id invalid`);if(s*hp<n&&c>1)throw Error(`recovery id is ambiguous for h>1 curve`);let l=c===2||c===3?r+s:r;if(!a.isValid(l))throw Error(`recovery id 2 or 3 invalid`);let u=a.toBytes(l),d=e.fromBytes(Kc(bp(!(c&1)),u)),f=o.inv(l),p=x(Ud(`msgHash`,t)),m=o.create(-p*f),h=o.create(i*f),g=e.BASE.multiplyUnsafe(m).add(d.multiplyUnsafe(h));if(g.is0())throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=h){if(up(e),e===`der`)return Uc(fp.hexFromSig(this));let t=o.toBytes(this.r),n=o.toBytes(this.s);if(e===`recovered`){if(this.recovery==null)throw Error(`recovery bit must be present`);return Kc(Uint8Array.of(this.recovery),t,n)}return Kc(t,n)}toHex(e){return Bc(this.toBytes(e))}assertValidity(){}static fromCompact(e){return y.fromBytes(Ud(`sig`,e),`compact`)}static fromDER(e){return y.fromBytes(Ud(`sig`,e),`der`)}normalizeS(){return this.hasHighS()?new y(this.r,o.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes(`der`)}toDERHex(){return Bc(this.toBytes(`der`))}toCompactRawBytes(){return this.toBytes(`compact`)}toCompactHex(){return Bc(this.toBytes(`compact`))}}let b=n.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=zd(e),n=e.length*8-c;return n>0?t>>BigInt(n):t},x=n.bits2int_modN||function(e){return o.create(b(e))},S=Jd(c);function C(e){return Kd(`num < 2^`+c,e,pp,S),o.toBytes(e)}function w(e,n){return Id(e,void 0,`message`),n?Id(t(e),void 0,`prehashed message`):e}function T(t,n,i){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{lowS:a,prehash:s,extraEntropy:c}=dp(i,m);t=w(t,s);let l=x(t),u=vp(o,n),d=[C(u),C(l)];if(c!=null&&c!==!1){let e=c===!0?r(p.secretKey):c;d.push(Ud(`extraEntropy`,e))}let f=Kc(...d),h=l;function _(t){let n=b(t);if(!o.isValidNot0(n))return;let r=o.inv(n),i=e.BASE.multiply(n).toAffine(),s=o.create(i.x);if(s===pp)return;let c=o.create(r*o.create(h+s*u));if(c===pp)return;let l=(i.x===s?0:2)|Number(i.y&mp),d=c;return a&&g(c)&&(d=o.neg(c),l^=1),new y(s,d,l)}return{seed:f,k2sig:_}}function E(e,n,r={}){e=Ud(`message`,e);let{seed:a,k2sig:s}=T(e,n,r);return Yd(t.outputLen,o.BYTES,i)(a,s)}function D(e){let t,n=typeof e==`string`||Cc(e),r=!n&&typeof e==`object`&&!!e&&typeof e.r==`bigint`&&typeof e.s==`bigint`;if(!n&&!r)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);if(r)t=new y(e.r,e.s);else if(n){try{t=y.fromBytes(Ud(`sig`,e),`der`)}catch(e){if(!(e instanceof fp.Err))throw e}if(!t)try{t=y.fromBytes(Ud(`sig`,e),`compact`)}catch{return!1}}return t||!1}function O(t,n,r,i={}){let{lowS:a,prehash:s,format:c}=dp(i,m);if(r=Ud(`publicKey`,r),n=w(Ud(`message`,n),s),`strict`in i)throw Error(`options.strict was renamed to lowS`);let l=c===void 0?D(t):y.fromBytes(Ud(`sig`,t),c);if(l===!1)return!1;try{let t=e.fromBytes(r);if(a&&l.hasHighS())return!1;let{r:i,s}=l,c=x(n),u=o.inv(s),d=o.create(c*u),f=o.create(i*u),p=e.BASE.multiplyUnsafe(d).add(t.multiplyUnsafe(f));return!p.is0()&&o.create(p.x)===i}catch{return!1}}function k(e,t,n={}){let{prehash:r}=dp(n,m);return t=w(t,r),y.fromBytes(e,`recovered`).recoverPublicKey(t).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:d,utils:f,lengths:p,Point:e,sign:E,verify:O,recoverPublicKey:k,Signature:y,hash:t})}function wp(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp,r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:n,Fn:wf(t.n,{BITS:e.nBitLength,allowedLengths:r,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}function Tp(e){let{CURVE:t,curveOpts:n}=wp(e),r={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,hash:e.hash,ecdsaOpts:r}}function Ep(e,t){let n=t.Point;return Object.assign({},t,{ProjectivePoint:n,CURVE:Object.assign({},e,Cf(n.Fn.ORDER,n.Fn.BITS))})}function Dp(e){let{CURVE:t,curveOpts:n,hash:r,ecdsaOpts:i}=Tp(e);return Ep(e,Cp(yp(t,n),r,i))}function Op(e,t){let n=t=>Dp({...e,hash:t});return{...n(t),create:n}}var kp={p:BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`),n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),h:BigInt(1),a:BigInt(`0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc`),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`)},Ap={p:BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`),n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),h:BigInt(1),a:BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc`),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`)},jp={p:BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),h:BigInt(1),a:BigInt(`0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc`),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`)},Mp=wf(kp.p),Np=wf(Ap.p),Pp=wf(jp.p),Fp=Op({...kp,Fp:Mp,lowS:!1},Nl);Op({...Ap,Fp:Np,lowS:!1},Fl),Op({...jp,Fp:Pp,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Pl);var Ip=Fp,Lp=`base10`,Rp=`base16`,zp=`base64pad`,Bp=`base64url`,Vp=`utf8`,Hp=0,Up=1,Wp=12,Gp=32;function Kp(){let e=sp.utils.randomPrivateKey(),t=sp.getPublicKey(e);return{privateKey:fo(e,Rp),publicKey:fo(t,Rp)}}function qp(){return fo(Xc(Gp),Rp)}function Jp(e,t){return fo(jd(Md,sp.getSharedSecret(uo(e,Rp),uo(t,Rp)),void 0,void 0,Gp),Rp)}function Yp(e){return fo(Md(uo(e,Rp)),Rp)}function Xp(e){return fo(Md(uo(e,Vp)),Rp)}function Zp(e){return uo(`${e}`,Lp)}function Qp(e){return Number(fo(e,Lp))}function $p(e){return e.replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function em(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4;return t+`=`.repeat(n)}function tm(e){let t=Zp(typeof e.type<`u`?e.type:0);if(Qp(t)===1&&typeof e.senderPublicKey>`u`)throw Error(`Missing sender public key for type 1 envelope`);let n=typeof e.senderPublicKey<`u`?uo(e.senderPublicKey,Rp):void 0,r=typeof e.iv<`u`?uo(e.iv,Rp):Xc(Wp),i=am({type:t,sealed:wd(uo(e.symKey,Rp),r).encrypt(uo(e.message,Vp)),iv:r,senderPublicKey:n});return e.encoding===`base64url`?$p(i):i}function nm(e){let t=uo(e.symKey,Rp),{sealed:n,iv:r}=om({encoded:e.encoded,encoding:e.encoding}),i=wd(t,r).decrypt(n);if(i===null)throw Error(`Failed to decrypt`);return fo(i,Vp)}function rm(e,t){let n=Zp(2),r=Xc(Wp),i=am({type:n,sealed:uo(e,Vp),iv:r});return t===`base64url`?$p(i):i}function im(e,t){let{sealed:n}=om({encoded:e,encoding:t});return fo(n,Vp)}function am(e){if(Qp(e.type)===2)return fo(wi([e.type,e.sealed]),zp);if(Qp(e.type)===1){if(typeof e.senderPublicKey>`u`)throw Error(`Missing sender public key for type 1 envelope`);return fo(wi([e.type,e.senderPublicKey,e.iv,e.sealed]),zp)}return fo(wi([e.type,e.iv,e.sealed]),zp)}function om(e){let t=uo((e.encoding||`base64pad`)===`base64url`?em(e.encoded):e.encoded,zp),n=t.slice(Hp,Up),r=Up;if(Qp(n)===1){let e=t.slice(r,33),i=t.slice(33,45);return{type:n,sealed:t.slice(45),iv:i,senderPublicKey:e}}if(Qp(n)===2)return{type:n,sealed:t.slice(r),iv:Xc(Wp)};let i=t.slice(r,13);return{type:n,sealed:t.slice(13),iv:i}}function sm(e,t){let n=om({encoded:e,encoding:t?.encoding});return cm({type:Qp(n.type),senderPublicKey:typeof n.senderPublicKey<`u`?fo(n.senderPublicKey,Rp):void 0,receiverPublicKey:t?.receiverPublicKey})}function cm(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 lm(e){return e.type===1&&typeof e.senderPublicKey==`string`&&typeof e.receiverPublicKey==`string`}function um(e){return e.type===2}function dm(e){let t=Buffer.from(e.x,`base64`),n=Buffer.from(e.y,`base64`);return wi([new Uint8Array([4]),t,n])}function fm(e,t){let[n,r,i]=e.split(`.`),a=Buffer.from(em(i),`base64`);if(a.length!==64)throw Error(`Invalid signature length`);let o=a.slice(0,32),s=a.slice(32,64),c=Md(`${n}.${r}`),l=dm(t);if(!Ip.verify(wi([o,s]),c,l))throw Error(`Invalid signature`);return re(e).payload}function pm(e){return e?.relay||{protocol:`irn`}}function mm(e){let t=me[e];if(typeof t>`u`)throw Error(`Relay Protocol not supported: ${e}`);return t}var hm=Object.defineProperty,gm=Object.defineProperties,_m=Object.getOwnPropertyDescriptors,vm=Object.getOwnPropertySymbols,ym=Object.prototype.hasOwnProperty,bm=Object.prototype.propertyIsEnumerable,xm=(e,t,n)=>t in e?hm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sm=(e,t)=>{for(var n in t||={})ym.call(t,n)&&xm(e,n,t[n]);if(vm)for(var n of vm(t))bm.call(t,n)&&xm(e,n,t[n]);return e},Cm=(e,t)=>gm(e,_m(t));function wm(e,t=`-`){let n={},r=`relay`+t;return Object.keys(e).forEach(t=>{if(t.startsWith(r)){let i=t.replace(r,``),a=e[t];n[i]=a}}),n}function Tm(e){if(!e.includes(`wc:`)){let t=Xs(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=Object.fromEntries(o.entries()),c=typeof s.methods==`string`?s.methods.split(`,`):void 0;return{protocol:r,topic:Em(i[0]),version:parseInt(i[1],10),symKey:s.symKey,relay:wm(s),methods:c,expiryTimestamp:s.expiryTimestamp?parseInt(s.expiryTimestamp,10):void 0}}function Em(e){return e.startsWith(`//`)?e.substring(2):e}function Dm(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 Om(e){let t=new URLSearchParams,n=Sm(Sm(Cm(Sm({},Dm(e.relay)),{symKey:e.symKey}),e.expiryTimestamp&&{expiryTimestamp:e.expiryTimestamp.toString()}),e.methods&&{methods:e.methods.join(`,`)});return Object.entries(n).sort(([e],[t])=>e.localeCompare(t)).forEach(([e,n])=>{n!==void 0&&t.append(e,String(n))}),`${e.protocol}:${e.topic}@${e.version}?${t}`}function km(e,t,n){return`${e}?wc_ev=${n}&topic=${t}`}var Am=Object.defineProperty,jm=Object.defineProperties,Mm=Object.getOwnPropertyDescriptors,Nm=Object.getOwnPropertySymbols,Pm=Object.prototype.hasOwnProperty,Fm=Object.prototype.propertyIsEnumerable,Im=(e,t,n)=>t in e?Am(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Lm=(e,t)=>{for(var n in t||={})Pm.call(t,n)&&Im(e,n,t[n]);if(Nm)for(var n of Nm(t))Fm.call(t,n)&&Im(e,n,t[n]);return e},Rm=(e,t)=>jm(e,Mm(t));function zm(e){let t=[];return e.forEach(e=>{let[n,r]=e.split(`:`);t.push(`${n}:${r}`)}),t}function Bm(e){let t=[];return Object.values(e).forEach(e=>{t.push(...zm(e.accounts))}),t}function Vm(e,t){let n=[];return Object.values(e).forEach(e=>{zm(e.accounts).includes(t)&&n.push(...e.methods)}),n}function Hm(e,t){let n=[];return Object.values(e).forEach(e=>{zm(e.accounts).includes(t)&&n.push(...e.events)}),n}function Um(e){return e.includes(`:`)}function Wm(e){return Um(e)?e.split(`:`)[0]:e}function Gm(e){let t={};if(!Qm(e))return t;for(let[n,r]of Object.entries(e)){let e=Um(n)?[n]:r.chains,i=r.methods||[],a=r.events||[],o=Wm(n);t[o]=Rm(Lm({},t[o]),{chains:zs(e,t[o]?.chains),methods:zs(i,t[o]?.methods),events:zs(a,t[o]?.events)})}return t}function Km(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 qm(e,t){t=t.map(e=>e.replace(`did:pkh:`,``));let n=Km(t);for(let[t,r]of Object.entries(n))r.methods=r.methods?zs(r.methods,e):e,r.events=[`chainChanged`,`accountsChanged`];return n}function Jm(e,t){let n=Gm(e),r=Gm(t),i={},a=Object.keys(n).concat(Object.keys(r));for(let e of a)i[e]={chains:zs(n[e]?.chains,r[e]?.chains),methods:zs(n[e]?.methods,r[e]?.methods),events:zs(n[e]?.events,r[e]?.events)};return i}var Ym={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}},Xm={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 U(e,t){let{message:n,code:r}=Xm[e];return{message:t?`${n} ${t}`:n,code:r}}function W(e,t){let{message:n,code:r}=Ym[e];return{message:t?`${n} ${t}`:n,code:r}}function Zm(e,t){return Array.isArray(e)?typeof t<`u`&&e.length?e.every(t):!0:!1}function Qm(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function $m(e){return typeof e>`u`}function eh(e,t){return t&&$m(e)?!0:typeof e==`string`&&!!e.trim().length}function th(e,t){return t&&$m(e)?!0:typeof e==`number`&&!isNaN(e)}function nh(e,t){let{requiredNamespaces:n}=t,r=Object.keys(e.namespaces),i=Object.keys(n),a=!0;return Os(i,r)?(r.forEach(t=>{let{accounts:r,methods:i,events:o}=e.namespaces[t],s=zm(r),c=n[t];(!Os(ns(t,c),s)||!Os(c.methods,i)||!Os(c.events,o))&&(a=!1)}),a):!1}function rh(e){return eh(e,!1)&&e.includes(`:`)?e.split(`:`).length===2:!1}function ih(e){if(eh(e,!1)&&e.includes(`:`)){let t=e.split(`:`);if(t.length===3){let e=t[0]+`:`+t[1];return!!t[2]&&rh(e)}}return!1}function ah(e){function t(e){try{return typeof new URL(e)<`u`}catch{return!1}}try{if(eh(e,!1))return t(e)?!0:t(Xs(e))}catch{}return!1}function oh(e){return e?.proposer?.publicKey}function sh(e){return e?.topic}function ch(e,t){let n=null;return eh(e?.publicKey,!1)||(n=U(`MISSING_OR_INVALID`,`${t} controller public key should be a string`)),n}function lh(e){let t=!0;return Zm(e)?e.length&&(t=e.every(e=>eh(e,!1))):t=!1,t}function uh(e,t,n){let r=null;return Zm(t)&&t.length?t.forEach(e=>{r||rh(e)||(r=W(`UNSUPPORTED_CHAINS`,`${n}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):rh(e)||(r=W(`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 dh(e,t,n){let r=null;return Object.entries(e).forEach(([e,i])=>{if(r)return;let a=uh(e,ns(e,i),`${t} ${n}`);a&&(r=a)}),r}function fh(e,t){let n=null;return Zm(e)?e.forEach(e=>{n||ih(e)||(n=W(`UNSUPPORTED_ACCOUNTS`,`${t}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=W(`UNSUPPORTED_ACCOUNTS`,`${t}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n}function ph(e,t){let n=null;return Object.values(e).forEach(e=>{if(n)return;let r=fh(e?.accounts,`${t} namespace`);r&&(n=r)}),n}function mh(e,t){let n=null;return lh(e?.methods)?lh(e?.events)||(n=W(`UNSUPPORTED_EVENTS`,`${t}, events should be an array of strings or empty array for no events`)):n=W(`UNSUPPORTED_METHODS`,`${t}, methods should be an array of strings or empty array for no methods`),n}function hh(e,t){let n=null;return Object.values(e).forEach(e=>{if(n)return;let r=mh(e,`${t}, namespace`);r&&(n=r)}),n}function gh(e,t,n){let r=null;if(e&&Qm(e)){let i=hh(e,t);i&&(r=i);let a=dh(e,t,n);a&&(r=a)}else r=U(`MISSING_OR_INVALID`,`${t}, ${n} should be an object with data`);return r}function _h(e,t){let n=null;if(e&&Qm(e)){let r=hh(e,t);r&&(n=r);let i=ph(e,t);i&&(n=i)}else n=U(`MISSING_OR_INVALID`,`${t}, namespaces should be an object with data`);return n}function vh(e){return eh(e.protocol,!0)}function yh(e,t){let n=!1;return t&&!e?n=!0:e&&Zm(e)&&e.length&&e.forEach(e=>{n=vh(e)}),n}function bh(e){return typeof e==`number`}function xh(e){return typeof e<`u`&&!0}function Sh(e){return!(!e||typeof e!=`object`||!e.code||!th(e.code,!1)||!e.message||!eh(e.message,!1))}function Ch(e){return!($m(e)||!eh(e.method,!1))}function wh(e){return!($m(e)||$m(e.result)&&$m(e.error)||!th(e.id,!1)||!eh(e.jsonrpc,!1))}function Th(e){return!($m(e)||!eh(e.name,!1))}function Eh(e,t){return!(!rh(t)||!Bm(e).includes(t))}function Dh(e,t,n){return eh(n,!1)?Vm(e,t).includes(n):!1}function Oh(e,t,n){return eh(n,!1)?Hm(e,t).includes(n):!1}function kh(e,t,n){let r=null,i=Ah(e),a=Mh(t),o=Object.keys(i),s=Object.keys(a),c=jh(Object.keys(e)),l=jh(Object.keys(t)),u=c.filter(e=>!l.includes(e));return u.length&&(r=U(`NON_CONFORMING_NAMESPACES`,`${n} namespaces keys don't satisfy requiredNamespaces.
|
|
7
|
-
Required: ${u.toString()}
|
|
8
|
-
Received: ${Object.keys(t).toString()}`)),Os(o,s)||(r=U(`NON_CONFORMING_NAMESPACES`,`${n} namespaces chains don't satisfy required namespaces.
|
|
9
|
-
Required: ${o.toString()}
|
|
10
|
-
Approved: ${s.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(`:`)||r)return;let i=zm(t[e].accounts);i.includes(e)||(r=U(`NON_CONFORMING_NAMESPACES`,`${n} namespaces accounts don't satisfy namespace accounts for ${e}
|
|
11
|
-
Required: ${e}
|
|
12
|
-
Approved: ${i.toString()}`))}),o.forEach(e=>{r||(Os(i[e].methods,a[e].methods)?Os(i[e].events,a[e].events)||(r=U(`NON_CONFORMING_NAMESPACES`,`${n} namespaces events don't satisfy namespace events for ${e}`)):r=U(`NON_CONFORMING_NAMESPACES`,`${n} namespaces methods don't satisfy namespace methods for ${e}`))}),r}function Ah(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 jh(e){return[...new Set(e.map(e=>e.includes(`:`)?e.split(`:`)[0]:e))]}function Mh(e){let t={};return Object.keys(e).forEach(n=>{n.includes(`:`)?t[n]=e[n]:zm(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 Nh(e,t){return th(e,!1)&&e<=t.max&&e>=t.min}function Ph(){let e=ys();return new Promise(t=>{switch(e){case ps.browser:t(Fh());break;case ps.reactNative:t(Ih());break;case ps.node:t(Lh());break;default:t(!0)}})}function Fh(){return vs()&&navigator?.onLine}async function Ih(){return hs()&&typeof global<`u`&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function Lh(){return!0}function Rh(e){switch(ys()){case ps.browser:zh(e);break;case ps.reactNative:Bh(e);break;case ps.node:}}function zh(e){!hs()&&vs()&&(window.addEventListener(`online`,()=>e(!0)),window.addEventListener(`offline`,()=>e(!1)))}function Bh(e){hs()&&typeof global<`u`&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}function Vh(){return vs()&&(0,bi.getDocument)()?(0,bi.getDocument)()?.visibilityState===`visible`:!0}var Hh={},Uh=class{static get(e){return Hh[e]}static set(e,t){Hh[e]=t}static delete(e){delete Hh[e]}};function Wh(e){let t=le.decode(e);if(t.length<33)throw Error(`Too short to contain a public key`);return t.slice(1,33)}function Gh({publicKey:e,signature:t,payload:n}){let r=qh(n.method),i=128|parseInt(n.version?.toString()||`4`),a=Yh(n.address),o=n.era===`00`?new Uint8Array([0]):qh(n.era);if(o.length!==1&&o.length!==2)throw Error(`Invalid era length`);let s=parseInt(n.nonce,16),c=new Uint8Array([s&255,s>>8&255]),l=Zh(BigInt(`0x${Jh(n.tip)}`)),u=new Uint8Array([0,...e,a,...t,...o,...c,...l,...r]),d=Xh(u.length+1);return new Uint8Array([...d,i,...u])}function Kh(e){let t=qh(e),n=(0,mo.blake2b)(t,void 0,32);return`0x`+Buffer.from(n).toString(`hex`)}function qh(e){return new Uint8Array(e.replace(/^0x/,``).match(/.{1,2}/g).map(e=>parseInt(e,16)))}function Jh(e){return e.startsWith(`0x`)?e.slice(2):e}function Yh(e){let t=le.decode(e)[0];return t===42?0:t===60?2:1}function Xh(e){if(e<64)return new Uint8Array([e<<2]);if(e<16384){let t=e<<2|1;return new Uint8Array([t&255,t>>8&255])}if(e<1<<30){let t=e<<2|2;return new Uint8Array([t&255,t>>8&255,t>>16&255,t>>24&255])}throw Error(`Compact encoding > 2^30 not supported`)}function Zh(e){if(e<BigInt(1)<<BigInt(6))return new Uint8Array([Number(e<<BigInt(2))]);if(e<BigInt(1)<<BigInt(14)){let t=e<<BigInt(2)|BigInt(1);return new Uint8Array([Number(t&BigInt(255)),Number(t>>BigInt(8)&BigInt(255))])}if(e<BigInt(1)<<BigInt(30)){let t=e<<BigInt(2)|BigInt(2);return new Uint8Array([Number(t&BigInt(255)),Number(t>>BigInt(8)&BigInt(255)),Number(t>>BigInt(16)&BigInt(255)),Number(t>>BigInt(24)&BigInt(255))])}throw Error(`BigInt compact encoding not supported > 2^30`)}function Qh(e){let t=Uint8Array.from(Buffer.from(e.signature,`hex`)),n=Gh({publicKey:Wh(e.transaction.address),signature:t,payload:e.transaction});return Kh(Buffer.from(n).toString(`hex`))}function $h({logger:e,name:t}){let n=typeof e==`string`?Qo({opts:{level:e,name:t}}).logger:e;return n.level=typeof e==`string`?e:e.level,n}var eg=Object.defineProperty,tg=(e,t,n)=>t in e?eg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ng=(e,t,n)=>tg(e,typeof t==`symbol`?t:t+``,n),rg=class extends te{constructor(e){super(),this.opts=e,ng(this,`protocol`,`wc`),ng(this,`version`,2)}},ig=Object.defineProperty,ag=(e,t,n)=>t in e?ig(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,og=(e,t,n)=>ag(e,typeof t==`symbol`?t:t+``,n),sg=class extends te{constructor(e,t){super(),this.core=e,this.logger=t,og(this,`records`,new Map)}},cg=class{constructor(e,t){this.logger=e,this.core=t}},lg=class extends te{constructor(e,t){super(),this.relayer=e,this.logger=t}},ug=class extends te{constructor(e){super()}},dg=class{constructor(e,t,n,r){this.core=e,this.logger=t,this.name=n}},fg=class extends te{constructor(e,t){super(),this.relayer=e,this.logger=t}},pg=class extends te{constructor(e,t){super(),this.core=e,this.logger=t}},mg=class{constructor(e,t,n){this.core=e,this.logger=t,this.store=n}},hg=class{constructor(e,t){this.projectId=e,this.logger=t}},gg=class{constructor(e,t,n){this.core=e,this.logger=t,this.telemetryEnabled=n}},_g=Object.defineProperty,vg=(e,t,n)=>t in e?_g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yg=(e,t,n)=>vg(e,typeof t==`symbol`?t:t+``,n),bg=class{constructor(e){this.opts=e,yg(this,`protocol`,`wc`),yg(this,`version`,2)}},xg=class{constructor(e){this.client=e}};function Sg(e){return globalThis.Buffer==null?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Cg(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Sg(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function wg(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 Tg=wg,Eg=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`)},Dg=e=>new TextEncoder().encode(e),Og=e=>new TextDecoder().decode(e),kg=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`)}},Ag=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))}throw Error(`Can only multibase decode strings`)}or(e){return Mg(this,e)}},jg=class{constructor(e){this.decoders=e}or(e){return Mg(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`)}},Mg=(e,t)=>new jg({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ng=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new kg(e,t,n),this.decoder=new Ag(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Pg=({name:e,prefix:t,encode:n,decode:r})=>new Ng(e,t,n,r),Fg=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=Tg(n,t);return Pg({prefix:e,name:t,encode:r,decode:e=>Eg(i(e))})},Ig=(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},Lg=(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},Rg=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Pg({prefix:t,name:e,encode(e){return Lg(e,r,n)},decode(t){return Ig(t,r,n,e)}}),zg=e({identity:()=>Bg}),Bg=Pg({prefix:`\0`,name:`identity`,encode:e=>Og(e),decode:e=>Dg(e)}),Vg=e({base2:()=>Hg}),Hg=Rg({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),Ug=e({base8:()=>Wg}),Wg=Rg({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),Gg=e({base10:()=>Kg}),Kg=Fg({prefix:`9`,name:`base10`,alphabet:`0123456789`}),qg=e({base16:()=>Jg,base16upper:()=>Yg}),Jg=Rg({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Yg=Rg({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Xg=e({base32:()=>Zg,base32hex:()=>t_,base32hexpad:()=>r_,base32hexpadupper:()=>i_,base32hexupper:()=>n_,base32pad:()=>$g,base32padupper:()=>e_,base32upper:()=>Qg,base32z:()=>a_}),Zg=Rg({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),Qg=Rg({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),$g=Rg({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),e_=Rg({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),t_=Rg({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),n_=Rg({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),r_=Rg({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),i_=Rg({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),a_=Rg({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),o_=e({base36:()=>s_,base36upper:()=>c_}),s_=Fg({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),c_=Fg({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),l_=e({base58btc:()=>u_,base58flickr:()=>d_}),u_=Fg({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),d_=Fg({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),f_=e({base64:()=>p_,base64pad:()=>m_,base64url:()=>h_,base64urlpad:()=>g_}),p_=Rg({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),m_=Rg({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),h_=Rg({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),g_=Rg({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),__=e({base256emoji:()=>C_}),v_=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),y_=v_.reduce((e,t,n)=>(e[n]=t,e),[]),b_=v_.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function x_(e){return e.reduce((e,t)=>(e+=y_[t],e),``)}function S_(e){let t=[];for(let n of e){let e=b_[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var C_=Pg({prefix:`🚀`,name:`base256emoji`,encode:x_,decode:S_}),w_=O_,T_=128,E_=-128,D_=2**31;function O_(e,t,n){t||=[],n||=0;for(var r=n;e>=D_;)t[n++]=e&255|T_,e/=128;for(;e&E_;)t[n++]=e&255|T_,e>>>=7;return t[n]=e|0,O_.bytes=n-r+1,t}var k_=M_,A_=128,j_=127;function M_(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw M_.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&j_)<<r:(a&j_)*2**r,r+=7}while(a>=A_);return M_.bytes=i-t,n}var N_=128,P_=2**14,F_=2**21,I_=2**28,L_=2**35,R_=2**42,z_=2**49,B_=2**56,V_=2**63,H_={encode:w_,decode:k_,encodingLength:function(e){return e<N_?1:e<P_?2:e<F_?3:e<I_?4:e<L_?5:e<R_?6:e<z_?7:e<B_?8:e<V_?9:10}},U_=(e,t,n=0)=>(H_.encode(e,t,n),t),W_=e=>H_.encodingLength(e),G_=(e,t)=>{let n=t.byteLength,r=W_(e),i=r+W_(n),a=new Uint8Array(i+n);return U_(e,a,0),U_(n,a,r),a.set(t,i),new K_(e,n,t,a)},K_=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},q_=({name:e,code:t,encode:n})=>new J_(e,t,n),J_=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?G_(this.code,t):t.then(e=>G_(this.code,e))}throw Error(`Unknown type, must be binary type`)}},Y_=e({sha256:()=>Z_,sha512:()=>Q_}),X_=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Z_=q_({name:`sha2-256`,code:18,encode:X_(`SHA-256`)}),Q_=q_({name:`sha2-512`,code:19,encode:X_(`SHA-512`)}),$_=e({identity:()=>rv}),ev=0,tv=`identity`,nv=Eg,rv={code:ev,name:tv,encode:nv,digest:e=>G_(ev,nv(e))};new TextEncoder,new TextDecoder;var iv={...zg,...Vg,...Ug,...Gg,...qg,...Xg,...o_,...l_,...f_,...__};({...Y_,...$_});function av(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var ov=av(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),sv=av(`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=Cg(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),cv={utf8:ov,"utf-8":ov,hex:iv.base16,latin1:sv,ascii:sv,binary:sv,...iv};function lv(e,t=`utf8`){let n=cv[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 uv=`core`,dv=`wc@2:${uv}:`,fv={name:uv,logger:`error`},pv={database:`:memory:`},mv=`crypto`,hv=`client_ed25519_seed`,gv=z.ONE_DAY,_v=`keychain`,vv=`messages`,yv=z.SIX_HOURS,bv=`publisher`,xv=`error`,Sv=`relayer`,G={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`},Cv={payload:`payload`,connect:`connect`,disconnect:`disconnect`,error:`error`},wv=`2.22.4`,K={link_mode:`link_mode`,relay:`relay`},Tv={inbound:`inbound`,outbound:`outbound`},Ev=`WALLETCONNECT_CLIENT_ID`,Dv={created:`subscription_created`,deleted:`subscription_deleted`,expired:`subscription_expired`,disabled:`subscription_disabled`,sync:`subscription_sync`,resubscribed:`subscription_resubscribed`},Ov=`subscription`;z.FIVE_SECONDS*1e3;var kv=`pairing`,Av={wc_pairingDelete:{req:{ttl:z.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:z.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:z.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:z.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:z.ONE_DAY,prompt:!1,tag:0},res:{ttl:z.ONE_DAY,prompt:!1,tag:0}}},jv={create:`pairing_create`,expire:`pairing_expire`,delete:`pairing_delete`,ping:`pairing_ping`},Mv={created:`history_created`,updated:`history_updated`,deleted:`history_deleted`,sync:`history_sync`},Nv=`history`,Pv=`expirer`,Fv={created:`expirer_created`,deleted:`expirer_deleted`,expired:`expirer_expired`,sync:`expirer_sync`},Iv=`verify-api`,Lv=`https://verify.walletconnect.com`,Rv=`https://verify.walletconnect.org`,zv=`${Rv}/v3`,Bv=[Lv,Rv],Vv=`echo`,Hv=`https://echo.walletconnect.com`,Uv={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`},Wv={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`},Gv={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`,session_request_response_started:`session_request_response_started`,session_request_response_validation_success:`session_request_response_validation_success`,session_request_response_publish_started:`session_request_response_publish_started`},Kv={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`,session_request_response_validation_failure:`session_request_response_validation_failure`,session_request_response_publish_failure:`session_request_response_publish_failure`},qv={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`},Jv={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`},Yv=.1,Xv=`event-client`,Zv=`https://pulse.walletconnect.org/batch`;function Qv(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 $v=Qv,ey=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`)},ty=e=>new TextEncoder().encode(e),ny=e=>new TextDecoder().decode(e),ry=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`)}},iy=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))}throw Error(`Can only multibase decode strings`)}or(e){return oy(this,e)}},ay=class{constructor(e){this.decoders=e}or(e){return oy(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`)}},oy=(e,t)=>new ay({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),sy=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new ry(e,t,n),this.decoder=new iy(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},cy=({name:e,prefix:t,encode:n,decode:r})=>new sy(e,t,n,r),ly=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=$v(n,t);return cy({prefix:e,name:t,encode:r,decode:e=>ey(i(e))})},uy=(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},dy=(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},fy=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>cy({prefix:t,name:e,encode(e){return dy(e,r,n)},decode(t){return uy(t,r,n,e)}}),py=cy({prefix:`\0`,name:`identity`,encode:e=>ny(e),decode:e=>ty(e)}),my=Object.freeze({__proto__:null,identity:py}),hy=fy({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),gy=Object.freeze({__proto__:null,base2:hy}),_y=fy({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),vy=Object.freeze({__proto__:null,base8:_y}),yy=ly({prefix:`9`,name:`base10`,alphabet:`0123456789`}),by=Object.freeze({__proto__:null,base10:yy}),xy=fy({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Sy=fy({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Cy=Object.freeze({__proto__:null,base16:xy,base16upper:Sy}),wy=fy({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),Ty=fy({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),Ey=fy({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),Dy=fy({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),Oy=fy({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),ky=fy({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),Ay=fy({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),jy=fy({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),My=fy({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),Ny=Object.freeze({__proto__:null,base32:wy,base32upper:Ty,base32pad:Ey,base32padupper:Dy,base32hex:Oy,base32hexupper:ky,base32hexpad:Ay,base32hexpadupper:jy,base32z:My}),Py=ly({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),Fy=ly({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),Iy=Object.freeze({__proto__:null,base36:Py,base36upper:Fy}),Ly=ly({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),Ry=ly({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),zy=Object.freeze({__proto__:null,base58btc:Ly,base58flickr:Ry}),By=fy({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),Vy=fy({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),Hy=fy({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),Uy=fy({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),Wy=Object.freeze({__proto__:null,base64:By,base64pad:Vy,base64url:Hy,base64urlpad:Uy}),Gy=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),Ky=Gy.reduce((e,t,n)=>(e[n]=t,e),[]),qy=Gy.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function Jy(e){return e.reduce((e,t)=>(e+=Ky[t],e),``)}function Yy(e){let t=[];for(let n of e){let e=qy[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var Xy=cy({prefix:`🚀`,name:`base256emoji`,encode:Jy,decode:Yy}),Zy=Object.freeze({__proto__:null,base256emoji:Xy}),Qy=nb,$y=128,eb=-128,tb=2**31;function nb(e,t,n){t||=[],n||=0;for(var r=n;e>=tb;)t[n++]=e&255|$y,e/=128;for(;e&eb;)t[n++]=e&255|$y,e>>>=7;return t[n]=e|0,nb.bytes=n-r+1,t}var rb=ob,ib=128,ab=127;function ob(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw ob.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&ab)<<r:(a&ab)*2**r,r+=7}while(a>=ib);return ob.bytes=i-t,n}var sb=128,cb=2**14,lb=2**21,ub=2**28,db=2**35,fb=2**42,pb=2**49,mb=2**56,hb=2**63,gb={encode:Qy,decode:rb,encodingLength:function(e){return e<sb?1:e<cb?2:e<lb?3:e<ub?4:e<db?5:e<fb?6:e<pb?7:e<mb?8:e<hb?9:10}},_b=(e,t,n=0)=>(gb.encode(e,t,n),t),vb=e=>gb.encodingLength(e),yb=(e,t)=>{let n=t.byteLength,r=vb(e),i=r+vb(n),a=new Uint8Array(i+n);return _b(e,a,0),_b(n,a,r),a.set(t,i),new bb(e,n,t,a)},bb=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},xb=({name:e,code:t,encode:n})=>new Sb(e,t,n),Sb=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?yb(this.code,t):t.then(e=>yb(this.code,e))}throw Error(`Unknown type, must be binary type`)}},Cb=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),wb=xb({name:`sha2-256`,code:18,encode:Cb(`SHA-256`)}),Tb=xb({name:`sha2-512`,code:19,encode:Cb(`SHA-512`)}),Eb=Object.freeze({__proto__:null,sha256:wb,sha512:Tb}),Db=0,Ob=`identity`,kb=ey,Ab=Object.freeze({__proto__:null,identity:{code:Db,name:Ob,encode:kb,digest:e=>yb(Db,kb(e))}});new TextEncoder,new TextDecoder;var jb={...my,...gy,...vy,...by,...Cy,...Ny,...Iy,...zy,...Wy,...Zy};({...Eb,...Ab});function Mb(e){return globalThis.Buffer==null?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Nb(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Mb(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Pb(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var Fb=Pb(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),Ib=Pb(`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=Nb(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),Lb={utf8:Fb,"utf-8":Fb,hex:jb.base16,latin1:Ib,ascii:Ib,binary:Ib,...jb};function Rb(e,t=`utf8`){let n=Lb[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Mb(globalThis.Buffer.from(e,`utf-8`)):n.decoder.decode(`${n.prefix}${e}`)}var zb=Object.defineProperty,Bb=(e,t,n)=>t in e?zb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vb=(e,t,n)=>Bb(e,typeof t==`symbol`?t:t+``,n),Hb=class{constructor(e,t){this.core=e,this.logger=t,Vb(this,`keychain`,new Map),Vb(this,`name`,_v),Vb(this,`version`,`0.3`),Vb(this,`initialized`,!1),Vb(this,`storagePrefix`,dv),Vb(this,`init`,async()=>{if(!this.initialized){let e=await this.getKeyChain();typeof e<`u`&&(this.keychain=e),this.initialized=!0}}),Vb(this,`has`,e=>(this.isInitialized(),this.keychain.has(e))),Vb(this,`set`,async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),Vb(this,`get`,e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>`u`){let{message:t}=U(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}),Vb(this,`del`,async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=Yo(t,this.name)}get context(){return qo(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,ks(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?As(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}},Ub=Object.defineProperty,Wb=(e,t,n)=>t in e?Ub(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Gb=(e,t,n)=>Wb(e,typeof t==`symbol`?t:t+``,n),Kb=class{constructor(e,t,n){this.core=e,this.logger=t,Gb(this,`name`,mv),Gb(this,`keychain`),Gb(this,`randomSessionIdentifier`,qp()),Gb(this,`initialized`,!1),Gb(this,`clientId`),Gb(this,`init`,async()=>{this.initialized||=(await this.keychain.init(),!0)}),Gb(this,`hasKeys`,e=>(this.isInitialized(),this.keychain.has(e))),Gb(this,`getClientId`,async()=>{if(this.isInitialized(),this.clientId)return this.clientId;let e=await this.getClientSeed(),t=ne(e),n=ce(t.publicKey);return this.clientId=n,n}),Gb(this,`generateKeyPair`,()=>{this.isInitialized();let e=Kp();return this.setPrivateKey(e.publicKey,e.privateKey)}),Gb(this,`signJWT`,async e=>{this.isInitialized();let t=await this.getClientSeed(),n=ne(t),r=this.randomSessionIdentifier;return await ge(r,e,gv,n)}),Gb(this,`generateSharedKey`,(e,t,n)=>{this.isInitialized();let r=Jp(this.getPrivateKey(e),t);return this.setSymKey(r,n)}),Gb(this,`setSymKey`,async(e,t)=>{this.isInitialized();let n=t||Yp(e);return await this.keychain.set(n,e),n}),Gb(this,`deleteKeyPair`,async e=>{this.isInitialized(),await this.keychain.del(e)}),Gb(this,`deleteSymKey`,async e=>{this.isInitialized(),await this.keychain.del(e)}),Gb(this,`encode`,async(e,t,n)=>{this.isInitialized();let r=cm(n),i=I(t);if(um(r))return rm(i,n?.encoding);if(lm(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 tm({type:o,symKey:a,message:i,senderPublicKey:s,encoding:n?.encoding})}),Gb(this,`decode`,async(e,t,n)=>{this.isInitialized();let r=sm(t,n);if(um(r)){let e=im(t,n?.encoding);return C(e)}if(lm(r)){let t=r.receiverPublicKey,n=r.senderPublicKey;e=await this.generateSharedKey(t,n)}try{let r=nm({symKey:this.getSymKey(e),encoded:t,encoding:n?.encoding});return C(r)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),Gb(this,`getPayloadType`,(e,t=zp)=>Qp(om({encoded:e,encoding:t}).type)),Gb(this,`getPayloadSenderPublicKey`,(e,t=zp)=>{let n=om({encoded:e,encoding:t});return n.senderPublicKey?lv(n.senderPublicKey,Rp):void 0}),this.core=e,this.logger=Yo(t,this.name),this.keychain=n||new Hb(this.core,this.logger)}get context(){return qo(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(hv)}catch{e=qp(),await this.keychain.set(hv,e)}return Rb(e,`base16`)}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}},qb=Object.defineProperty,Jb=Object.defineProperties,Yb=Object.getOwnPropertyDescriptors,Xb=Object.getOwnPropertySymbols,Zb=Object.prototype.hasOwnProperty,Qb=Object.prototype.propertyIsEnumerable,$b=(e,t,n)=>t in e?qb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ex=(e,t)=>{for(var n in t||={})Zb.call(t,n)&&$b(e,n,t[n]);if(Xb)for(var n of Xb(t))Qb.call(t,n)&&$b(e,n,t[n]);return e},tx=(e,t)=>Jb(e,Yb(t)),nx=(e,t,n)=>$b(e,typeof t==`symbol`?t:t+``,n),rx=class extends cg{constructor(e,t){super(e,t),this.logger=e,this.core=t,nx(this,`messages`,new Map),nx(this,`messagesWithoutClientAck`,new Map),nx(this,`name`,vv),nx(this,`version`,`0.3`),nx(this,`initialized`,!1),nx(this,`storagePrefix`,dv),nx(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}}}),nx(this,`set`,async(e,t,n)=>{this.isInitialized();let r=Xp(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===Tv.inbound){let n=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,tx(ex({},n),{[r]:t}))}return await this.persist(),r}),nx(this,`get`,e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>`u`&&(t={}),t}),nx(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}),nx(this,`has`,(e,t)=>(this.isInitialized(),typeof this.get(e)[Xp(t)]<`u`)),nx(this,`ack`,async(e,t)=>{this.isInitialized();let n=this.messagesWithoutClientAck.get(e);if(typeof n>`u`)return;let r=Xp(t);delete n[r],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,n),await this.persist()}),nx(this,`del`,async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=Yo(e,this.name),this.core=t}get context(){return qo(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,ks(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,ks(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?As(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<`u`?As(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}},ix=Object.defineProperty,ax=Object.defineProperties,ox=Object.getOwnPropertyDescriptors,sx=Object.getOwnPropertySymbols,cx=Object.prototype.hasOwnProperty,lx=Object.prototype.propertyIsEnumerable,ux=(e,t,n)=>t in e?ix(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dx=(e,t)=>{for(var n in t||={})cx.call(t,n)&&ux(e,n,t[n]);if(sx)for(var n of sx(t))lx.call(t,n)&&ux(e,n,t[n]);return e},fx=(e,t)=>ax(e,ox(t)),px=(e,t,n)=>ux(e,typeof t==`symbol`?t:t+``,n),mx=class extends lg{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,px(this,`events`,new yi.EventEmitter),px(this,`name`,bv),px(this,`queue`,new Map),px(this,`publishTimeout`,(0,z.toMiliseconds)(z.ONE_MINUTE)),px(this,`initialPublishTimeout`,(0,z.toMiliseconds)(z.ONE_SECOND*15)),px(this,`needsTransportRestart`,!1),px(this,`publish`,async(e,t,n)=>{var r,i,a;this.logger.debug(`Publishing Payload`),this.logger.trace({type:`method`,method:`publish`,params:{topic:e,message:t,opts:n}});let o=n?.ttl||yv,s=n?.prompt||!1,c=n?.tag||0,l=n?.id||M().toString(),u=mm(pm().protocol),d={id:l,method:n?.publishMethod||u.publish,params:dx({topic:e,message:t,ttl:o,prompt:s,tag:c,attestation:n?.attestation},n?.tvf)},f=`Failed to publish payload, please try again. id:${l} tag:${c}`;try{$m(d.params?.prompt)&&((r=d.params)==null||delete r.prompt),$m(d.params?.tag)&&((i=d.params)==null||delete i.tag);let a=new Promise(async e=>{let t=({id:n})=>{d.id?.toString()===n.toString()&&(this.removeRequestFromQueue(n),this.relayer.events.removeListener(G.publish,t),e())};this.relayer.events.on(G.publish,t);let r=Ms(new Promise((e,t)=>{this.rpcPublish(d,n).then(e).catch(e=>{this.logger.warn(e,e?.message),t(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${l} tag:${c}`);try{await r,this.events.removeListener(G.publish,t)}catch(e){this.queue.set(l,{request:d,opts:n,attempt:1}),this.logger.warn(e,e?.message)}});this.logger.trace({type:`method`,method:`publish`,params:{id:l,topic:e,message:t,opts:n}}),await Ms(a,this.publishTimeout,f)}catch(e){if(this.logger.debug(`Failed to Publish Payload`),this.logger.error(e),(a=n?.internal)!=null&&a.throwOnFailedPublish)throw e}finally{this.queue.delete(l)}}),px(this,`publishCustom`,async e=>{var t,n,r;this.logger.debug(`Publishing custom payload`),this.logger.trace({type:`method`,method:`publishCustom`,params:e});let{payload:i,opts:a={}}=e,{attestation:o,tvf:s,publishMethod:c,prompt:l,tag:u,ttl:d=z.FIVE_MINUTES}=a,f=a.id||M().toString(),p=mm(pm().protocol),m=c||p.publish,h={id:f,method:m,params:dx(fx(dx({},i),{ttl:d,prompt:l,tag:u,attestation:o}),s)},g=`Failed to publish custom payload, please try again. id:${f} tag:${u}`;try{$m(h.params?.prompt)&&((t=h.params)==null||delete t.prompt),$m(h.params?.tag)&&((n=h.params)==null||delete n.tag);let e=new Promise(async e=>{let t=({id:n})=>{h.id?.toString()===n.toString()&&(this.removeRequestFromQueue(n),this.relayer.events.removeListener(G.publish,t),e())};this.relayer.events.on(G.publish,t);let n=Ms(new Promise((e,t)=>{this.rpcPublish(h,a).then(e).catch(e=>{this.logger.warn(e,e?.message),t(e)})}),this.initialPublishTimeout,`Failed initial custom payload publish, retrying.... method:${m} id:${f} tag:${u}`);try{await n,this.events.removeListener(G.publish,t)}catch(e){this.queue.set(f,{request:h,opts:a,attempt:1}),this.logger.warn(e,e?.message)}});this.logger.trace({type:`method`,method:`publish`,params:{id:f,payload:i,opts:a}}),await Ms(e,this.publishTimeout,g)}catch(e){if(this.logger.debug(`Failed to Publish Payload`),this.logger.error(e),(r=a?.internal)!=null&&r.throwOnFailedPublish)throw e}finally{this.queue.delete(f)}}),px(this,`on`,(e,t)=>{this.events.on(e,t)}),px(this,`once`,(e,t)=>{this.events.once(e,t)}),px(this,`off`,(e,t)=>{this.events.off(e,t)}),px(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=Yo(t,this.name),this.registerEventListeners()}get context(){return qo(this.logger)}async rpcPublish(e,t){this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`message`,direction:`outgoing`,request:e});let n=await this.relayer.request(e);return this.relayer.events.emit(G.publish,dx(dx({},e),t)),this.logger.debug(`Successfully Published Payload`),n}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let n=e.attempt+1;this.queue.set(t,fx(dx({},e),{attempt:n})),this.logger.warn({},`Publisher: queue->publishing: ${e.request.id}, tag: ${e.request.params?.tag}, attempt: ${n}`),await this.rpcPublish(e.request,e.opts),this.logger.warn({},`Publisher: queue->published: ${e.request.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(se.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(G.connection_stalled);return}this.checkQueue()}),this.relayer.on(G.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},hx=Object.defineProperty,gx=(e,t,n)=>t in e?hx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_x=(e,t,n)=>gx(e,typeof t==`symbol`?t:t+``,n),vx=class{constructor(){_x(this,`map`,new Map),_x(this,`set`,(e,t)=>{let n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])}),_x(this,`get`,e=>this.map.get(e)||[]),_x(this,`exists`,(e,t)=>this.get(e).includes(t)),_x(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)}),_x(this,`clear`,()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}},yx=Object.defineProperty,bx=Object.defineProperties,xx=Object.getOwnPropertyDescriptors,Sx=Object.getOwnPropertySymbols,Cx=Object.prototype.hasOwnProperty,wx=Object.prototype.propertyIsEnumerable,Tx=(e,t,n)=>t in e?yx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ex=(e,t)=>{for(var n in t||={})Cx.call(t,n)&&Tx(e,n,t[n]);if(Sx)for(var n of Sx(t))wx.call(t,n)&&Tx(e,n,t[n]);return e},Dx=(e,t)=>bx(e,xx(t)),q=(e,t,n)=>Tx(e,typeof t==`symbol`?t:t+``,n),Ox=class extends fg{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,q(this,`subscriptions`,new Map),q(this,`topicMap`,new vx),q(this,`events`,new yi.EventEmitter),q(this,`name`,Ov),q(this,`version`,`0.3`),q(this,`pending`,new Map),q(this,`cached`,[]),q(this,`initialized`,!1),q(this,`storagePrefix`,dv),q(this,`subscribeTimeout`,(0,z.toMiliseconds)(z.ONE_MINUTE)),q(this,`initialSubscribeTimeout`,(0,z.toMiliseconds)(z.ONE_SECOND*15)),q(this,`clientId`),q(this,`batchSubscribeTopicsLimit`,500),q(this,`init`,async()=>{this.initialized||(this.logger.trace(`Initialized`),this.registerEventListeners(),await this.restore()),this.initialized=!0}),q(this,`subscribe`,async(e,t)=>{var n;this.isInitialized(),this.logger.debug(`Subscribing Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}});try{let r=pm(t),i={topic:e,relay:r,transportType:t?.transportType};(n=t?.internal)!=null&&n.skipSubscribe||this.pending.set(e,i);let a=await this.rpcSubscribe(e,r,t);return typeof a==`string`&&(this.onSubscribe(a,i),this.logger.debug(`Successfully Subscribed Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}})),a}catch(e){throw this.logger.debug(`Failed to Subscribe Topic`),this.logger.error(e),e}}),q(this,`unsubscribe`,async(e,t)=>{this.isInitialized(),typeof t?.id<`u`?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),q(this,`isSubscribed`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),q(this,`isKnownTopic`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),q(this,`on`,(e,t)=>{this.events.on(e,t)}),q(this,`once`,(e,t)=>{this.events.once(e,t)}),q(this,`off`,(e,t)=>{this.events.off(e,t)}),q(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),q(this,`start`,async()=>{await this.onConnect()}),q(this,`stop`,async()=>{await this.onDisconnect()}),q(this,`restart`,async()=>{await this.restore(),await this.onRestart()}),q(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)}),q(this,`registerEventListeners`,()=>{this.relayer.core.heartbeat.on(se.pulse,async()=>{await this.checkPending()}),this.events.on(Dv.created,async e=>{let t=Dv.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()}),this.events.on(Dv.deleted,async e=>{let t=Dv.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=Yo(t,this.name),this.clientId=``}get context(){return qo(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.values.length>0&&(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=pm(n);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);let i=W(`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){var r;let i=await this.getSubscriptionId(e);if((r=n?.internal)!=null&&r.skipSubscribe)return i;(!n||n?.transportType===K.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});let a={method:mm(t.protocol).subscribe,params:{topic:e}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:a});let o=n?.internal?.throwOnFailedPublish;try{if(n?.transportType===K.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(a).catch(e=>this.logger.warn(e))},(0,z.toMiliseconds)(z.ONE_SECOND)),i;let t=await Ms(new Promise(async t=>{let n=r=>{r.topic===e&&(this.events.removeListener(Dv.created,n),t(r.id))};this.events.on(Dv.created,n);try{let r=await Ms(new Promise((e,t)=>{this.relayer.request(a).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(Dv.created,n),t(r)}catch{}}),this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!t&&o)throw Error(`Subscribing to ${e} failed, please try again`);return t?i:null}catch(e){if(this.logger.debug(`Outgoing Relay Subscribe Payload stalled`),this.relayer.events.emit(G.connection_stalled),o)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t=e[0].relay,n={method:mm(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 Ms(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(G.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;let t=e[0].relay,n={method:mm(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 Ms(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(G.connection_stalled)}return r}rpcUnsubscribe(e,t,n){let r={method:mm(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,Dx(Ex({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,Ex({},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,Ex({},t)),this.topicMap.set(t.topic,e),this.events.emit(Dv.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}=U(`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(Dv.deleted,Dx(Ex({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Dv.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(Dv.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>`u`||!e.length)return;if(this.subscriptions.size&&!e.every(e=>e.topic===this.subscriptions.get(e.id)?.topic)){let{message:e}=U(`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=>Dx(Ex({},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 Zs((0,z.toMiliseconds)(z.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}=U(`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 Xp(e+await this.getClientId())}},kx=Object.defineProperty,Ax=Object.getOwnPropertySymbols,jx=Object.prototype.hasOwnProperty,Mx=Object.prototype.propertyIsEnumerable,Nx=(e,t,n)=>t in e?kx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Px=(e,t)=>{for(var n in t||={})jx.call(t,n)&&Nx(e,n,t[n]);if(Ax)for(var n of Ax(t))Mx.call(t,n)&&Nx(e,n,t[n]);return e},J=(e,t,n)=>Nx(e,typeof t==`symbol`?t:t+``,n),Fx=class extends ug{constructor(e){super(e),J(this,`protocol`,`wc`),J(this,`version`,2),J(this,`core`),J(this,`logger`),J(this,`events`,new yi.EventEmitter),J(this,`provider`),J(this,`messages`),J(this,`subscriber`),J(this,`publisher`),J(this,`name`,Sv),J(this,`transportExplicitlyClosed`,!1),J(this,`initialized`,!1),J(this,`connectionAttemptInProgress`,!1),J(this,`relayUrl`),J(this,`projectId`),J(this,`packageName`),J(this,`bundleId`),J(this,`hasExperiencedNetworkDisruption`,!1),J(this,`pingTimeout`),J(this,`heartBeatTimeout`,(0,z.toMiliseconds)(z.THIRTY_SECONDS+z.FIVE_SECONDS)),J(this,`reconnectTimeout`),J(this,`connectPromise`),J(this,`reconnectInProgress`,!1),J(this,`requestsInFlight`,[]),J(this,`connectTimeout`,(0,z.toMiliseconds)(z.ONE_SECOND*15)),J(this,`request`,async e=>{this.logger.debug(`Publishing Request Payload`);let t=e.id||M().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}}),J(this,`resetPingTimeout`,()=>{ms()&&(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))}),J(this,`onPayloadHandler`,e=>{this.onProviderPayload(e),this.resetPingTimeout()}),J(this,`onConnectHandler`,()=>{this.logger.warn({},`Relayer connected 🛜`),this.startPingTimeout(),this.events.emit(G.connect)}),J(this,`onDisconnectHandler`,()=>{this.logger.warn({},`Relayer disconnected 🛑`),this.requestsInFlight=[],this.onProviderDisconnect()}),J(this,`onProviderErrorHandler`,e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(G.error,e),this.logger.fatal(`Fatal socket error received, closing transport`),this.transportClose()}),J(this,`registerProviderListeners`,()=>{this.provider.on(Cv.payload,this.onPayloadHandler),this.provider.on(Cv.connect,this.onConnectHandler),this.provider.on(Cv.disconnect,this.onDisconnectHandler),this.provider.on(Cv.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=$h({logger:e.logger??xv,name:this.name}),this.messages=new rx(this.logger,e.core),this.subscriber=new Ox(this,this.logger),this.publisher=new mx(this,this.logger),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,gs()?this.packageName=bs():_s()&&(this.bundleId=bs()),this.provider={}}async init(){this.logger.trace(`Initialized`),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.transportOpen().catch(e=>this.logger.warn(e,e?.message))}get context(){return qo(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:K.relay},Tv.outbound)}async publishCustom(e){this.isInitialized(),await this.publisher.publishCustom(e)}async subscribe(e,t){this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===`relay`)&&await this.toEstablishConnection();let n=typeof t?.internal?.throwOnFailedPublish>`u`||t?.internal?.throwOnFailedPublish,r=this.subscriber.topicMap.get(e)?.[0]||``,i,a=t=>{t.topic===e&&(this.subscriber.off(Dv.created,a),i())};return await Promise.all([new Promise(e=>{i=e,this.subscriber.on(Dv.created,a)}),new Promise(async(i,a)=>{r=await this.subscriber.subscribe(e,Px({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 Ms(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.info(`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 Ph())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:Ls(z.FIVE_MINUTES),relay:{protocol:`irn`},active:!1};await this.core.pairing.pairings.set(n,e)}this.events.emit(G.message,e),await this.recordMessageEvent(e,Tv.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 connect`))};this.provider.once(Cv.disconnect,n),await Ms(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(Cv.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,n)=>{let r=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(Cv.disconnect,r),await this.subscriber.start().then(e).catch(n).finally(()=>{this.provider.off(Cv.disconnect,r)})}),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,z.toMiliseconds)(t*1))),t++}}startPingTimeout(){var e,t;if(ms())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 A(new he(Ds({sdkVersion:wv,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}),w(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:K.relay,attestation:a};this.logger.debug(`Emitting Relayer Payload`),this.logger.trace(Px({type:`event`,event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else j(e)&&this.events.emit(G.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,Tv.inbound),this.events.emit(G.message,e))}async acknowledgePayload(e){let t=E(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Cv.payload,this.onPayloadHandler),this.provider.off(Cv.connect,this.onConnectHandler),this.provider.off(Cv.disconnect,this.onDisconnectHandler),this.provider.off(Cv.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Ph();Rh(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))}),this.core.heartbeat.on(se.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Vh())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(G.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,z.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}};function Ix(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Lx(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function Rx(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var zx=`[object RegExp]`,Bx=`[object String]`,Vx=`[object Number]`,Hx=`[object Boolean]`,Ux=`[object Arguments]`,Wx=`[object Symbol]`,Gx=`[object Date]`,Kx=`[object Map]`,qx=`[object Set]`,Jx=`[object Array]`,Yx=`[object Function]`,Xx=`[object ArrayBuffer]`,Zx=`[object Object]`,Qx=`[object Error]`,$x=`[object DataView]`,eS=`[object Uint8Array]`,tS=`[object Uint8ClampedArray]`,nS=`[object Uint16Array]`,rS=`[object Uint32Array]`,iS=`[object BigUint64Array]`,aS=`[object Int8Array]`,oS=`[object Int16Array]`,sS=`[object Int32Array]`,cS=`[object BigInt64Array]`,lS=`[object Float32Array]`,uS=`[object Float64Array]`;function dS(){}function fS(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 pS(e,t,n){return mS(e,t,void 0,void 0,void 0,void 0,n)}function mS(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 hS(e,t,a,o)}return hS(e,t,a,o)}function hS(e,t,n,r){if(Object.is(e,t))return!0;let i=Rx(e),a=Rx(t);if(i===Ux&&(i=Zx),a===Ux&&(a=Zx),i!==a)return!1;switch(i){case Bx:return e.toString()===t.toString();case Vx:return Ix(e.valueOf(),t.valueOf());case Hx:case Gx:case Wx:return Object.is(e.valueOf(),t.valueOf());case zx:return e.source===t.source&&e.flags===t.flags;case Yx: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 Kx:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!mS(a,t.get(i),i,e,t,n,r))return!1;return!0;case qx:{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=>mS(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case Jx:case eS:case tS:case nS:case rS:case iS:case aS:case oS:case sS:case cS:case lS:case uS: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(!mS(e[i],t[i],i,e,t,n,r))return!1;return!0;case Xx:return e.byteLength===t.byteLength&&hS(new Uint8Array(e),new Uint8Array(t),n,r);case $x:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:hS(new Uint8Array(e),new Uint8Array(t),n,r);case Qx:return e.name===t.name&&e.message===t.message;case Zx:{if(!(hS(e.constructor,t.constructor,n,r)||fS(e)&&fS(t)))return!1;let i=[...Object.keys(e),...Lx(e)],a=[...Object.keys(t),...Lx(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(!mS(s,c,o,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function gS(e,t){return pS(e,t,dS)}var _S=Object.defineProperty,vS=Object.getOwnPropertySymbols,yS=Object.prototype.hasOwnProperty,bS=Object.prototype.propertyIsEnumerable,xS=(e,t,n)=>t in e?_S(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,SS=(e,t)=>{for(var n in t||={})yS.call(t,n)&&xS(e,n,t[n]);if(vS)for(var n of vS(t))bS.call(t,n)&&xS(e,n,t[n]);return e},CS=(e,t,n)=>xS(e,typeof t==`symbol`?t:t+``,n),wS=class extends dg{constructor(e,t,n,r=dv,i=void 0){super(e,t,n,r),this.core=e,this.logger=t,this.name=n,CS(this,`map`,new Map),CS(this,`version`,`0.3`),CS(this,`cached`,[]),CS(this,`initialized`,!1),CS(this,`getKey`),CS(this,`storagePrefix`,dv),CS(this,`recentlyDeleted`,[]),CS(this,`recentlyDeletedLimit`,200),CS(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>{this.getKey&&e!==null&&!$m(e)?this.map.set(this.getKey(e),e):oh(e)?this.map.set(e.id,e):sh(e)&&this.map.set(e.topic,e)}),this.cached=[],!0)}),CS(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())}),CS(this,`get`,e=>(this.isInitialized(),this.logger.debug(`Getting value`),this.logger.trace({type:`method`,method:`get`,key:e}),this.getData(e))),CS(this,`getAll`,e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(n=>gS(t[n],e[n]))):this.values)),CS(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=SS(SS({},this.getData(e)),t);this.map.set(e,n),await this.persist()}),CS(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=Yo(t,this.name),this.storagePrefix=r,this.getKey=i}get context(){return qo(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}=U(`MISSING_OR_INVALID`,`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=U(`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}=U(`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}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}},TS=Object.defineProperty,ES=(e,t,n)=>t in e?TS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t,n)=>ES(e,typeof t==`symbol`?t:t+``,n),DS=class{constructor(e,t){this.core=e,this.logger=t,Y(this,`name`,kv),Y(this,`version`,`0.3`),Y(this,`events`,new yi.default),Y(this,`pairings`),Y(this,`initialized`,!1),Y(this,`storagePrefix`,dv),Y(this,`ignoredPayloadTypes`,[1]),Y(this,`registeredMethods`,[]),Y(this,`init`,async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(`Initialized`))}),Y(this,`register`,({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),Y(this,`create`,async e=>{this.isInitialized();let t=qp(),n=await this.core.crypto.setSymKey(t),r=Ls(z.FIVE_MINUTES),i={protocol:`irn`},a={topic:n,expiry:r,relay:i,active:!1,methods:e?.methods},o=Om({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:t,relay:i,expiryTimestamp:r,methods:e?.methods});return this.events.emit(jv.create,a),this.core.expirer.set(n,r),await this.pairings.set(n,a),await this.core.relayer.subscribe(n,{transportType:e?.transportType,internal:e?.internal}),{topic:n,uri:o}}),Y(this,`pair`,async e=>{this.isInitialized();let t=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[Uv.pairing_started]}});this.isValidPair(e,t);let{topic:n,symKey:r,relay:i,expiryTimestamp:a,methods:o}=Tm(e.uri);t.props.properties.topic=n,t.addTrace(Uv.pairing_uri_validation_success),t.addTrace(Uv.pairing_uri_not_expired);let s;if(this.pairings.keys.includes(n)){if(s=this.pairings.get(n),t.addTrace(Uv.existing_pairing),s.active)throw t.setError(Wv.active_pairing_already_exists),Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);t.addTrace(Uv.pairing_not_expired)}let c=a||Ls(z.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(Uv.store_new_pairing),e.activatePairing&&await this.activate({topic:n}),this.events.emit(jv.create,l),t.addTrace(Uv.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(r,n),t.addTrace(Uv.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{t.setError(Wv.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:i})}catch(e){throw t.setError(Wv.subscribe_pairing_topic_failure),e}return t.addTrace(Uv.subscribe_pairing_topic_success),l}),Y(this,`activate`,async({topic:e})=>{this.isInitialized();let t=Ls(z.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),Y(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}=js();this.events.once(B(`pairing_ping`,e),({error:e})=>{e?i(e):r()}),await n()}}),Y(this,`updateExpiry`,async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),Y(this,`updateMetadata`,async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),Y(this,`getPairings`,()=>(this.isInitialized(),this.pairings.values)),Y(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`,W(`USER_DISCONNECTED`)),await this.deletePairing(t))}),Y(this,`formatUriFromPairing`,e=>{this.isInitialized();let{topic:t,relay:n,expiry:r,methods:i}=e,a=this.core.crypto.keychain.get(t);return Om({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:a,relay:n,expiryTimestamp:r,methods:i})}),Y(this,`sendRequest`,async(e,t,n)=>{let r=T(t,n),i=await this.core.crypto.encode(e,r),a=Av[t].req;return this.core.history.set(e,r),this.core.relayer.publish(e,i,a),r.id}),Y(this,`sendResult`,async(e,t,n)=>{let r=E(e,n),i=await this.core.crypto.encode(t,r),a=Av[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,i,a),await this.core.history.resolve(r)}),Y(this,`sendError`,async(e,t,n)=>{let r=F(e,n),i=await this.core.crypto.encode(t,r),a=(await this.core.history.get(t,e)).request.method,o=Av[a]?Av[a].res:Av.unregistered_method.res;await this.core.relayer.publish(t,i,o),await this.core.history.resolve(r)}),Y(this,`deletePairing`,async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,W(`USER_DISCONNECTED`)),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),Y(this,`cleanup`,async()=>{let e=this.pairings.getAll().filter(e=>Rs(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),Y(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)}}),Y(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)}}),Y(this,`onPairingPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult(n,e,!0),this.events.emit(jv.ping,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Y(this,`onPairingPingResponse`,(e,t)=>{let{id:n}=t;setTimeout(()=>{N(t)?this.events.emit(B(`pairing_ping`,n),{}):O(t)&&this.events.emit(B(`pairing_ping`,n),{error:t.error})},500)}),Y(this,`onPairingDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(jv.delete,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Y(this,`onUnknownRpcMethodRequest`,async(e,t)=>{let{id:n,method:r}=t;try{if(this.registeredMethods.includes(r))return;let t=W(`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)}}),Y(this,`onUnknownRpcMethodResponse`,e=>{this.registeredMethods.includes(e)||this.logger.error(W(`WC_METHOD_UNSUPPORTED`,e))}),Y(this,`isValidPair`,(e,t)=>{var n;if(!xh(e)){let{message:n}=U(`MISSING_OR_INVALID`,`pair() params: ${e}`);throw t.setError(Wv.malformed_pairing_uri),Error(n)}if(!ah(e.uri)){let{message:n}=U(`MISSING_OR_INVALID`,`pair() uri: ${e.uri}`);throw t.setError(Wv.malformed_pairing_uri),Error(n)}let r=Tm(e?.uri);if(!((n=r?.relay)!=null&&n.protocol)){let{message:e}=U(`MISSING_OR_INVALID`,`pair() uri#relay-protocol`);throw t.setError(Wv.malformed_pairing_uri),Error(e)}if(!(r!=null&&r.symKey)){let{message:e}=U(`MISSING_OR_INVALID`,`pair() uri#symKey`);throw t.setError(Wv.malformed_pairing_uri),Error(e)}if(r!=null&&r.expiryTimestamp&&(0,z.toMiliseconds)(r?.expiryTimestamp)<Date.now()){t.setError(Wv.pairing_expired);let{message:e}=U(`EXPIRED`,`pair() URI has expired. Please try again with a new connection URI.`);throw Error(e)}}),Y(this,`isValidPing`,async e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),Y(this,`isValidDisconnect`,async e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),Y(this,`isValidPairingTopic`,async e=>{if(!eh(e,!1)){let{message:t}=U(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=U(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(Rs(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=U(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=Yo(t,this.name),this.pairings=new wS(this.core,this.logger,this.name,this.storagePrefix)}get context(){return qo(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(G.message,async e=>{let{topic:t,message:n,transportType:r}=e;if(this.pairings.keys.includes(t)&&r!==K.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))try{let e=await this.core.crypto.decode(t,n);w(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):j(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(Fv.expired,async e=>{let{topic:t}=Is(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(jv.expire,{topic:t}))})}},OS=Object.defineProperty,kS=(e,t,n)=>t in e?OS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AS=(e,t,n)=>kS(e,typeof t==`symbol`?t:t+``,n),jS=class extends sg{constructor(e,t){super(e,t),this.core=e,this.logger=t,AS(this,`records`,new Map),AS(this,`events`,new yi.EventEmitter),AS(this,`name`,Nv),AS(this,`version`,`0.3`),AS(this,`cached`,[]),AS(this,`initialized`,!1),AS(this,`storagePrefix`,dv),AS(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)}),AS(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:Ls(z.THIRTY_DAYS)};this.records.set(r.id,r),this.persist(),this.events.emit(Mv.created,r)}),AS(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(Mv.updated,t))}),AS(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))),AS(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(Mv.deleted,n)}}),this.persist()}),AS(this,`exists`,async(e,t)=>(this.isInitialized(),this.records.has(t)?(await this.getRecord(t)).topic===e:!1)),AS(this,`on`,(e,t)=>{this.events.on(e,t)}),AS(this,`once`,(e,t)=>{this.events.once(e,t)}),AS(this,`off`,(e,t)=>{this.events.off(e,t)}),AS(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=Yo(t,this.name)}get context(){return qo(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:T(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}=U(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Mv.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>`u`||!e.length)return;if(this.records.size){let{message:e}=U(`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(Mv.created,e=>{let t=Mv.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(Mv.updated,e=>{let t=Mv.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(Mv.deleted,e=>{let t=Mv.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.core.heartbeat.on(se.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,z.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(Mv.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}},MS=Object.defineProperty,NS=(e,t,n)=>t in e?MS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,PS=(e,t,n)=>NS(e,typeof t==`symbol`?t:t+``,n),FS=class extends pg{constructor(e,t){super(e,t),this.core=e,this.logger=t,PS(this,`expirations`,new Map),PS(this,`events`,new yi.EventEmitter),PS(this,`name`,Pv),PS(this,`version`,`0.3`),PS(this,`cached`,[]),PS(this,`initialized`,!1),PS(this,`storagePrefix`,dv),PS(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)}),PS(this,`has`,e=>{try{let t=this.formatTarget(e);return typeof this.getExpiration(t)<`u`}catch{return!1}}),PS(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(Fv.created,{target:n,expiration:r})}),PS(this,`get`,e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),PS(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(Fv.deleted,{target:t,expiration:n})}}),PS(this,`on`,(e,t)=>{this.events.on(e,t)}),PS(this,`once`,(e,t)=>{this.events.once(e,t)}),PS(this,`off`,(e,t)=>{this.events.off(e,t)}),PS(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=Yo(t,this.name)}get context(){return qo(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 Ps(e);if(typeof e==`number`)return Fs(e);let{message:t}=U(`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(Fv.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>`u`||!e.length)return;if(this.expirations.size){let{message:e}=U(`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}=U(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:n}=t;(0,z.toMiliseconds)(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Fv.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(se.pulse,()=>this.checkExpirations()),this.events.on(Fv.created,e=>{let t=Fv.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(Fv.expired,e=>{let t=Fv.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(Fv.deleted,e=>{let t=Fv.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}},IS=Object.defineProperty,LS=(e,t,n)=>t in e?IS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RS=(e,t,n)=>LS(e,typeof t==`symbol`?t:t+``,n),zS=class extends mg{constructor(e,t,n){super(e,t,n),this.core=e,this.logger=t,this.store=n,RS(this,`name`,Iv),RS(this,`abortController`),RS(this,`isDevEnv`),RS(this,`verifyUrlV3`,zv),RS(this,`storagePrefix`,dv),RS(this,`version`,2),RS(this,`publicKey`),RS(this,`fetchPromise`),RS(this,`init`,async()=>{this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,z.toMiliseconds)(this.publicKey?.expiresAt)<Date.now()&&(this.logger.debug(`verify v2 public key expired`),await this.removePublicKey()))}),RS(this,`register`,async e=>{if(!vs()||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,bi.getDocument)(),t=this.startAbortTimer(z.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(re(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(r,`jwt attestation`),r}catch(e){this.logger.warn(e)}return``}),RS(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(re(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)}),RS(this,`fetchAttestation`,async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let n=this.startAbortTimer(z.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}),RS(this,`getVerifyUrl`,e=>{let t=e||`https://verify.walletconnect.org`;return Bv.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}),RS(this,`fetchPublicKey`,async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(z.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)}}),RS(this,`persistPublicKey`,async e=>{this.logger.debug(e,`persisting public key to local storage`),await this.store.setItem(this.storeKey,e),this.publicKey=e}),RS(this,`removePublicKey`,async()=>{this.logger.debug(`removing verify v2 public key from storage`),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),RS(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`)}}),RS(this,`getPublicKey`,async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),RS(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}),RS(this,`validateAttestation`,(e,t)=>{let n=fm(e,t.publicKey),r={hasExpired:(0,z.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=Yo(t,this.name),this.abortController=new AbortController,this.isDevEnv=Ks(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//verify:public:key`}get context(){return qo(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,z.toMiliseconds)(e))}},BS=Object.defineProperty,VS=(e,t,n)=>t in e?BS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HS=(e,t,n)=>VS(e,typeof t==`symbol`?t:t+``,n),US=class extends hg{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,HS(this,`context`,Vv),HS(this,`registerDeviceToken`,async e=>{let{clientId:t,token:n,notificationType:r,enableEncrypted:i=!1}=e,a=`${Hv}/${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=Yo(t,this.context)}},WS=Object.defineProperty,GS=Object.getOwnPropertySymbols,KS=Object.prototype.hasOwnProperty,qS=Object.prototype.propertyIsEnumerable,JS=(e,t,n)=>t in e?WS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YS=(e,t)=>{for(var n in t||={})KS.call(t,n)&&JS(e,n,t[n]);if(GS)for(var n of GS(t))qS.call(t,n)&&JS(e,n,t[n]);return e},XS=(e,t,n)=>JS(e,typeof t==`symbol`?t:t+``,n),ZS=class extends gg{constructor(e,t,n=!0){super(e,t,n),this.core=e,this.logger=t,XS(this,`context`,Xv),XS(this,`storagePrefix`,dv),XS(this,`storageVersion`,Yv),XS(this,`events`,new Map),XS(this,`shouldPersist`,!1),XS(this,`init`,async()=>{if(!Ks())try{let e={eventId:Gs(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:`INIT`,type:``,properties:{client_id:await this.core.crypto.getClientId(),user_agent:Es(this.core.relayer.protocol,this.core.relayer.version,wv)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),XS(this,`createEvent`,e=>{let{event:t=`ERROR`,type:n=``,properties:{topic:r,trace:i}}=e,a=Gs(),o=this.core.projectId||``,s=YS({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}),XS(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 YS(YS({},r),this.setMethods(r.eventId))}),XS(this,`deleteEvent`,e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),XS(this,`setEventListeners`,()=>{this.core.heartbeat.on(se.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,z.fromMiliseconds)(Date.now())-(0,z.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),XS(this,`setMethods`,e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),XS(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)}),XS(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)}),XS(this,`persist`,async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),XS(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,YS(YS({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),XS(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)}}),XS(this,`sendEvent`,async e=>{let t=this.getAppDomain()?``:`&sp=desktop`;return await fetch(`${Zv}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${wv}${t}`,{method:`POST`,body:JSON.stringify(e)})}),XS(this,`getAppDomain`,()=>Cs().url),this.logger=Yo(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}},QS=Object.defineProperty,$S=Object.getOwnPropertySymbols,eC=Object.prototype.hasOwnProperty,tC=Object.prototype.propertyIsEnumerable,nC=(e,t,n)=>t in e?QS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rC=(e,t)=>{for(var n in t||={})eC.call(t,n)&&nC(e,n,t[n]);if($S)for(var n of $S(t))tC.call(t,n)&&nC(e,n,t[n]);return e},X=(e,t,n)=>nC(e,typeof t==`symbol`?t:t+``,n),iC=class e extends rg{constructor(e){var t;super(e),X(this,`protocol`,`wc`),X(this,`version`,2),X(this,`name`,uv),X(this,`relayUrl`),X(this,`projectId`),X(this,`customStoragePrefix`),X(this,`events`,new yi.EventEmitter),X(this,`logger`),X(this,`heartbeat`),X(this,`relayer`),X(this,`crypto`),X(this,`storage`),X(this,`history`),X(this,`expirer`),X(this,`pairing`),X(this,`verify`),X(this,`echoClient`),X(this,`linkModeSupportedApps`),X(this,`eventClient`),X(this,`initialized`,!1),X(this,`logChunkController`),X(this,`on`,(e,t)=>this.events.on(e,t)),X(this,`once`,(e,t)=>this.events.once(e,t)),X(this,`off`,(e,t)=>this.events.off(e,t)),X(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),X(this,`dispatchEnvelope`,({topic:e,message:t,sessionExists:n})=>{if(!e||!t)return;let r={topic:e,message:t,publishedAt:Date.now(),transportType:K.link_mode};this.relayer.onLinkMessageEvent(r,{sessionExists:n})});let n=this.getGlobalCore(e?.customStoragePrefix);if(n)try{return this.customStoragePrefix=n.customStoragePrefix,this.logger=n.logger,this.heartbeat=n.heartbeat,this.crypto=n.crypto,this.history=n.history,this.expirer=n.expirer,this.storage=n.storage,this.relayer=n.relayer,this.pairing=n.pairing,this.verify=n.verify,this.echoClient=n.echoClient,this.linkModeSupportedApps=n.linkModeSupportedApps,this.eventClient=n.eventClient,this.initialized=n.initialized,this.logChunkController=n.logChunkController,n}catch(e){console.warn(`Failed to copy global core`,e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:``;let{logger:r,chunkLoggerController:i}=Qo({opts:Go({level:typeof e?.logger==`string`&&e.logger?e.logger:fv.logger,name:uv}),maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=i,(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=Yo(r,this.name),this.heartbeat=new pe,this.crypto=new Kb(this,this.logger,e?.keychain),this.history=new jS(this,this.logger),this.expirer=new FS(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new ue(rC(rC({},pv),e?.storageOptions)),this.relayer=new Fx({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new DS(this,this.logger),this.verify=new zS(this,this.logger,this.storage),this.echoClient=new US(this.projectId||``,this.logger),this.linkModeSupportedApps=[],this.eventClient=new ZS(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(t){let n=new e(t);await n.initialize();let r=await n.crypto.getClientId();return await n.storage.setItem(Ev,r),n}get context(){return qo(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(e,`Core Initialization Failure at epoch ${Date.now()}`),this.logger.error(e.message),e}}getGlobalCore(e=``){try{if(this.isGlobalCoreDisabled())return;let t=`_walletConnectCore_${e}`,n=`${t}_count`;return globalThis[n]=(globalThis[n]||0)+1,globalThis[n]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[n]} times.`),globalThis[t]}catch(e){console.warn(`Failed to get global WalletConnect core`,e);return}}setGlobalCore(e){try{if(this.isGlobalCoreDisabled())return;let t=`_walletConnectCore_${e.opts?.customStoragePrefix||``}`;globalThis[t]=e}catch(e){console.warn(`Failed to set global WalletConnect core`,e)}}isGlobalCoreDisabled(){try{return typeof process<`u`&&{}.DISABLE_GLOBAL_CORE===`true`}catch{return!0}}},aC=`client`,oC=`wc@2:${aC}:`,sC={name:aC,logger:`error`,controller:!1,relayUrl:`wss://relay.walletconnect.org`},cC=`WALLETCONNECT_DEEPLINK_CHOICE`,lC=`proposal`,uC=`Proposal expired`,dC=`session`,fC=z.SEVEN_DAYS,pC=`engine`,mC={wc_sessionPropose:{req:{ttl:z.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:z.ONE_DAY,prompt:!1,tag:1104},res:{ttl:z.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:z.ONE_DAY,prompt:!1,tag:1106},res:{ttl:z.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:z.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:z.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:z.ONE_DAY,prompt:!1,tag:1112},res:{ttl:z.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:z.ONE_DAY,prompt:!1,tag:1114},res:{ttl:z.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:z.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:z.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:z.FIVE_MINUTES,prompt:!1,tag:1119}}},hC={min:z.FIVE_MINUTES,max:z.SEVEN_DAYS},gC={idle:`IDLE`,active:`ACTIVE`},_C={eth_sendTransaction:{key:``},eth_sendRawTransaction:{key:``},wallet_sendCalls:{key:``},solana_signTransaction:{key:`signature`},solana_signAllTransactions:{key:`transactions`},solana_signAndSendTransaction:{key:`signature`},sui_signAndExecuteTransaction:{key:`digest`},sui_signTransaction:{key:``},hedera_signAndExecuteTransaction:{key:`transactionId`},hedera_executeTransaction:{key:`transactionId`},near_signTransaction:{key:``},near_signTransactions:{key:``},tron_signTransaction:{key:`txID`},xrpl_signTransaction:{key:``},xrpl_signTransactionFor:{key:``},algo_signTxn:{key:``},sendTransfer:{key:`txid`},stacks_stxTransfer:{key:`txId`},polkadot_signTransaction:{key:``},cosmos_signDirect:{key:``}},vC=`request`,yC=[`wc_sessionPropose`,`wc_sessionRequest`,`wc_authRequest`,`wc_sessionAuthenticate`],bC=`auth`,xC=`authKeys`,SC=`pairingTopics`,CC=`requests`,wC=`wc@1.5:${bC}:`,TC=`${wC}:PUB_KEY`,EC=Object.defineProperty,DC=Object.defineProperties,OC=Object.getOwnPropertyDescriptors,kC=Object.getOwnPropertySymbols,AC=Object.prototype.hasOwnProperty,jC=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?EC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Z=(e,t)=>{for(var n in t||={})AC.call(t,n)&&MC(e,n,t[n]);if(kC)for(var n of kC(t))jC.call(t,n)&&MC(e,n,t[n]);return e},NC=(e,t)=>DC(e,OC(t)),Q=(e,t,n)=>MC(e,typeof t==`symbol`?t:t+``,n),PC=class extends xg{constructor(e){super(e),Q(this,`name`,pC),Q(this,`events`,new yi.default),Q(this,`initialized`,!1),Q(this,`requestQueue`,{state:gC.idle,queue:[]}),Q(this,`sessionRequestQueue`,{state:gC.idle,queue:[]}),Q(this,`emittedSessionRequests`,new Qs({limit:500})),Q(this,`requestQueueDelay`,z.ONE_SECOND),Q(this,`expectedPairingMethodMap`,new Map),Q(this,`recentlyDeletedMap`,new Map),Q(this,`recentlyDeletedLimit`,200),Q(this,`relayMessageCache`,[]),Q(this,`pendingSessions`,new Map),Q(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(mC)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,z.toMiliseconds)(this.requestQueueDelay)))}),Q(this,`connect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=NC(Z({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=Jm(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};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({internal:{skipSubscribe:!0}});c=e,l=t}if(!c){let{message:e}=U(`NO_MATCHING_KEY`,`connect() pairing topic: ${c}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),f=mC.wc_sessionPropose.req.ttl||z.FIVE_MINUTES,p=Ls(f),m=NC(Z(Z({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:k()}),h=B(`session_connect`,m.id),{reject:g,resolve:_,done:v}=js(f,uC),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.sendProposeSession({proposal:m,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:{correlationId:m.id}}}),await this.setProposal(m.id,m),{uri:l,approval:v}}),Q(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}}),Q(this,`approve`,async e=>{let t=this.client.core.eventClient.createEvent({properties:{topic:(e?.id)?.toString(),trace:[Gv.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw t.setError(Kv.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(Kv.proposal_not_found),n}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error(`approve() -> isValidApprove() failed`),t.setError(Kv.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:Gv.session_approve_started,properties:{topic:l,trace:[Gv.session_approve_started,Gv.session_namespaces_validation_success]}});let m=await this.client.core.crypto.generateKeyPair(),h=u.publicKey,g=await this.client.core.crypto.generateSharedKey(m,h),_=Z(Z(Z({relay:{protocol:r??`irn`},namespaces:i,controller:{publicKey:m,metadata:this.client.metadata},expiry:Ls(fC)},a&&{sessionProperties:a}),o&&{scopedProperties:o}),s&&{sessionConfig:s}),v=K.relay;p.addTrace(Gv.subscribing_session_topic);try{await this.client.core.relayer.subscribe(g,{transportType:v,internal:{skipSubscribe:!0}})}catch(e){throw p.setError(Kv.subscribe_session_topic_failure),e}p.addTrace(Gv.subscribe_session_topic_success);let y=NC(Z({},_),{topic:g,requiredNamespaces:d,optionalNamespaces:f,pairingTopic:l,acknowledged:!1,self:_.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:m,transportType:K.relay});await this.client.session.set(g,y),p.addTrace(Gv.store_session);try{await this.sendApproveSession({sessionTopic:g,proposal:c,pairingProposalResponse:{relay:{protocol:r??`irn`},responderPublicKey:m},sessionSettleRequest:_,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:{correlationId:n}}}),p.addTrace(Gv.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(g,W(`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.deleteProposal(n),await this.client.core.pairing.activate({topic:l}),await this.setExpiry(g,Ls(fC)),{topic:g,acknowledged:()=>Promise.resolve(this.client.session.get(g))}}),Q(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:mC.wc_sessionPropose.reject}),await this.deleteProposal(t)}),Q(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}=js(),o=k(),s=M().toString(),c=this.client.session.get(t).namespaces;return this.events.once(B(`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}}),Q(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=k(),{done:r,resolve:i,reject:a}=js();return this.events.once(B(`session_extend`,n),({error:e})=>{e?a(e):i()}),await this.setExpiry(t,Ls(fC)),this.sendRequest({topic:t,method:`wc_sessionExtend`,params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(e=>{a(e)}),{acknowledged:r}}),Q(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=mC.wc_sessionRequest.req.ttl}=e,a=this.client.session.get(r);a?.transportType===K.relay&&await this.confirmOnlineStateOrThrow();let o=k(),s=M().toString(),{done:c,resolve:l,reject:u}=js(i,`Request expired. Please try again.`);this.events.once(B(`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:NC(Z({},n),{expiryTimestamp:Ls(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:NC(Z({},n),{expiryTimestamp:Ls(i)}),chainId:t};return await Promise.all([new Promise(async e=>{await this.sendRequest({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:p,expiry:i,throwOnFailedPublish:!0,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;if(!((t=a.sessionConfig)!=null&&t.disableDeepLink)){let e=await Us(this.client.core.storage,cC);await Bs({id:o,topic:r,wcDeepLink:e})}e()}),c()]).then(e=>e[2])}),Q(this,`respond`,async e=>{this.isInitialized();let t=this.client.core.eventClient.createEvent({properties:{topic:e?.topic||(e?.response?.id)?.toString(),trace:[Gv.session_request_response_started]}});try{await this.isValidRespond(e)}catch(e){throw t.addTrace(e?.message),t.setError(Kv.session_request_response_validation_failure),e}t.addTrace(Gv.session_request_response_validation_success);let{topic:n,response:r}=e,{id:i}=r,a=this.client.session.get(n);a.transportType===K.relay&&await this.confirmOnlineStateOrThrow();let o=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);try{t.addTrace(Gv.session_request_response_publish_started),N(r)?await this.sendResult({id:i,topic:n,result:r.result,throwOnFailedPublish:!0,appLink:o}):O(r)&&await this.sendError({id:i,topic:n,error:r.error,appLink:o}),this.cleanupAfterResponse(e)}catch(e){throw t.addTrace(e?.message),t.setError(Kv.session_request_response_publish_failure),e}}),Q(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=k(),n=M().toString(),{done:r,resolve:i,reject:a}=js();this.events.once(B(`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}))}),Q(this,`emit`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:n,chainId:r}=e,i=M().toString(),a=k();await this.sendRequest({topic:t,method:`wc_sessionEvent`,params:{event:n,chainId:r},throwOnFailedPublish:!0,relayRpcId:i,clientRpcId:a})}),Q(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:W(`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}=U(`MISMATCHED_TOPIC`,`Session or pairing topic not found: ${t}`);throw Error(e)}}),Q(this,`find`,e=>(this.isInitialized(),this.client.session.getAll().filter(t=>nh(t,e)))),Q(this,`getPendingSessionRequests`,()=>this.client.pendingRequest.getAll()),Q(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?K.link_mode:K.relay;r===K.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=Yp(_);if(await Promise.all([this.client.auth.authKeys.set(TC,{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}=es(i[0]),t=Ou(e,`request`,f);Fu(m)&&(t=Au(t,m.pop())),m.push(t)}let y=p&&p>mC.wc_sessionAuthenticate.req.ttl?p:mC.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:Ls(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:Ls(mC.wc_sessionPropose.req.ttl),id:k()},{done:S,resolve:C,reject:w}=js(y,`Request expired`),E=k(),D=B(`session_connect`,x.id),O=B(`session_request`,E),A=async({error:e,session:t})=>{this.events.off(O,j),e?w(e):t&&C({session:t})},j=async e=>{var n,i,a;if(await this.deletePendingAuthRequest(E,{message:`fulfilled`,code:0}),e.error){let t=W(`WC_METHOD_UNSUPPORTED`,`wc_sessionAuthenticate`);return e.error.code===t.code?void 0:(this.events.off(D,A),w(e.error.message))}await this.deleteProposal(x.id),this.events.off(D,A);let{cacaos:o,responder:s}=e.result,c=[],l=[];for(let e of o){await yu({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,`Signature verification failed`),w(W(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`)));let{p:t}=e,n=Fu(t.resources),r=[_u(t.iss)],i=vu(t.iss);if(n){let e=Nu(n),t=Pu(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:Ls(fC),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:h,namespaces:qm([...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:K.link_mode})),C({auths:o,session:d})};this.events.once(D,A),this.events.once(O,j);let M;try{if(n){let e=T(`wc_sessionAuthenticate`,b,E);this.client.core.history.set(h,e),M=km(t,h,await this.client.core.crypto.encode(``,e,{type:2,encoding:Bp}))}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:mC.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:x.id})])}catch(e){throw this.events.off(D,A),this.events.off(O,j),e}return await this.setProposal(x.id,x),await this.setAuthRequest(E,{request:NC(Z({},b),{verifyContext:{}}),pairingTopic:h,transportType:r}),{uri:M??g,response:S}}),Q(this,`approveSessionAuthenticate`,async e=>{let{id:t,auths:n}=e,r=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[qv.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(Jv.no_internet_connection),e}let i=this.getPendingAuthRequest(t);if(!i)throw r.setError(Jv.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${t}`);let a=i.transportType||K.relay;a===K.relay&&await this.confirmOnlineStateOrThrow();let o=i.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),c=Yp(o),l={type:1,receiverPublicKey:o,senderPublicKey:s},u=[],d=[];for(let e of n){if(!await yu({cacao:e,projectId:this.client.core.projectId})){r.setError(Jv.invalid_cacao);let e=W(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`);throw await this.sendError({id:t,topic:c,error:e,encodeOpts:l}),Error(e.message)}r.addTrace(qv.cacaos_verified);let{p:n}=e,i=Fu(n.resources),a=[_u(n.iss)],o=vu(n.iss);if(i){let e=Nu(i),t=Pu(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(qv.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:Ls(fC),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:i.pairingTopic,namespaces:qm([...new Set(u)],[...new Set(d)]),transportType:a},r.addTrace(qv.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:a})}catch(e){throw r.setError(Jv.subscribe_authenticated_session_topic_failure),e}r.addTrace(qv.subscribe_authenticated_session_topic_success),await this.client.session.set(f,p),r.addTrace(qv.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:i.pairingTopic,metadata:i.requester.metadata})}r.addTrace(qv.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(Jv.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}}),Q(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===K.relay&&await this.confirmOnlineStateOrThrow();let i=r.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),o=Yp(i),s={type:1,receiverPublicKey:i,senderPublicKey:a};await this.sendError({id:t,topic:o,error:n,encodeOpts:s,rpcOpts:mC.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(r.requester.metadata,r.transportType)}),await this.client.auth.requests.delete(t,{message:`rejected`,code:0}),await this.deleteProposal(t)}),Q(this,`formatAuthMessage`,e=>{this.isInitialized();let{request:t,iss:n}=e;return bu(t,n)}),Q(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)}),Q(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)}}),Q(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,W(`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(cC).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===t&&this.deletePendingSessionRequest(e.id,W(`USER_DISCONNECTED`))}),t===this.sessionRequestQueue.queue[0]?.topic&&(this.sessionRequestQueue.state=gC.idle),r&&this.client.events.emit(`session_delete`,{id:i,topic:t})}),Q(this,`deleteProposal`,async(e,t)=>{if(t)try{let t=this.client.proposal.get(e);this.client.core.eventClient.getEvent({topic:t.pairingTopic})?.setError(Kv.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,W(`USER_DISCONNECTED`)),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`proposal`)}),Q(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=gC.idle,this.client.events.emit(`session_request_expire`,{id:e}))}),Q(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)])}),Q(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}))}),Q(this,`setProposal`,async(e,t)=>{this.client.core.expirer.set(e,Ls(mC.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),Q(this,`setAuthRequest`,async(e,t)=>{let{request:n,pairingTopic:r,transportType:i=K.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})}),Q(this,`setPendingSessionRequest`,async e=>{let{id:t,topic:n,params:r,verifyContext:i}=e,a=r.request.expiryTimestamp||Ls(mC.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})}),Q(this,`sendRequest`,async e=>{let{topic:t,method:n,params:r,expiry:i,relayRpcId:a,clientRpcId:o,throwOnFailedPublish:s,appLink:c,tvf:l,publishOpts:u={}}=e,d=T(n,r,o),f,p=!!c;try{let e=p?Bp:zp;f=await this.client.core.crypto.encode(t,d,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),e}let m;if(yC.includes(n)){let e=Xp(JSON.stringify(d)),t=Xp(f);m=await this.client.core.verify.register({id:t,decryptedId:e})}let h=Z(Z({},mC[n].req),u);if(h.attestation=m,i&&(h.ttl=i),a&&(h.id=a),this.client.core.history.set(t,d),p){let e=km(c,t,f);await global.Linking.openURL(e,this.client.name)}else h.tvf=NC(Z({},l),{correlationId:d.id}),s?(h.internal=NC(Z({},h.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,f,h)):this.client.core.relayer.publish(t,f,h).catch(e=>this.client.logger.error(e));return d.id}),Q(this,`sendProposeSession`,async e=>{let{proposal:t,publishOpts:n}=e,r=T(`wc_sessionPropose`,t,t.id);this.client.core.history.set(t.pairingTopic,r);let i=await this.client.core.crypto.encode(t.pairingTopic,r,{encoding:zp}),a=Xp(JSON.stringify(r)),o=Xp(i),s=await this.client.core.verify.register({id:o,decryptedId:a});await this.client.core.relayer.publishCustom({payload:{pairingTopic:t.pairingTopic,sessionProposal:i},opts:NC(Z({},n),{publishMethod:`wc_proposeSession`,attestation:s})})}),Q(this,`sendApproveSession`,async e=>{let{sessionTopic:t,pairingProposalResponse:n,proposal:r,sessionSettleRequest:i,publishOpts:a}=e,o=E(r.id,n),s=await this.client.core.crypto.encode(r.pairingTopic,o,{encoding:zp}),c=T(`wc_sessionSettle`,i,a?.id),l=await this.client.core.crypto.encode(t,c,{encoding:zp});this.client.core.history.set(t,c),await this.client.core.relayer.publishCustom({payload:{sessionTopic:t,pairingTopic:r.pairingTopic,sessionProposalResponse:s,sessionSettlementRequest:l},opts:NC(Z({},a),{publishMethod:`wc_approveSession`})})}),Q(this,`sendResult`,async e=>{let{id:t,topic:n,result:r,throwOnFailedPublish:i,encodeOpts:a,appLink:o}=e,s=E(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?Bp:zp;c=await this.client.core.crypto.encode(n,s,NC(Z({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),e}let u,d;try{u=await this.client.core.history.get(n,t);let e=u.request;try{d=this.getTVFParams(t,e.params,r)}catch(e){this.client.logger.warn(`sendResult() -> getTVFParams() failed: ${e?.message}`)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${t}) failed`),e}if(l){let e=km(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=mC[u.request.method].res;e.tvf=NC(Z({},d),{correlationId:t}),i?(e.internal=NC(Z({},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)}),Q(this,`sendError`,async e=>{let{id:t,topic:n,error:r,encodeOpts:i,rpcOpts:a,appLink:o}=e,s=F(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?Bp:zp;c=await this.client.core.crypto.encode(n,s,NC(Z({},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=km(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=u.request.method,t=a||mC[e].res;this.client.core.relayer.publish(n,c,t)}await this.client.core.history.resolve(s)}),Q(this,`cleanup`,async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let n=!1;Rs(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=>{Rs(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),Q(this,`onProviderMessageEvent`,async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),Q(this,`onRelayEventRequest`,async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),Q(this,`processRequestsQueue`,async()=>{if(this.requestQueue.state===gC.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=gC.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=gC.idle}),Q(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}`)}}),Q(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}`)}}),Q(this,`onRelayEventUnknownPayload`,e=>{let{topic:t}=e,{message:n}=U(`MISSING_OR_INVALID`,`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(n)}),Q(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)}),Q(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(Wv.proposal_listener_not_found)),this.isValidConnect(Z({},n.params));let s=Z({id:o,pairingTopic:t,expiryTimestamp:a.expiryTimestamp||Ls(mC.wc_sessionPropose.req.ttl),attestation:r,encryptedId:i},a);await this.setProposal(o,s);let c=await this.getVerifyContext({attestationId:r,hash:Xp(JSON.stringify(n)),encryptedId:i,metadata:s.proposer.metadata});e?.addTrace(Uv.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:mC.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),Q(this,`onSessionProposeResponse`,async(e,t,n)=>{let{id:r}=t;if(N(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.deleteProposal(r);let e=B(`session_connect`,r);if(this.events.listenerCount(e)===0)throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),Q(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=NC(Z(Z(Z({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:K.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(B(`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})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),Q(this,`onSessionSettleResponse`,async(e,t)=>{let{id:n}=t;N(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(B(`session_approve`,n),{})):O(t)&&(await this.client.session.delete(e,W(`USER_DISCONNECTED`)),this.events.emit(B(`session_approve`,n),{error:t.error}))}),Q(this,`onSessionUpdateRequest`,async(e,t)=>{let{params:n,id:r}=t;try{let t=`${e}_session_update`,i=Uh.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:W(`INVALID_UPDATE_REQUEST`)});return}this.isValidUpdate(Z({topic:e},n));try{Uh.set(t,r),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:r,topic:e,result:!0})}catch(e){throw Uh.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)}}),Q(this,`isRequestOutOfSync`,(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),Q(this,`onSessionUpdateResponse`,(e,t)=>{let{id:n}=t,r=B(`session_update`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);N(t)?this.events.emit(B(`session_update`,n),{}):O(t)&&this.events.emit(B(`session_update`,n),{error:t.error})}),Q(this,`onSessionExtendRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,Ls(fC)),await this.sendResult({id:n,topic:e,result:!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)}}),Q(this,`onSessionExtendResponse`,(e,t)=>{let{id:n}=t,r=B(`session_extend`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);N(t)?this.events.emit(B(`session_extend`,n),{}):O(t)&&this.events.emit(B(`session_extend`,n),{error:t.error})}),Q(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)}}),Q(this,`onSessionPingResponse`,(e,t)=>{let{id:n}=t,r=B(`session_ping`,n);setTimeout(()=>{if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners 2176`);N(t)?this.events.emit(B(`session_ping`,n),{}):O(t)&&this.events.emit(B(`session_ping`,n),{error:t.error})},500)}),Q(this,`onSessionDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),await Promise.all([new Promise(t=>{this.client.core.relayer.once(G.publish,async()=>{t(await this.deleteSession({topic:e,id:n}))})}),this.sendResult({id:n,topic:e,result:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:W(`USER_DISCONNECTED`)})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),Q(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(Z({topic:r},l));let e=this.client.session.get(r),i={id:c,topic:r,params:l,verifyContext:await this.getVerifyContext({attestationId:a,hash:Xp(JSON.stringify(T(`wc_sessionRequest`,l,c))),encryptedId:o,metadata:e.peer.metadata,transportType:s})};await this.setPendingSessionRequest(i),s===K.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)}}),Q(this,`onSessionRequestResponse`,(e,t)=>{let{id:n}=t,r=B(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);N(t)?this.events.emit(B(`session_request`,n),{result:t.result}):O(t)&&this.events.emit(B(`session_request`,n),{error:t.error})}),Q(this,`onSessionEventRequest`,async(e,t)=>{let{id:n,params:r}=t;try{let t=`${e}_session_event_${r.event.name}`,i=Uh.get(t);if(i&&this.isRequestOutOfSync(i,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(Z({topic:e},r)),this.client.events.emit(`session_event`,{id:n,topic:e,params:r}),Uh.set(t,n)}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),Q(this,`onSessionAuthenticateResponse`,(e,t)=>{let{id:n}=t;this.client.logger.trace({type:`method`,method:`onSessionAuthenticateResponse`,topic:e,payload:t}),N(t)?this.events.emit(B(`session_request`,n),{result:t.result}):O(t)&&this.events.emit(B(`session_request`,n),{error:t.error})}),Q(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:Xp(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===K.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:mC.wc_sessionAuthenticate.autoReject,appLink:a})}}),Q(this,`addSessionRequestToSessionRequestQueue`,e=>{this.sessionRequestQueue.queue.push(e)}),Q(this,`cleanupAfterResponse`,e=>{this.deletePendingSessionRequest(e.response.id,{message:`fulfilled`,code:0}),setTimeout(()=>{this.sessionRequestQueue.state=gC.idle,this.processSessionRequestQueue()},(0,z.toMiliseconds)(this.requestQueueDelay))}),Q(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=B(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);this.events.emit(B(`session_request`,e.request.id),{error:t})})}),Q(this,`processSessionRequestQueue`,()=>{if(this.sessionRequestQueue.state===gC.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.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),Q(this,`emitSessionRequest`,e=>{if(this.emittedSessionRequests.has(e.id)){this.client.logger.warn({id:e.id},`Skipping emitting \`session_request\` event for duplicate request. id: ${e.id}`);return}this.sessionRequestQueue.state=gC.active,this.emittedSessionRequests.add(e.id),this.client.events.emit(`session_request`,e)}),Q(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:T(`wc_sessionPropose`,NC(Z({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id),attestation:t.attestation,encryptedId:t.encryptedId})}),Q(this,`isValidConnect`,async e=>{if(!xh(e)){let{message:t}=U(`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($m(t)||await this.isValidPairingTopic(t),!yh(o,!0)){let{message:e}=U(`MISSING_OR_INVALID`,`connect() relays: ${o}`);throw Error(e)}if(n&&!$m(n)&&Qm(n)!==0){let e=`requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces`;[`fatal`,`error`,`silent`].includes(this.client.logger.level)?console.warn(e):this.client.logger.warn(e),this.validateNamespaces(n,`requiredNamespaces`)}if(r&&!$m(r)&&Qm(r)!==0&&this.validateNamespaces(r,`optionalNamespaces`),i&&!$m(i)&&this.validateSessionProps(i,`sessionProperties`),a&&!$m(a)){this.validateSessionProps(a,`scopedProperties`);let e=Object.keys(n||{}).concat(Object.keys(r||{}));if(!Object.keys(a).every(t=>e.includes(t.split(`:`)[0])))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),Q(this,`validateNamespaces`,(e,t)=>{let n=gh(e,`connect()`,t);if(n)throw Error(n.message)}),Q(this,`isValidApprove`,async e=>{if(!xh(e))throw Error(U(`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=_h(n,`approve()`);if(s)throw Error(s.message);let c=kh(o.requiredNamespaces,n,`approve()`);if(c)throw Error(c.message);if(!eh(r,!0)){let{message:e}=U(`MISSING_OR_INVALID`,`approve() relayProtocol: ${r}`);throw Error(e)}if(i&&!$m(i)&&this.validateSessionProps(i,`sessionProperties`),a&&!$m(a)){this.validateSessionProps(a,`scopedProperties`);let e=new Set(Object.keys(n));if(!Object.keys(a).every(t=>e.has(t.split(`:`)[0])))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(e).join(`, `)}`)}}),Q(this,`isValidReject`,async e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`reject() params: ${e}`);throw Error(t)}let{id:t,reason:n}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Sh(n)){let{message:e}=U(`MISSING_OR_INVALID`,`reject() reason: ${JSON.stringify(n)}`);throw Error(e)}}),Q(this,`isValidSessionSettleRequest`,e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:n,namespaces:r,expiry:i}=e;if(!vh(t)){let{message:e}=U(`MISSING_OR_INVALID`,`onSessionSettleRequest() relay protocol should be a string`);throw Error(e)}let a=ch(n,`onSessionSettleRequest()`);if(a)throw Error(a.message);let o=_h(r,`onSessionSettleRequest()`);if(o)throw Error(o.message);if(Rs(i)){let{message:e}=U(`EXPIRED`,`onSessionSettleRequest()`);throw Error(e)}}),Q(this,`isValidUpdate`,async e=>{if(!xh(e)){let{message:t}=U(`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=_h(n,`update()`);if(i)throw Error(i.message);let a=kh(r.requiredNamespaces,n,`update()`);if(a)throw Error(a.message)}),Q(this,`isValidExtend`,async e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),Q(this,`isValidRequest`,async e=>{if(!xh(e)){let{message:t}=U(`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(!Eh(a,r)){let{message:e}=U(`MISSING_OR_INVALID`,`request() chainId: ${r}`);throw Error(e)}if(!Ch(n)){let{message:e}=U(`MISSING_OR_INVALID`,`request() ${JSON.stringify(n)}`);throw Error(e)}if(!Dh(a,r,n.method)){let{message:e}=U(`MISSING_OR_INVALID`,`request() method: ${n.method}`);throw Error(e)}if(i&&!Nh(i,hC)){let{message:e}=U(`MISSING_OR_INVALID`,`request() expiry: ${i}. Expiry must be a number (in seconds) between ${hC.min} and ${hC.max}`);throw Error(e)}}),Q(this,`isValidRespond`,async e=>{var t;if(!xh(e)){let{message:t}=U(`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(!wh(r)){let{message:e}=U(`MISSING_OR_INVALID`,`respond() response: ${JSON.stringify(r)}`);throw Error(e)}let i=this.client.pendingRequest.get(r.id);if(i.topic!==n){let{message:e}=U(`MISMATCHED_TOPIC`,`Request response topic mismatch. reqId: ${r.id}, expected topic: ${i.topic}, received topic: ${n}`);throw Error(e)}}),Q(this,`isValidPing`,async e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),Q(this,`isValidEmit`,async e=>{if(!xh(e)){let{message:t}=U(`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(!Eh(i,r)){let{message:e}=U(`MISSING_OR_INVALID`,`emit() chainId: ${r}`);throw Error(e)}if(!Th(n)){let{message:e}=U(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}if(!Oh(i,r,n.name)){let{message:e}=U(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}}),Q(this,`isValidDisconnect`,async e=>{if(!xh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),Q(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(!eh(n,!1))throw Error(`uri is required parameter`);if(!eh(r,!1))throw Error(`domain is required parameter`);if(!eh(i,!1))throw Error(`nonce is required parameter`);if([...new Set(t.map(e=>es(e).namespace))].length>1)throw Error(`Multi-namespace requests are not supported. Please request single namespace only.`);let{namespace:a}=es(t[0]);if(a!==`eip155`)throw Error(`Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.`)}),Q(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===K.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}),Q(this,`validateSessionProps`,(e,t)=>{Object.values(e).forEach((n,r)=>{if(n==null){let{message:i}=U(`MISSING_OR_INVALID`,`${t} must contain an existing value for each key. Received: ${n} for key ${Object.keys(e)[r]}`);throw Error(i)}})}),Q(this,`getPendingAuthRequest`,e=>{let t=this.client.auth.requests.get(e);return typeof t==`object`?t:void 0}),Q(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)}}}),Q(this,`checkRecentlyDeleted`,e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:n}=U(`MISSING_OR_INVALID`,`Record was recently deleted - ${t}: ${e}`);throw Error(n)}}),Q(this,`isLinkModeEnabled`,(e,t)=>!e||t!==K.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`),Q(this,`getAppLinkIfEnabled`,(e,t)=>this.isLinkModeEnabled(e,t)?e?.redirect?.universal:void 0),Q(this,`handleLinkModeMessage`,({url:e})=>{if(!e||!e.includes(`wc_ev`)||!e.includes(`topic`))return;let t=Ws(e,`topic`)||``,n=decodeURIComponent(Ws(e,`wc_ev`)||``),r=this.client.session.keys.includes(t);r&&this.client.session.update(t,{transportType:K.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:n,sessionExists:r})}),Q(this,`registerLinkModeListeners`,async()=>{var e;if(Ks()||hs()&&(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)}}}),Q(this,`getTVFParams`,(e,t,n)=>{var r;if(!((r=t.request)!=null&&r.method))return{};let i={correlationId:e,rpcMethods:[t.request.method],chainId:t.chainId};try{i.txHashes=this.extractTxHashesFromResult(t.request,n),i.contractAddresses=this.isValidContractData(t.request.params)?[t.request.params?.[0]?.to]:[]}catch(e){this.client.logger.warn(e,`Error getting TVF params`)}return i}),Q(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}),Q(this,`extractTxHashesFromResult`,(e,t)=>{try{if(!t)return[];let n=e.method,r=_C[n];if(n===`sui_signTransaction`)return[Ql(t.transactionBytes)];if(n===`near_signTransaction`)return[$l(t)];if(n===`near_signTransactions`)return t.map(e=>$l(e));if(n===`xrpl_signTransactionFor`||n===`xrpl_signTransaction`)return[t.tx_json?.hash];if(n===`polkadot_signTransaction`)return[Qh({transaction:e.params.transactionPayload,signature:t.signature})];if(n===`algo_signTxn`)return Zm(t)?t.map(e=>tu(e)):[tu(t)];if(n===`cosmos_signDirect`)return[ru(t)];if(n===`wallet_sendCalls`)return iu(t);if(typeof t==`string`)return[t];let i=t[r.key];if(Zm(i))return n===`solana_signAllTransactions`?i.map(e=>Zl(e)):i;if(typeof i==`string`)return[i]}catch(e){this.client.logger.warn(e,`Error extracting tx hashes from result`)}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(e,`processPendingMessageEvents failed`)}}isInitialized(){if(!this.initialized){let{message:e}=U(`NOT_INITIALIZED`,this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(G.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(TC)?this.client.auth.authKeys.get(TC):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,n,{receiverPublicKey:a,encoding:i===K.link_mode?Bp:zp});w(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:r,transportType:i,encryptedId:Xp(n)})):j(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(Fv.expired,async e=>{let{topic:t,id:n}=Is(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,U(`EXPIRED`),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,U(`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(jv.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(jv.delete,e=>{this.addToRecentlyDeleted(e.topic,`pairing`)})}isValidPairingTopic(e){if(!eh(e,!1)){let{message:t}=U(`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}=U(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(Rs(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=U(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!eh(e,!1)){let{message:t}=U(`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}=U(`NO_MATCHING_KEY`,`session topic doesn't exist: ${e}`);throw Error(t)}if(Rs(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=U(`EXPIRED`,`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=U(`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(eh(e,!1)){let{message:t}=U(`NO_MATCHING_KEY`,`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=U(`MISSING_OR_INVALID`,`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if(!bh(e)){let{message:t}=U(`MISSING_OR_INVALID`,`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=U(`NO_MATCHING_KEY`,`proposal id doesn't exist: ${e}`);throw Error(t)}if(Rs(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=U(`EXPIRED`,`proposal id: ${e}`);throw Error(t)}}},FC=class extends wS{constructor(e,t){super(e,t,lC,oC),this.core=e,this.logger=t}},IC=class extends wS{constructor(e,t){super(e,t,dC,oC),this.core=e,this.logger=t}},LC=class extends wS{constructor(e,t){super(e,t,vC,oC,e=>e.id),this.core=e,this.logger=t}},RC=class extends wS{constructor(e,t){super(e,t,xC,wC,()=>TC),this.core=e,this.logger=t}},zC=class extends wS{constructor(e,t){super(e,t,SC,wC),this.core=e,this.logger=t}},BC=class extends wS{constructor(e,t){super(e,t,CC,wC,e=>e.id),this.core=e,this.logger=t}},VC=Object.defineProperty,HC=(e,t,n)=>t in e?VC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UC=(e,t,n)=>HC(e,typeof t==`symbol`?t:t+``,n),WC=class{constructor(e,t){this.core=e,this.logger=t,UC(this,`authKeys`),UC(this,`pairingTopics`),UC(this,`requests`),this.authKeys=new RC(this.core,this.logger),this.pairingTopics=new zC(this.core,this.logger),this.requests=new BC(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}},GC=Object.defineProperty,KC=(e,t,n)=>t in e?GC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$=(e,t,n)=>KC(e,typeof t==`symbol`?t:t+``,n),qC=class e extends bg{constructor(e){super(e),$(this,`protocol`,`wc`),$(this,`version`,2),$(this,`name`,sC.name),$(this,`metadata`),$(this,`core`),$(this,`logger`),$(this,`events`,new yi.EventEmitter),$(this,`engine`),$(this,`session`),$(this,`proposal`),$(this,`pendingRequest`),$(this,`auth`),$(this,`signConfig`),$(this,`on`,(e,t)=>this.events.on(e,t)),$(this,`once`,(e,t)=>this.events.once(e,t)),$(this,`off`,(e,t)=>this.events.off(e,t)),$(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),$(this,`removeAllListeners`,e=>this.events.removeAllListeners(e)),$(this,`connect`,async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`pair`,async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`approve`,async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`reject`,async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`update`,async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`extend`,async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`request`,async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`respond`,async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`ping`,async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`emit`,async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`disconnect`,async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`find`,e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`getPendingSessionRequests`,()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),$(this,`authenticate`,async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),$(this,`formatAuthMessage`,e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`approveSessionAuthenticate`,async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),$(this,`rejectSessionAuthenticate`,async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||sC.name,this.metadata=Ss(e?.metadata),this.signConfig=e?.signConfig;let t=$h({logger:e?.logger||sC.logger,name:this.name});this.logger=t,this.core=e?.core||new iC(e),this.session=new IC(this.core,this.logger),this.proposal=new FC(this.core,this.logger),this.pendingRequest=new LC(this.core,this.logger),this.engine=new PC(this),this.auth=new WC(this.core,this.logger)}static async init(t){let n=new e(t);return await n.initialize(),n}get context(){return qo(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`)}catch(e){throw this.logger.info(`SignClient Initialization Failure`),this.logger.error(e.message),e}}};function JC(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function YC(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function XC(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var ZC=`[object RegExp]`,QC=`[object String]`,$C=`[object Number]`,ew=`[object Boolean]`,tw=`[object Arguments]`,nw=`[object Symbol]`,rw=`[object Date]`,iw=`[object Map]`,aw=`[object Set]`,ow=`[object Array]`,sw=`[object ArrayBuffer]`,cw=`[object Object]`,lw=`[object DataView]`,uw=`[object Uint8Array]`,dw=`[object Uint8ClampedArray]`,fw=`[object Uint16Array]`,pw=`[object Uint32Array]`,mw=`[object Int8Array]`,hw=`[object Int16Array]`,gw=`[object Int32Array]`,_w=`[object Float32Array]`,vw=`[object Float64Array]`;function yw(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function bw(e,t){return xw(e,void 0,e,new Map,t)}function xw(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!=null)return a;if(JC(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]=xw(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,xw(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(xw(a,void 0,n,r,i));return t}if(typeof Buffer<`u`&&Buffer.isBuffer(e))return e.subarray();if(yw(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=xw(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),Sw(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),Sw(t,e,n,r,i),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),Sw(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,Sw(t,e,n,r,i),t}if(typeof e==`object`&&Cw(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),Sw(t,e,n,r,i),t}return e}function Sw(e,t,n=e,r,i){let a=[...Object.keys(t),...YC(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=xw(t[s],s,n,r,i))}}function Cw(e){switch(XC(e)){case tw:case ow:case sw:case lw:case ew:case rw:case _w:case vw:case mw:case hw:case gw:case iw:case $C:case cw:case ZC:case aw:case QC:case nw:case uw:case dw:case fw:case pw:return!0;default:return!1}}function ww(e,t){return bw(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 $C:case QC:case ew:{let t=new e.constructor(e?.valueOf());return Sw(t,e),t}case tw:{let t={};return Sw(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function Tw(e){return ww(e)}function Ew(e){return typeof e==`object`&&!!e&&XC(e)===`[object Arguments]`}function Dw(e){return typeof e==`object`&&!!e}function Ow(){}function kw(e){return yw(e)}function Aw(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 jw(e){if(JC(e))return e;if(Array.isArray(e)||yw(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}if(typeof File<`u`&&e instanceof File)return new n([e],e.name,{type:e.type,lastModified:e.lastModified});if(typeof e==`object`){let n=Object.create(t);return Object.assign(n,e)}return e}function Mw(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=Nw(i,t,r,new Map)}return i}function Nw(e,t,n,r){if(JC(e)&&(e=Object(e)),typeof t!=`object`||!t)return e;if(r.has(t))return jw(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),...YC(t)];for(let a=0;a<i.length;a++){let o=i[a],s=t[o],c=e[o];if(Ew(s)&&(s={...s}),Ew(c)&&(c={...c}),typeof Buffer<`u`&&Buffer.isBuffer(s)&&(s=Tw(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)||Dw(c)&&Dw(s)?e[o]=Nw(c,s,n,r):c==null&&Aw(s)?e[o]=Nw({},s,n,r):c==null&&kw(s)?e[o]=Tw(s):(c===void 0||s!==void 0)&&(e[o]=s):e[o]=l}return e}function Pw(e,...t){return Mw(e,...t,Ow)}var Fw=`error`,Iw=`wss://relay.walletconnect.org`,Lw=`wc`,Rw=`universal_provider`,zw=`${Lw}@2:${Rw}:`,Bw=`https://rpc.walletconnect.org/v1/`,Vw=`generic`,Hw=`${Bw}bundler`,Uw=`call_status`,Ww=86400,Gw={DEFAULT_CHAIN_CHANGED:`default_chain_changed`},Kw=Object.defineProperty,qw=Object.defineProperties,Jw=Object.getOwnPropertyDescriptors,Yw=Object.getOwnPropertySymbols,Xw=Object.prototype.hasOwnProperty,Zw=Object.prototype.propertyIsEnumerable,Qw=(e,t,n)=>t in e?Kw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$w=(e,t)=>{for(var n in t||={})Xw.call(t,n)&&Qw(e,n,t[n]);if(Yw)for(var n of Yw(t))Zw.call(t,n)&&Qw(e,n,t[n]);return e},eT=(e,t)=>qw(e,Jw(t));function tT(e,t,n){let r=es(e);return t.rpcMap?.[r.reference]||`${Bw}?chainId=${r.namespace}:${r.reference}&projectId=${n}`}function nT(e){return e.includes(`:`)?e.split(`:`)[1]:e}function rT(e){return e.map(e=>`${e.split(`:`)[0]}:${e.split(`:`)[1]}`)}function iT(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 aT(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t?.chains?.length&&t?.chains?.length>0))}function oT(e={},t={}){return Pw(aT(sT(e)),aT(sT(t)))}function sT(e){let t={};if(!Qm(e))return t;for(let[n,r]of Object.entries(e)){let e=Um(n)?[n]:r.chains,i=r.methods||[],a=r.events||[],o=r.rpcMap||{},s=Wm(n);t[s]=eT($w($w({},t[s]),r),{chains:zs(e,t[s]?.chains),methods:zs(i,t[s]?.methods),events:zs(a,t[s]?.events)}),(Qm(o)||Qm(t[s]?.rpcMap||{}))&&(t[s].rpcMap=$w($w({},o),t[s]?.rpcMap))}return t}function cT(e){return e.includes(`:`)?e.split(`:`)[2]:e}function lT(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.methods||[],i=r.events||[],a=r.accounts||[];t[n]={chains:Um(n)?[n]:r.chains?r.chains:rT(r.accounts),methods:e,events:i,accounts:a}}return t}function uT(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))}function dT(e){try{let t=JSON.parse(e);return typeof t==`object`&&!!t&&!Array.isArray(t)}catch{return!1}}var fT={},pT=e=>fT[e],mT=(e,t)=>{fT[e]=t},hT=Object.defineProperty,gT=Object.getOwnPropertySymbols,_T=Object.prototype.hasOwnProperty,vT=Object.prototype.propertyIsEnumerable,yT=(e,t,n)=>t in e?hT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bT=(e,t)=>{for(var n in t||={})_T.call(t,n)&&yT(e,n,t[n]);if(gT)for(var n of gT(t))vT.call(t,n)&&yT(e,n,t[n]);return e},xT=`eip155`,ST=[`atomic`,`flow-control`,`paymasterService`,`sessionKeys`,`auxiliaryFunds`],CT=e=>e&&e.startsWith(`0x`)?BigInt(e).toString(10):e,wT=e=>e&&e.startsWith(`0x`)?e:`0x${BigInt(e).toString(16)}`,TT=e=>Object.keys(e).filter(e=>ST.includes(e)).reduce((t,n)=>(t[n]=ET(e[n]),t),{}),ET=e=>typeof e==`string`&&dT(e)?JSON.parse(e):e,DT=(e,t,n)=>{let{sessionProperties:r={},scopedProperties:i={}}=e,a={};if(!Qm(i)&&!Qm(r))return;let o=TT(r);for(let e of n){let n=CT(e);if(!n)continue;a[wT(n)]=o;let r=i?.[`${xT}:${n}`];if(r){let e=r?.[`${xT}:${n}:${t}`];a[wT(n)]=bT(bT({},a[wT(n)]),TT(e||r))}}for(let[e,t]of Object.entries(a))Object.keys(t).length===0&&delete a[e];return Object.keys(a).length>0?a:void 0},OT=Object.defineProperty,kT=(e,t,n)=>t in e?OT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AT=(e,t,n)=>kT(e,typeof t==`symbol`?t:t+``,n),jT,MT=class e{constructor(e){AT(this,`storage`),this.storage=e}async getItem(e){return await this.storage.getItem(e)}async setItem(e,t){return await this.storage.setItem(e,t)}async removeItem(e){return await this.storage.removeItem(e)}static getStorage(t){return jT||=new e(t),jT}},NT=Object.defineProperty,PT=Object.defineProperties,FT=Object.getOwnPropertyDescriptors,IT=Object.getOwnPropertySymbols,LT=Object.prototype.hasOwnProperty,RT=Object.prototype.propertyIsEnumerable,zT=(e,t,n)=>t in e?NT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,BT=(e,t)=>{for(var n in t||={})LT.call(t,n)&&zT(e,n,t[n]);if(IT)for(var n of IT(t))RT.call(t,n)&&zT(e,n,t[n]);return e},VT=(e,t)=>PT(e,FT(t));async function HT(e,t){let n=es(e.result.capabilities.caip345.caip2),r=e.result.capabilities.caip345.transactionHashes,i=await Promise.allSettled(r.map(e=>UT(n.reference,e,t))),a=i.filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e);i.filter(e=>e.status===`rejected`).forEach(e=>console.warn(`Failed to fetch transaction receipt:`,e.reason));let o=!a.length||a.some(e=>!e),s=a.every(e=>e?.status===`0x1`),c=a.every(e=>e?.status===`0x0`),l=a.some(e=>e?.status===`0x0`),u;return o?u=100:s?u=200:c?u=500:l&&(u=600),{id:e.result.id,version:e.request.version,atomic:e.request.atomicRequired,chainId:e.request.chainId,capabilities:e.result.capabilities,receipts:a,status:u}}async function UT(e,t,n){return await n(parseInt(e)).request(T(`eth_getTransactionReceipt`,[t]))}async function WT({sendCalls:e,storage:t}){let n=await t.getItem(Uw);await t.setItem(Uw,VT(BT({},n),{[e.result.id]:{request:e.request,result:e.result,expiry:Ls(Ww)}}))}async function GT({resultId:e,storage:t}){let n=await t.getItem(Uw);if(n){delete n[e],await t.setItem(Uw,n);for(let e in n)Rs(n[e].expiry)&&delete n[e];await t.setItem(Uw,n)}}async function KT({resultId:e,storage:t}){let n=(await t.getItem(Uw))?.[e];if(n&&!Rs(n.expiry))return n;await GT({resultId:e,storage:t})}var qT=Object.defineProperty,JT=Object.defineProperties,YT=Object.getOwnPropertyDescriptors,XT=Object.getOwnPropertySymbols,ZT=Object.prototype.hasOwnProperty,QT=Object.prototype.propertyIsEnumerable,$T=(e,t,n)=>t in e?qT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eE=(e,t)=>{for(var n in t||={})ZT.call(t,n)&&$T(e,n,t[n]);if(XT)for(var n of XT(t))QT.call(t,n)&&$T(e,n,t[n]);return e},tE=(e,t)=>JT(e,YT(t)),nE=(e,t,n)=>$T(e,typeof t==`symbol`?t:t+``,n),rE=class{constructor(e){nE(this,`name`,`eip155`),nE(this,`client`),nE(this,`chainId`),nE(this,`namespace`),nE(this,`httpProviders`),nE(this,`events`),nE(this,`storage`),this.namespace=e.namespace,this.events=pT(`events`),this.client=pT(`client`),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain()),this.storage=MT.getStorage(this.client.core.storage)}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);case`wallet_sendCalls`:return await this.sendCalls(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);let n=this.chainId;this.chainId=parseInt(e),this.events.emit(Gw.DEFAULT_CHAIN_CHANGED,{currentCaipChainId:`${this.name}:${e}`,previousCaipChainId:`${this.name}:${n}`})}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||tT(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new A(new P(n,pT(`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(nT(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(e){let t=e||this.chainId;return this.httpProviders[t]||(this.httpProviders=tE(eE({},this.httpProviders),{[t]:this.createHttpProvider(t)}),this.httpProviders[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],n=e.request?.params?.[1]||[];if(!t)throw Error("Missing address parameter in `wallet_getCapabilities` request");let r=this.client.session.get(e.topic),i=r?.sessionProperties?.capabilities||{},a=`${t}${n.join(`,`)}`,o=i?.[a];if(o)return o;let s;try{s=DT(r,t,n)}catch(e){console.warn(`Failed to extract capabilities from session`,e)}if(s)return s;let c=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:tE(eE({},r.sessionProperties||{}),{capabilities:tE(eE({},i||{}),{[a]:c})})})}catch(e){console.warn(`Failed to update session with capabilities`,e)}return c}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)}let i=await KT({resultId:e.request.params?.[0],storage:this.storage});if(i)try{return await HT(i,this.getHttpProvider.bind(this))}catch(e){console.warn(`Failed to fetch call status from stored send calls`,e,i)}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(T(`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`${Hw}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}async sendCalls(e){let t=await this.client.request(e),n=e.request.params?.[0],r=t?.id,i=t?.capabilities||{},a=i?.caip345?.caip2,o=i?.caip345?.transactionHashes;return!r||!a||!(o!=null&&o.length)||await WT({sendCalls:{request:n,result:t},storage:this.storage}),t}},iE=Object.defineProperty,aE=(e,t,n)=>t in e?iE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oE=(e,t,n)=>aE(e,typeof t==`symbol`?t:t+``,n),sE=class{constructor(e){oE(this,`name`,Vw),oE(this,`client`),oE(this,`httpProviders`),oE(this,`events`),oE(this,`namespace`),oE(this,`chainId`),this.namespace=e.namespace,this.events=pT(`events`),this.client=pT(`client`),this.chainId=this.getDefaultChain(),this.name=this.getNamespaceName(),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);let n=this.chainId;this.chainId=e,this.events.emit(Gw.DEFAULT_CHAIN_CHANGED,{currentCaipChainId:`${this.name}:${e}`,previousCaipChainId:`${this.name}:${n}`})}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]}getNamespaceName(){let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return es(e).namespace}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=es(e),r=this.namespace?.rpcMap?.[`${n.namespace}:${n.reference}`];t[n.reference]=this.createHttpProvider(e,r)}),t}getHttpProvider(e){let t=es(e).reference,n=this.httpProviders[t];if(typeof n>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return n}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||tT(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new A(new P(n,pT(`disableProviderPing`)))}},cE=Object.defineProperty,lE=Object.defineProperties,uE=Object.getOwnPropertyDescriptors,dE=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,pE=Object.prototype.propertyIsEnumerable,mE=(e,t,n)=>t in e?cE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hE=(e,t)=>{for(var n in t||={})fE.call(t,n)&&mE(e,n,t[n]);if(dE)for(var n of dE(t))pE.call(t,n)&&mE(e,n,t[n]);return e},gE=(e,t)=>lE(e,uE(t)),_E=(e,t,n)=>mE(e,typeof t==`symbol`?t:t+``,n),vE=class e{constructor(e){_E(this,`client`),_E(this,`namespaces`),_E(this,`optionalNamespaces`),_E(this,`sessionProperties`),_E(this,`scopedProperties`),_E(this,`events`,new yi.default),_E(this,`rpcProviders`,{}),_E(this,`session`),_E(this,`providerOpts`),_E(this,`logger`),_E(this,`uri`),_E(this,`disableProviderPing`,!1),this.providerOpts=e,this.logger=$h({logger:e.logger??Fw,name:this.providerOpts.name??Rw}),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:hE({},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,E(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:W(`USER_DISCONNECTED`)}),await this.cleanup()}async connect(e){if(!this.client)throw Error(`Sign Client not initialized`);if(this.setNamespaces(e),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=lT(this.session.namespaces);this.namespaces=oT(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=lT(r.namespaces);return this.namespaces=oT(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);this.getProvider(n).setDefaultChain(r,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){try{this.logger.info(`Cleaning up inactive pairings...`);let t=this.client.pairing.getAll();if(!Zm(t))return;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}`)}catch(e){this.logger.warn(e,`Failed to cleanup pending pairings`)}}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 qC.init({core:this.providerOpts.core,logger:this.providerOpts.logger||Fw,relayUrl:this.providerOpts.relayUrl||Iw,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(e,`Failed to get session`),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=>Wm(e)))];mT(`client`,this.client),mT(`events`,this.events),mT(`disableProviderPing`,this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=iT(e,this.session);if(t?.length===0)return;let n=rT(t),r=gE(hE({},oT(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:n});switch(e){case`eip155`:this.rpcProviders[e]=new rE({namespace:r});break;default:this.rpcProviders[e]=new sE({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&&Zm(e)&&this.events.emit(`accountsChanged`,e.map(cT))}else if(r.name===`chainChanged`){let e=t.chainId,n=t.event.data,r=Wm(e),i=uT(e)===uT(n)?e:`${r}:${uT(n)}`;this.onChainChanged({currentCaipChainId: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=gE(hE({},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`,gE(hE({},W(`USER_DISCONNECTED`)),{data:e.topic})))}),this.on(Gw.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(gE(hE({},e),{internal:!0}))})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Vw]}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;this.optionalNamespaces=oT(t,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=>Wm(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=Wm(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({currentCaipChainId:e,previousCaipChainId:t,internal:n=!1}){if(!this.namespaces)return;let[r,i]=this.validateChain(e);i&&(this.updateNamespaceChain(r,i),n?(this.events.emit(`chainChanged`,i),this.emitAccountsChangedOnChainChange({namespace:r,currentCaipChainId:e,previousCaipChainId:t})):this.getProvider(r).setDefaultChain(i),await this.persist(`namespaces`,this.namespaces))}emitAccountsChangedOnChainChange({namespace:e,currentCaipChainId:t,previousCaipChainId:n}){try{if(n===t)return;let r=this.session?.namespaces[e]?.accounts;if(!r)return;let i=r.filter(e=>e.includes(`${t}:`)).map(cT);if(!Zm(i))return;this.events.emit(`accountsChanged`,i)}catch(e){this.logger.warn(e,`Failed to emit accountsChanged on chain change`)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let n=this.namespaces[e]?e:`${e}:${t}`,r={chains:[],methods:[],events:[],defaultChain:t};this.namespaces[n]?this.namespaces[n]&&(this.namespaces[n].defaultChain=t):this.namespaces[n]=r}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,this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){let n=this.session?.topic||``;await this.client.core.storage.setItem(`${zw}/${e}${n}`,t)}async getFromStore(e){let t=this.session?.topic||``;return await this.client.core.storage.getItem(`${zw}/${e}${t}`)}async deleteFromStore(e){let t=this.session?.topic||``;await this.client.core.storage.removeItem(`${zw}/${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(zw)&&await this.client.core.storage.removeItem(t)}catch(e){this.logger.warn(e,`Failed to cleanup storage`)}}},yE=`wc@2:ethereum_provider:`,bE=`https://rpc.walletconnect.org/v1/`,xE=[`eth_sendTransaction`,`personal_sign`],SE=[`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_sendCalls`,`wallet_getCapabilities`,`wallet_getCallsStatus`,`wallet_showCallsStatus`],CE=[`chainChanged`,`accountsChanged`],wE=[`chainChanged`,`accountsChanged`,`message`,`disconnect`,`connect`],TE=async()=>{let{createAppKit:e}=await r(async()=>{let{createAppKit:e}=await import(`./core-snws5xwv.js`);return{createAppKit:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]),import.meta.url);return e},EE=Object.defineProperty,DE=Object.defineProperties,OE=Object.getOwnPropertyDescriptors,kE=Object.getOwnPropertySymbols,AE=Object.prototype.hasOwnProperty,jE=Object.prototype.propertyIsEnumerable,ME=(e,t,n)=>t in e?EE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NE=(e,t)=>{for(var n in t||={})AE.call(t,n)&&ME(e,n,t[n]);if(kE)for(var n of kE(t))jE.call(t,n)&&ME(e,n,t[n]);return e},PE=(e,t)=>DE(e,OE(t)),FE=(e,t,n)=>ME(e,typeof t==`symbol`?t:t+``,n);function IE(e){return Number(e[0].split(`:`)[1])}function LE(e){return`0x${e.toString(16)}`}function RE(e){let{chains:t,optionalChains:n,methods:r,optionalMethods:i,events:a,optionalEvents:o,rpcMap:s}=e;if(!Zm(t))throw Error(`Invalid chains`);let c={chains:t,methods:r||xE,events:a||CE,rpcMap:NE({},t.length?{[IE(t)]:s[IE(t)]}:{})},l=a?.filter(e=>!CE.includes(e)),u=r?.filter(e=>!xE.includes(e));if(!n&&!o&&!i&&!(l!=null&&l.length)&&!(u!=null&&u.length))return{required:t.length?c:void 0};let d=l?.length&&u?.length||!n,f={chains:[...new Set(d?c.chains.concat(n||[]):n)],methods:[...new Set(c.methods.concat(i!=null&&i.length?i:SE))],events:[...new Set(c.events.concat(o!=null&&o.length?o:wE))],rpcMap:s};return{required:t.length?c:void 0,optional:n.length?f:void 0}}var zE=class e{constructor(){FE(this,`events`,new yi.EventEmitter),FE(this,`namespace`,`eip155`),FE(this,`accounts`,[]),FE(this,`signer`),FE(this,`chainId`,1),FE(this,`modal`),FE(this,`rpc`),FE(this,`STORAGE_KEY`,yE),FE(this,`on`,(e,t)=>(this.events.on(e,t),this)),FE(this,`once`,(e,t)=>(this.events.once(e,t),this)),FE(this,`removeListener`,(e,t)=>(this.events.removeListener(e,t),this)),FE(this,`off`,(e,t)=>(this.events.off(e,t),this)),FE(this,`parseAccount`,e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(t){let n=new e;return await n.initialize(t),n}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,n){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:`eth_requestAccounts`})}async connect(e){var t;if(!this.signer.client)throw Error(`Provider not initialized. Call init() first`);this.loadConnectOpts(e);let{required:n,optional:r}=RE(this.rpc);try{let t=await new Promise(async(t,i)=>{var a,o;this.rpc.showQrModal&&((a=this.modal)==null||a.open(),(o=this.modal)==null||o.subscribeState(e=>{!e.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),i(Error(`Connection request reset. Please try again.`)))}));let s=e!=null&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(PE(NE({namespaces:NE({},n&&{[this.namespace]:n})},r&&{optionalNamespaces:{[this.namespace]:r}}),{pairingTopic:e?.pairingTopic,scopedProperties:s})).then(e=>{t(e)}).catch(e=>{var t;(t=this.modal)==null||t.showErrorMessage(`Unable to connect`),i(Error(e.message))})});if(!t)return;let i=ts(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:i),this.setAccounts(i),this.events.emit(`connect`,{chainId:LE(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{(t=this.modal)==null||t.close()}}async authenticate(e,t){var n;if(!this.signer.client)throw Error(`Provider not initialized. Call init() first`);this.loadConnectOpts({chains:e?.chains});try{let n=await new Promise(async(n,r)=>{var i,a;this.rpc.showQrModal&&((i=this.modal)==null||i.open(),(a=this.modal)==null||a.subscribeState(e=>{!e.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),r(Error(`Connection request reset. Please try again.`)))})),await this.signer.authenticate(PE(NE({},e),{chains:this.rpc.chains}),t).then(e=>{n(e)}).catch(e=>{var t;(t=this.modal)==null||t.showErrorMessage(`Unable to connect`),r(Error(e.message))})}),r=n.session;if(r){let e=ts(r.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit(`connect`,{chainId:LE(this.chainId)})}return n}catch(e){throw this.signer.logger.error(e),e}finally{(n=this.modal)==null||n.close()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(`session_event`,e=>{let{params:t}=e,{event:n}=t;n.name===`accountsChanged`?(this.accounts=this.parseAccounts(n.data),this.events.emit(`accountsChanged`,this.accounts)):n.name===`chainChanged`?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit(`session_event`,e)}),this.signer.on(`accountsChanged`,e=>{this.accounts=this.parseAccounts(e),this.events.emit(`accountsChanged`,this.accounts)}),this.signer.on(`chainChanged`,e=>{let t=parseInt(e);this.chainId=t,this.events.emit(`chainChanged`,LE(this.chainId)),this.persist()}),this.signer.on(`session_update`,e=>{this.events.emit(`session_update`,e)}),this.signer.on(`session_delete`,e=>{this.reset(),this.events.emit(`session_delete`,e),this.events.emit(`disconnect`,PE(NE({},W(`USER_DISCONNECTED`)),{data:e.topic,name:`USER_DISCONNECTED`}))}),this.signer.on(`display_uri`,e=>{this.events.emit(`display_uri`,e)})}switchEthereumChain(e){this.request({method:`wallet_switchEthereumChain`,params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e==`string`&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(`:`)[1])}setChainIds(e){let t=e.filter(e=>this.isCompatibleChainId(e)).map(e=>this.parseChainId(e));t.length&&(this.chainId=t[0],this.events.emit(`chainChanged`,LE(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){let t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){let[t,n,r]=e.split(`:`);return{chainId:`${t}:${n}`,address:r}}setAccounts(e){this.accounts=e.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit(`accountsChanged`,this.accounts)}getRpcConfig(e){let t=e?.chains??[],n=e?.optionalChains??[],r=t.concat(n);if(!r.length)throw Error("No chains specified in either `chains` or `optionalChains`");let i=t.length?e?.methods||xE:[],a=t.length?e?.events||CE:[],o=e?.optionalMethods||[],s=e?.optionalEvents||[],c=e?.rpcMap||this.buildRpcMap(r,e.projectId),l=e?.qrModalOptions||void 0;return{chains:t?.map(e=>this.formatChainId(e)),optionalChains:n.map(e=>this.formatChainId(e)),methods:i,events:a,optionalMethods:o,optionalEvents:s,rpcMap:c,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:l,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let n={};return e.forEach(e=>{n[e]=this.getRpcUrl(e,t)}),n}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?IE(this.rpc.chains):IE(this.rpc.optionalChains),this.signer=await vE.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{let t=await TE(),{convertWCMToAppKitOptions:n}=await Promise.resolve().then(function(){return $E}),r=n(PE(NE({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!r.networks.length)throw Error(`No networks found for WalletConnect·`);e=t(PE(NE({},r),{universalProvider:this.signer,manualWCControl:!0,enableMobileFullScreen:this.rpc.qrModalOptions?.enableMobileFullScreen===!0}))}catch(e){throw console.warn(e),Error(`To use QR modal, please install @reown/appkit package`)}if(e)try{this.modal=e}catch(e){throw this.signer.logger.error(e),Error(`Could not generate WalletConnectModal Instance`)}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:n,rpcMap:r}=e;t&&Zm(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=r?.[e]||this.getRpcUrl(e)})),n&&Zm(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n?.map(e=>this.formatChainId(e)),n.forEach(e=>{this.rpc.rpcMap[e]=r?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){return this.rpc.rpcMap?.[e]||`${bE}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{let e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t?.accounts),this.setAccounts(t?.accounts)}catch(e){this.signer.logger.error(`Failed to load persisted session, clearing state...`),this.signer.logger.error(e),await this.disconnect().catch(e=>this.signer.logger.warn(e))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e==`string`||e instanceof String?[this.parseAccount(e)]:e.map(e=>this.parseAccount(e))}},BE=Object.defineProperty,VE=Object.defineProperties,HE=Object.getOwnPropertyDescriptors,UE=Object.getOwnPropertySymbols,WE=Object.prototype.hasOwnProperty,GE=Object.prototype.propertyIsEnumerable,KE=(e,t,n)=>t in e?BE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qE=(e,t)=>{for(var n in t||={})WE.call(t,n)&&KE(e,n,t[n]);if(UE)for(var n of UE(t))GE.call(t,n)&&KE(e,n,t[n]);return e},JE=(e,t)=>VE(e,HE(t));function YE(e){if(e)return{"--w3m-font-family":e[`--wcm-font-family`],"--w3m-accent":e[`--wcm-accent-color`],"--w3m-color-mix":e[`--wcm-background-color`],"--w3m-z-index":e[`--wcm-z-index`]?Number(e[`--wcm-z-index`]):void 0,"--w3m-qr-color":e[`--wcm-accent-color`],"--w3m-font-size-master":e[`--wcm-text-medium-regular-size`],"--w3m-border-radius-master":e[`--wcm-container-border-radius`],"--w3m-color-mix-strength":0}}var XE=e=>{let[t,n]=e.split(`:`);return QE({id:n,caipNetworkId:e,chainNamespace:t,name:``,nativeCurrency:{name:``,symbol:``,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}}})};function ZE(e){var t,n;let r=e.chains?.map(XE).filter(Boolean);if(r.length===0)throw Error(`At least one chain must be specified`);let i=r.find(t=>t.id===e.defaultChain?.id),a={projectId:e.projectId,networks:r,themeMode:e.themeMode,themeVariables:YE(e.themeVariables),chainImages:e.chainImages,connectorImages:e.walletImages,defaultNetwork:i,metadata:JE(qE({},e.metadata),{name:e.metadata?.name||`WalletConnect`,description:e.metadata?.description||`Connect to WalletConnect-compatible wallets`,url:e.metadata?.url||`https://walletconnect.org`,icons:e.metadata?.icons||[`https://walletconnect.org/walletconnect-logo.png`]}),showWallets:!0,featuredWalletIds:e.explorerRecommendedWalletIds===`NONE`?[]:Array.isArray(e.explorerRecommendedWalletIds)?e.explorerRecommendedWalletIds:[],excludeWalletIds:e.explorerExcludedWalletIds===`ALL`?[]:Array.isArray(e.explorerExcludedWalletIds)?e.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if((t=e.mobileWallets)!=null&&t.length||(n=e.desktopWallets)!=null&&n.length){let t=[...(e.mobileWallets||[]).map(e=>({id:e.id,name:e.name,links:e.links})),...(e.desktopWallets||[]).map(e=>({id:e.id,name:e.name,links:{native:e.links.native,universal:e.links.universal}}))],n=[...a.featuredWalletIds||[],...a.excludeWalletIds||[]],r=t.filter(e=>!n.includes(e.id));r.length&&(a.customWallets=r)}return a}function QE(e){return qE({formatters:void 0,fees:void 0,serializers:void 0},e)}var $E=Object.freeze({__proto__:null,convertWCMToAppKitOptions:ZE,defineChain:QE}),eD=t(d(),1),tD=class extends l{async initialize(){m.debug(`Initializing WalletConnect V2 connector`,{wallet:this.walletClientType});let e=await this.createProvider();if(this.provider=e,this.proxyProvider.setWalletProvider(e),this.subscribeListeners(),e.session){let e=this.walletProvider?.session?.peer.metadata;m.debug(`Restoring existing WalletConnect session`,{peerName:e?.name,accountsCount:this.walletProvider?.accounts?.length}),this.walletProvider?.session?.peer.metadata.url&&(this.walletEntry=f(this.walletProvider?.session?.peer.metadata.url),this.walletClientType=this.walletEntry?.slug||`unknown`),this.connected=!0,await this.syncAccounts()}this.initialized=!0,this.emit(`initialized`)}async connect(e){m.connectionStart(this.walletClientType,`wallet_connect_v2`,{showPrompt:e.showPrompt}),e.showPrompt&&await this.promptConnection();let t=await this.getConnectedWallet();return t&&m.connectionSuccess(this.walletClientType),t}async isConnected(){return!!this.walletProvider?.connected}get walletBranding(){let e=this.walletProvider?.session?.peer.metadata.icons?.[0];return{name:s(this.walletProvider?.session?.peer.metadata.name||``)||`WalletConnect`,icon:typeof e==`string`?e:S,id:this.walletProvider?.session?.peer.metadata.name.toLowerCase()||`wallet_connect_v2`}}async resetConnection(e){let t=this.walletClientType;m.debug(`Resetting WalletConnect connection for new wallet`,{previousWallet:t,newWallet:e}),this.walletProvider&&this.walletProvider.connected&&(await this.walletProvider.disconnect(),this.walletProvider.signer.session=void 0,this.walletClientType=e,this.redirectUri=void 0,this.fallbackUniversalRedirectUri=void 0,y(),this.onDisconnect())}async promptConnection(){if(this.provider)return m.debug(`Prompting WalletConnect connection`,{wallet:this.walletClientType}),new Promise(((e,t)=>{(async()=>{m.debug(`Enabling WalletConnect provider`,{wallet:this.walletClientType,timeoutMs:this.proxyProvider.rpcTimeoutDuration});let t=``,n=await Promise.race([this.walletProvider?.enable(),this.proxyProvider.walletTimeout().then((()=>{}))]);if(n?.length&&(t=n[0],m.debug(`WalletConnect accounts received`,{address:t,accountsCount:n.length})),!t||t===``)throw new a(`Unable to retrieve address`);this.walletProvider?.session?.peer.metadata.url&&(this.walletEntry=f(this.walletProvider?.session?.peer.metadata.url),this.walletClientType=this.walletEntry?.slug||`unknown`,m.debug(`Identified wallet from session`,{wallet:this.walletClientType}),this.proxyProvider.rpcTimeoutDuration=u(this.rpcConfig,this.walletClientType)),this.connected=!0,await this.syncAccounts(n),e()})().catch((e=>{m.connectionFailed(this.walletClientType,e,{method:`wallet_connect_v2`}),t(e?h(e):new a(`Unknown error during connection`))}))}));m.warn(`WalletConnect provider not initialized`)}disconnect(){this.walletProvider?.disconnect().then((()=>this.onDisconnect())).catch((()=>console.warn(`Unable to disconnect WalletConnect provider`)))}get walletProvider(){return this.proxyProvider.walletProvider}setWalletProvider(e){this.proxyProvider.setWalletProvider(e)}async createProvider(){m.debug(`Creating WalletConnect EthereumProvider`,{chainsCount:this.chains.length,defaultChainId:this.defaultChain.id});let e={};for(let t of this.chains){let n=o(t.id,this.chains,this.rpcConfig,this.privyAppId);n&&(e[t.id]=n)}let t=this.shouldEnforceDefaultChainOnConnect?[this.defaultChain.id]:[],n=this.chains.map((e=>e.id));m.debug(`Initializing WalletConnect EthereumProvider`,{requiredChains:t.join(`, `)||`none`,optionalChainsCount:n.length});let r=await zE.init({projectId:this.walletConnectCloudProjectId,chains:t,optionalChains:n,optionalEvents:wE,optionalMethods:SE,rpcMap:e,showQrModal:!1,metadata:{description:this.privyAppName,name:this.privyAppName,url:window.location.origin,icons:[]}});return r.on(`display_uri`,(e=>{if(m.debug(`WalletConnect URI generated`,{wallet:this.walletClientType,isMobile:eD.isMobile,hasWalletEntry:!!this.walletEntry}),m.debug(`Aborting WalletConnect pairing attempt`),r.signer.abortPairingAttempt(),_(),!this.showPrivyQrModal)throw new a(`WalletConnect modal not available - Privy handles wallet connections through its own UI`);if(eD.isMobile&&this.walletEntry){let{redirect:t,href:n}=b(e,this.walletEntry),r=t.startsWith(`http`);m.debug(`Opening mobile wallet via deep link`,{wallet:this.walletEntry.name,redirectType:r?`universal`:`native`}),v(t,`_self`),x({href:n,name:this.walletEntry.metadata?.shortName||this.walletEntry.name});let i=g(e,this.walletEntry);return this.redirectUri=t,this.fallbackUniversalRedirectUri=i?.redirect,this.showPrivyQrModal({native:t,universal:t})}if(m.debug(`Displaying WalletConnect QR code`,{wallet:this.walletEntry?.name||`generic`}),this.redirectUri=void 0,this.walletEntry){let t=g(e,this.walletEntry);this.fallbackUniversalRedirectUri=t?.redirect}this.showPrivyQrModal({native:e,universal:void 0})})),r.on(`connect`,(()=>{let e=r.session?.peer.metadata;m.debug(`WalletConnect session established`,{peerName:e?.name,peerIcon:e?.icons?.[0]?`present`:`none`}),r.session?.peer.metadata.url&&(this.walletEntry=f(r.session?.peer.metadata.url),this.walletClientType=this.walletEntry?.slug||`unknown`)})),r}async enableProvider(){return this.walletProvider?.connected?Promise.resolve(this.walletProvider.accounts):await this.walletProvider?.enable()}setWalletEntry(e,t){this.walletEntry=e,this.showPrivyQrModal=t}constructor({walletConnectCloudProjectId:e,rpcConfig:t,chains:n,defaultChain:r,shouldEnforceDefaultChainOnConnect:i,privyAppId:a,privyAppName:o,walletClientType:s}){super(s||`unknown`,n,r,t),this.connectorType=`wallet_connect_v2`,this.privyAppId=a,this.privyAppName=o,this.walletConnectCloudProjectId=e,this.rpcConfig=t,this.shouldEnforceDefaultChainOnConnect=i,this.proxyProvider=new c(void 0,this.rpcTimeoutDuration),s&&(this.walletEntry=p(s),this.walletClientType=s)}};export{tD as WalletConnectV2WalletConnector};
|