@fangorn-network/westmarch 0.0.11-dev → 0.0.13-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/package.json +5 -1
- package/site/agent.js +1 -1
- package/site/dist/assets/AccountNotFoundScreen-C4njXc69-BOfmiSH1.js +1 -0
- package/site/dist/assets/AddFundsSelectionScreen-RAoCn7ej-D_EsIeJu.js +31 -0
- package/site/dist/assets/Address-H8kD1d9O-C85sJ79B.js +17 -0
- package/site/dist/assets/AffirmativeConsentScreen-BG0MJxku-DdEPFOww.js +6 -0
- package/site/dist/assets/AllowlistRejectionScreen-Cae6e1Od-DhVy9iGN.js +1 -0
- package/site/dist/assets/ApiController-CYdiyu9B.js +5 -0
- package/site/dist/assets/ArrowsRightLeftIcon-cp60yobq.js +1 -0
- package/site/dist/assets/AuthenticateWithWalletScreen-CU6hIcFT-8rbYiYYE.js +1 -0
- package/site/dist/assets/AwaitingEvmToSolBridgingScreen-D0e_sZMS-2pkNfCno.js +1 -0
- package/site/dist/assets/AwaitingExternalEthereumTransferScreen-ur5HL4R7-7AQt25_k.js +1 -0
- package/site/dist/assets/AwaitingPasswordlessCodeScreen-DRHz76mM-BZY30TGs.js +103 -0
- package/site/dist/assets/AwaitingSolToEvmBridgingScreen-CdLRrGD2-BILOOLi_.js +1 -0
- package/site/dist/assets/BridgeNetworkSelectionView-CFGjB2nO-CvsbQcFv.js +68 -0
- package/site/dist/assets/CaptchaScreen-DbpvkIGx-D8eDcAkc.js +1 -0
- package/site/dist/assets/CheckCircleIcon-BM409mGI.js +1 -0
- package/site/dist/assets/CheckCircleIcon-NCOQc0Gs.js +1 -0
- package/site/dist/assets/Checkbox-D1EDeo41-rHlvsZzP.js +52 -0
- package/site/dist/assets/ChevronDownIcon-CW-4MSpE.js +1 -0
- package/site/dist/assets/Chip-CZKIKt9K-CutJG010.js +26 -0
- package/site/dist/assets/CoinbaseOnrampStatusScreen-BbyCJDXL-DLs9zX-Q.js +16 -0
- package/site/dist/assets/ConnectEmailForm-B-VRE0MN-N9J6T_YL.js +3 -0
- package/site/dist/assets/ConnectLedgerScreen-DWHABGot-h0uYIUi6.js +10 -0
- package/site/dist/assets/ConnectOnlyLandingScreen-CZYx9Bmp-LeuDMN1E.js +1 -0
- package/site/dist/assets/ConnectOnlyStatusScreen-DCRzjxHx-DaRa59tZ.js +1 -0
- package/site/dist/assets/ConnectOrCreateScreen-CUUYUO07-crHzh-TL.js +1 -0
- package/site/dist/assets/ConnectPhoneForm-Dek5xn4C-BEA4FmhI.js +95 -0
- package/site/dist/assets/ConnectWalletView-DqI-PTvX-CMQIad63.js +74 -0
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-BeWLchcf.js +7 -0
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-wu3a3kw4.js +1 -0
- package/site/dist/assets/ConnectorUtil-Cq4lWnfe.js +21 -0
- package/site/dist/assets/ConstantsUtil-DmLsRHAl.js +198 -0
- package/site/dist/assets/CopyToClipboard-i_OQSBJr-DujUHNzW.js +39 -0
- package/site/dist/assets/CopyableText-CQapvaMr-DMIdpDaU.js +28 -0
- package/site/dist/assets/CrossAppAuthScreen-CLw7ymZq-Csju14vF.js +1 -0
- package/site/dist/assets/CustomLandingScreenView-Cm_MBSyX-CBOrbNLo.js +22 -0
- package/site/dist/assets/DelegatedActionsConsentScreen-DYF2U4y5-BL5hzNUI.js +1 -0
- package/site/dist/assets/DelegatedActionsRevokeScreen-bPp6Uwyh-fcO51q5H.js +1 -0
- package/site/dist/assets/DepositAddressAddressStepView-4vdkb55L-B3vY888G.js +187 -0
- package/site/dist/assets/DepositAddressScreen-DBLRs7aI-DmdQaFI2.js +8 -0
- package/site/dist/assets/DepositAddressV3Screen-CDqIEMQw-BoupRyfV.js +1 -0
- package/site/dist/assets/EmailInputForm-Cqo1mda8-B2NG3K5V.js +124 -0
- package/site/dist/assets/EmbeddedWalletConnectingScreen-D4T7DUzs-D_AVgO4s.js +1 -0
- package/site/dist/assets/EmbeddedWalletCreatedScreen-D7WhW5ve-CLsJbPYQ.js +1 -0
- package/site/dist/assets/EmbeddedWalletKeyExportScreen-CqV4NYQ3-C9sAExzE.js +23 -0
- package/site/dist/assets/EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-DxaWAAKa.js +1 -0
- package/site/dist/assets/EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-CxrfLr5q.js +1 -0
- package/site/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-DHZRGoTN.js +1 -0
- package/site/dist/assets/EnrollTotp-Dibew4dp-SA2pvNEc.js +66 -0
- package/site/dist/assets/EnvelopeIcon-Dh2vSVj4.js +1 -0
- package/site/dist/assets/ErrorBanner-BcpGRt0h-BKOYTyCi.js +21 -0
- package/site/dist/assets/ErrorMessage-D8VaAP5m-CrZOnUyg.js +8 -0
- package/site/dist/assets/ErrorScreen-DipdTWzE-DcxVjMO4.js +1 -0
- package/site/dist/assets/ErrorScreen-DipdTWzE-c8g8En21.js +4 -0
- package/site/dist/assets/ExclamationCircleIcon-DUA2wMfO.js +1 -0
- package/site/dist/assets/ExclamationTriangleIcon-eZfaqcFq.js +1 -0
- package/site/dist/assets/FarcasterConnectStatusScreen-51tjUxqq-s_s5M2CZ.js +75 -0
- package/site/dist/assets/FarcasterSignerStatusScreen-6x-Uh95G-BHBR4k8H.js +28 -0
- package/site/dist/assets/FiatOnrampScreen-BAhYeiTI-BH_sU6EV.js +491 -0
- package/site/dist/assets/FingerPrintIcon-Dm6kxmg7.js +1 -0
- package/site/dist/assets/FundSolWalletWithExternalSolanaWallet-WtLwYaOl-B8TRV36j.js +1 -0
- package/site/dist/assets/FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js +1 -0
- package/site/dist/assets/FundWithBankDepositScreen-DajkHxBD-9rPtyA3d.js +58 -0
- package/site/dist/assets/FundingEditAmountScreen-CpvpiO4M-GaXigGI9.js +1 -0
- package/site/dist/assets/FundingMethodSelectionScreen-Db7vhRlE-UsmtTqv4.js +1 -0
- package/site/dist/assets/GlobeAltIcon-vqrVV5ho.js +1 -0
- package/site/dist/assets/GooglePay-B53WnudL-BX5_WtCx.js +1 -0
- package/site/dist/assets/HCaptchaWrapper-CUi9LJsp-D-I8j7NO.js +4 -0
- package/site/dist/assets/InAppBrowserLoginNotPossible-BMR9br1T-BY3j50El.js +1 -0
- package/site/dist/assets/InfoBanner-Cb3p1z12-DLBl_Ywy.js +22 -0
- package/site/dist/assets/InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js +1 -0
- package/site/dist/assets/InstallWalletScreen-DTA8dwLv-CxreyXoD.js +1 -0
- package/site/dist/assets/JsonTree-BHzNC-ic-DcNcbSoM.js +34 -0
- package/site/dist/assets/LabelXs-oqZNqbm_-iafrj25N.js +6 -0
- package/site/dist/assets/LandingScreen-CGWUoSUG-DK1EY-6v.js +1 -0
- package/site/dist/assets/Layouts-BMRfo5hw-CeCOyCLK.js +77 -0
- package/site/dist/assets/Link-BdDilT2T-BEDEdHuS.js +40 -0
- package/site/dist/assets/LinkConflictScreen-C3ZEPsgl-ClWoqvEL.js +77 -0
- package/site/dist/assets/LinkEmailScreen-dKo9frwc-C3v7glH0.js +1 -0
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-D72Gb0LW.js +117 -0
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-DYIl5Kr2.js +1 -0
- package/site/dist/assets/LinkPhoneScreen-oIUpfj0w-C0DuD14j.js +1 -0
- package/site/dist/assets/Loader-UAZqxsnw-Cy7hEE2f.js +62 -0
- package/site/dist/assets/LoadingSkeleton-BMsgO5PV-CiEyS5PZ.js +17 -0
- package/site/dist/assets/LockClosedIcon-BgY_5v_Z.js +1 -0
- package/site/dist/assets/LoginFailedScreen-CN0dJV6U-DhUMiJZJ.js +1 -0
- package/site/dist/assets/ManualTransferScreen-CHqcuqbs-tXiZDHmN.js +1 -0
- package/site/dist/assets/MfaAuthEnrollmentFlowScreen-Dj7gPTRC-CaW7xeCC.js +1 -0
- package/site/dist/assets/MfaAuthVerifyFlowScreen-DbFpyWMy-CeRqvx8k.js +1 -0
- package/site/dist/assets/MfaEnrollmentFlowScreen-DhLnGgnr-BkN1k4lh.js +1 -0
- package/site/dist/assets/MfaVerifyFlowScreen-C_XPjMRP-CXSqLVbE.js +1 -0
- package/site/dist/assets/ModalFooter-BCuEK_nz-c-khvG4Y.js +403 -0
- package/site/dist/assets/MoonpayStatusScreen-CzTUtokc-BRFN2eXr.js +16 -0
- package/site/dist/assets/OAuthStatusScreen-ufbOa-da-CeiGcSia.js +1 -0
- package/site/dist/assets/OpenLink-CUpJ1mOr-DfAvJRyK.js +39 -0
- package/site/dist/assets/PasskeySelectSignupOrLogin-xh2ScC_l-CIf5I7wU.js +1 -0
- package/site/dist/assets/PasskeyStatusScreen-Bla8MaOk-CLoL7QC-.js +6 -0
- package/site/dist/assets/PasswordRecoveryScreen-awGXZkQk-B9F67IYV.js +20 -0
- package/site/dist/assets/PhArrowCircleDown-D97G-BOA.js +14 -0
- package/site/dist/assets/PhArrowClockwise-DVgyFuez.js +14 -0
- package/site/dist/assets/PhArrowDown-87b1BizM.js +14 -0
- package/site/dist/assets/PhArrowLeft-Da0MfnbK.js +14 -0
- package/site/dist/assets/PhArrowRight-AdrIL4DW.js +14 -0
- package/site/dist/assets/PhArrowSquareOut-Bk2CMG3I.js +14 -0
- package/site/dist/assets/PhArrowUp-4sgyKPGx.js +14 -0
- package/site/dist/assets/PhArrowUpRight-BNghD2zq.js +14 -0
- package/site/dist/assets/PhArrowsClockwise-BXRn1GEl.js +14 -0
- package/site/dist/assets/PhArrowsDownUp-DM09Jo_3.js +14 -0
- package/site/dist/assets/PhArrowsLeftRight-MuKBLUoF.js +14 -0
- package/site/dist/assets/PhBank-fHbgCqqZ.js +14 -0
- package/site/dist/assets/PhBrowser-2-9m-AkM.js +14 -0
- package/site/dist/assets/PhCaretDown-BDNabFuL.js +14 -0
- package/site/dist/assets/PhCaretLeft-CI460R-A.js +14 -0
- package/site/dist/assets/PhCaretRight-D7ZS3Ls8.js +14 -0
- package/site/dist/assets/PhCaretUp-C-iIfyvO.js +14 -0
- package/site/dist/assets/PhCheck-DxQXn57r.js +14 -0
- package/site/dist/assets/PhCircleHalf-MJZeRBGF.js +14 -0
- package/site/dist/assets/PhClock-x3MS3Mwi.js +14 -0
- package/site/dist/assets/PhCompass-hYn3HhGN.js +14 -0
- package/site/dist/assets/PhCopy-CWNYcABI.js +14 -0
- package/site/dist/assets/PhCreditCard-Fy4pzwtt.js +14 -0
- package/site/dist/assets/PhCurrencyDollar-BgiaenCi.js +14 -0
- package/site/dist/assets/PhDesktop-CxrzCSv5.js +14 -0
- package/site/dist/assets/PhDeviceMobile-CsyA5Goi.js +14 -0
- package/site/dist/assets/PhDotsThree-D-k1BiYg.js +14 -0
- package/site/dist/assets/PhEnvelope-D8kzeNox.js +14 -0
- package/site/dist/assets/PhFunnelSimple-CfQs5DAW.js +14 -0
- package/site/dist/assets/PhGlobe-DvmSc9_A.js +14 -0
- package/site/dist/assets/PhIdentificationCard-CfkZm-5K.js +14 -0
- package/site/dist/assets/PhImage-Cf0J2ZfJ.js +14 -0
- package/site/dist/assets/PhInfo-Bwi51-2X.js +14 -0
- package/site/dist/assets/PhLightbulb-C4FZV7Es.js +14 -0
- package/site/dist/assets/PhMagnifyingGlass-C9u8jSCJ.js +14 -0
- package/site/dist/assets/PhPaperPlaneRight-zxQVvPLX.js +14 -0
- package/site/dist/assets/PhPlus-C4UoW-2n.js +14 -0
- package/site/dist/assets/PhPower-CFyWDmgD.js +14 -0
- package/site/dist/assets/PhPuzzlePiece-BjoNVfST.js +14 -0
- package/site/dist/assets/PhQrCode-CP3tFauY.js +14 -0
- package/site/dist/assets/PhQuestion-wOWJBd3G.js +14 -0
- package/site/dist/assets/PhQuestionMark-CV0k9C0Y.js +14 -0
- package/site/dist/assets/PhSealCheck-vIKzREuN.js +14 -0
- package/site/dist/assets/PhSignOut-CxELV-i0.js +14 -0
- package/site/dist/assets/PhSpinner-CGDmbzUd.js +14 -0
- package/site/dist/assets/PhTrash-C9PD0SAt.js +14 -0
- package/site/dist/assets/PhUser-0sWNXQeZ.js +14 -0
- package/site/dist/assets/PhVault-6JTskUcC.js +14 -0
- package/site/dist/assets/PhWarning-CoKs3gz6.js +14 -0
- package/site/dist/assets/PhWarningCircle-BXHw1fCt.js +14 -0
- package/site/dist/assets/PhX-DX0SFIqC.js +14 -0
- package/site/dist/assets/PhoneIcon-CvIiPwYQ.js +1 -0
- package/site/dist/assets/PinInput-DbZ0b1i1-CDXZBdQx.js +247 -0
- package/site/dist/assets/PrivyPluginContext-DA-yS5vO-CtQWBiV2.js +1 -0
- package/site/dist/assets/QrCode-DbnZwlkH-h6Bhoe5U.js +22 -0
- package/site/dist/assets/RecoveryOAuthStatusScreen-CsgtTI2x-D-A5P3PX.js +1 -0
- package/site/dist/assets/RecoveryPasswordCreateScreen-Be-qJ-LU-C8lTSeSr.js +1 -0
- package/site/dist/assets/RecoverySelectionScreen-D1iGtpmi-P5P3plkH.js +7 -0
- package/site/dist/assets/SIWXUtil-TUCxa7aA.js +1 -0
- package/site/dist/assets/Screen-D30meWsY-CCeVNuWs.js +175 -0
- package/site/dist/assets/ScreenHeader-CHmc4-Lu-DjyrH7IK.js +31 -0
- package/site/dist/assets/ScreenLayout-OwaQQcxH-CrQM6kvA.js +1 -0
- package/site/dist/assets/SelectSourceAsset-CWFog6gm-D7yTw87h.js +140 -0
- package/site/dist/assets/SetAutomaticRecoveryScreen-BO_OEqAZ-f0iDIGmw.js +14 -0
- package/site/dist/assets/SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js +11 -0
- package/site/dist/assets/ShieldCheckIcon-o6RHYev1.js +1 -0
- package/site/dist/assets/SignRequestScreen-BHKv32KR-DDpMYyJ1.js +26 -0
- package/site/dist/assets/SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js +1 -0
- package/site/dist/assets/StackedContainer-B2vaEl56-eQCM2cmv.js +24 -0
- package/site/dist/assets/StandardSignAndSendTransactionScreen-CfhIXVtd-BJ-onCjv.js +20 -0
- package/site/dist/assets/Subtitle-CV-2yKE4-zxWw2m1Q.js +13 -0
- package/site/dist/assets/TelegramAuthScreen-UL9zLfO8-NWlMgNRX.js +1 -0
- package/site/dist/assets/Title-BnzYV3Is-B_JpTatT.js +7 -0
- package/site/dist/assets/TodoList-DnyULl18-C8Eyy28X.js +36 -0
- package/site/dist/assets/TransactionDetails-e9nesl30-C4MpIHR-.js +109 -0
- package/site/dist/assets/TransactionErrorView-BDBNqA_f-p1T9WVMx.js +178 -0
- package/site/dist/assets/TransferFromWalletScreen-Qvn1Yuno-88IQcRnY.js +31 -0
- package/site/dist/assets/TransferOrBridgeLoadingScreen-Dl1I_iIz-1fDAIxAf.js +6 -0
- package/site/dist/assets/TurnstileWrapper-B7sNddys-Jwy1tJtm.js +1 -0
- package/site/dist/assets/UpdateEmailScreen-DVOhPV0H-Jj2DQW8D.js +1 -0
- package/site/dist/assets/UpdatePhoneScreen-CXRswTNZ-DwYIUBqi.js +1 -0
- package/site/dist/assets/UserLimitReachedScreen-5we2DHn8-D7m70C4b.js +1 -0
- package/site/dist/assets/Value-DTgR824E-BRuIGiec.js +27 -0
- package/site/dist/assets/WalletCards-DH1rqayz-Bgp9Fsgs.js +1 -0
- package/site/dist/assets/WalletIcon-gKf0gTw6.js +1 -0
- package/site/dist/assets/WalletInfoCard-sq_2wgFg-DpNSAGte.js +29 -0
- package/site/dist/assets/WalletInterstitialScreen-Sh7LfsAh-DG-RuO-F.js +1 -0
- package/site/dist/assets/WalletLink-DK5LB5Ha-DHaL350n.js +20 -0
- package/site/dist/assets/WalletOverflowButton-bfCnp-9T-CUyIJFzt.js +1 -0
- package/site/dist/assets/WarningBanner-ZZqCEtZK-2eU4Qo74.js +21 -0
- package/site/dist/assets/__vite-browser-external-CitKSmYk.js +1 -0
- package/site/dist/assets/_esm-B26FZg5Y.js +7 -0
- package/site/dist/assets/_esm-BdeM6pxJ.js +1 -0
- package/site/dist/assets/accounts-D96UKWkC.js +1 -0
- package/site/dist/assets/accounts-DiZ-0VmN.js +1 -0
- package/site/dist/assets/analytics-mkkvFRju-BRBcadka.js +1 -0
- package/site/dist/assets/baseSepolia-DX-qGsik.js +1 -0
- package/site/dist/assets/basic-oIwwSyu4.js +1575 -0
- package/site/dist/assets/capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js +1 -0
- package/site/dist/assets/ccip-65sIfSPR.js +1 -0
- package/site/dist/assets/ccip-BZvRTL6g.js +7 -0
- package/site/dist/assets/ccip-DA_zG341.js +1 -0
- package/site/dist/assets/chain-DM3oH6Px.js +8 -0
- package/site/dist/assets/check-BPgcwEPP.js +1 -0
- package/site/dist/assets/chevron-down-BSsbXkK-.js +1 -0
- package/site/dist/assets/circle-alert-DWaeLZNj.js +1 -0
- package/site/dist/assets/circle-check-big-Chb1ivw9.js +1 -0
- package/site/dist/assets/circle-x-AV9Cet0R.js +1 -0
- package/site/dist/assets/client-CZG0ndth.js +2 -0
- package/site/dist/assets/client-Dsa7_3V3.js +9 -0
- package/site/dist/assets/coinbase-DCPC2L_R-D3aIgpyd.js +3 -0
- package/site/dist/assets/copy-Ckr0AkL6.js +1 -0
- package/site/dist/assets/core-snws5xwv.js +12 -0
- package/site/dist/assets/createLucideIcon-IPW50ckY.js +1 -0
- package/site/dist/assets/defineChain-CiuCXUZW.js +1 -0
- package/site/dist/assets/dijkstra-Drfl93V4.js +1 -0
- package/site/dist/assets/dist-Cm7pNAtL.js +1 -0
- package/site/dist/assets/dist-CoS6E-3x.js +1 -0
- package/site/dist/assets/dist-Dl07uGq1.js +1 -0
- package/site/dist/assets/dist-DnGANz51.js +16 -0
- package/site/dist/assets/embed.worker-ugGhEqCV.js +1 -0
- package/site/dist/assets/errors-BQ3N-RVt-BLqjTPNR.js +1 -0
- package/site/dist/assets/esm-B5cbIQaz.js +37 -0
- package/site/dist/assets/esm-ByALO6mA.js +1 -0
- package/site/dist/assets/esm-C3DslVJx.js +1 -0
- package/site/dist/assets/esm-Ci1ogKuK.js +1 -0
- package/site/dist/assets/esm-n2lWo7kz.js +1 -0
- package/site/dist/assets/ethers-zTjbodk5-wHhL_BQ1.js +1 -0
- package/site/dist/assets/eventemitter3-CL76jPsW.js +1 -0
- package/site/dist/assets/external-link-D-uehwM2.js +1 -0
- package/site/dist/assets/farcaster-DPlSjvF5-BqTvDXBR.js +1 -0
- package/site/dist/assets/features-DQ0UYy6K.js +2 -0
- package/site/dist/assets/fingerprint-pattern-D8ytA16Q.js +1 -0
- package/site/dist/assets/floating-ui.react-dom-DKWOL9UG.js +1 -0
- package/site/dist/assets/floating-ui.react-xRkl9O3u.js +1 -0
- package/site/dist/assets/formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js +1 -0
- package/site/dist/assets/formatter-CVbp4SlJ.js +1 -0
- package/site/dist/assets/get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js +1 -0
- package/site/dist/assets/getChainName-DjpPdUSc-DUyKDrnp.js +1 -0
- package/site/dist/assets/getErc20Balance-jXNpFf0N-Bb9WM31M.js +1 -0
- package/site/dist/assets/getErc20TokenInfo-BNTrzLMP-KPrdn04K.js +1 -0
- package/site/dist/assets/getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js +1 -0
- package/site/dist/assets/getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js +1 -0
- package/site/dist/assets/guards-BIW-GiMJ-CHfXo8XI.js +1 -0
- package/site/dist/assets/hooks.module-BYZGfwDl.js +1 -0
- package/site/dist/assets/hourglass-CPG1HZmf.js +1 -0
- package/site/dist/assets/id-UqEwL2BI-BkKm533U.js +1 -0
- package/site/dist/assets/index-B5YmgwLH.js +8 -0
- package/site/dist/assets/index-BdEw5wyl-ChSJvPZk.js +1 -0
- package/site/dist/assets/index-CWARkn2w-Cezl_uBr.js +61 -0
- package/site/dist/assets/index-DvMddJcd-BatvgC-S.js +12 -0
- package/site/dist/assets/index-YiCw0Y_x-CX5i3Z87.js +437 -0
- package/site/dist/assets/index.browser-B-i-Lj3J.js +1 -0
- package/site/dist/assets/index.browser-BMmUcykv.js +1 -0
- package/site/dist/assets/index.es-BmqyoBEM.js +2 -0
- package/site/dist/assets/index.es-C1v1or--.js +3 -0
- package/site/dist/assets/isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js +1 -0
- package/site/dist/assets/jsx-runtime-BbDfbRii.js +1 -0
- package/site/dist/assets/landmark-CH6LV6F0.js +1 -0
- package/site/dist/assets/lib-BsS8z8Lj.js +1 -0
- package/site/dist/assets/localBatchGatewayRequest-3kLrX_c7.js +32 -0
- package/site/dist/assets/lock-DcskI4Bb.js +1 -0
- package/site/dist/assets/logger-CsXm3oIv-B0UYpNFI.js +1 -0
- package/site/dist/assets/mail-Bs0r5yOi.js +1 -0
- package/site/dist/assets/modal-context-CwmSeFcv-DruX9J1E.js +1 -0
- package/site/dist/assets/native-BKj27wfc.js +1 -0
- package/site/dist/assets/ofetch.CWycOUEr-CHp-crOQ.js +1 -0
- package/site/dist/assets/parseAbi-Csg-8t59.js +2 -0
- package/site/dist/assets/parseAbiParameters-BWbIMYe4.js +1 -0
- package/site/dist/assets/parseEther-VjhVo3dd.js +1 -0
- package/site/dist/assets/pkce-DXF0yKjP-ChQhE0st.js +1 -0
- package/site/dist/assets/preload-helper-uBIymjUX.js +1 -0
- package/site/dist/assets/privy-context-81KmsBw2-CjWGzyg7.js +2 -0
- package/site/dist/assets/property-DuZ9DLP4.js +3 -0
- package/site/dist/assets/react-DCXkXSrv.js +1 -0
- package/site/dist/assets/react-DQnMl2Xv.js +1 -0
- package/site/dist/assets/react-DrJ0MmMO.js +1 -0
- package/site/dist/assets/react-auth-sHnipzbS.js +1 -0
- package/site/dist/assets/react-dom-5dW7aKoP.js +1 -0
- package/site/dist/assets/reservoir-x-nGuZkT-BMX127i6.js +1 -0
- package/site/dist/assets/rolldown-runtime-BcKkbAw3.js +1 -0
- package/site/dist/assets/safe-url-D7SRPu33-CkMedGro.js +1 -0
- package/site/dist/assets/secp256k1-C4nzcPo-.js +1 -0
- package/site/dist/assets/secp256k1-D92aGNnU.js +1 -0
- package/site/dist/assets/secp256k1-DmbwyFau.js +1 -0
- package/site/dist/assets/secp256k1-_MleGpqL.js +1 -0
- package/site/dist/assets/secp256k1-xl2og-wO.js +1 -0
- package/site/dist/assets/serializeAuthorizationList-CX8hGL56.js +1 -0
- package/site/dist/assets/serializeSignature-DfxkPnu-.js +2 -0
- package/site/dist/assets/sha2-BU_QyRTx.js +1 -0
- package/site/dist/assets/shared-DRZUmnL5-xqAUARWo.js +193 -0
- package/site/dist/assets/shared-FM0rljBt--Avg6q2R.js +21 -0
- package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BK_FBkaE.js +1 -0
- package/site/dist/assets/simulateTransaction-CfuOrae4-64lWYJAL.js +1 -0
- package/site/dist/assets/smartphone-CcEZ-XAy.js +1 -0
- package/site/dist/assets/src-BBjkfi-Q.js +1 -0
- package/site/dist/assets/storage-Ufl800Ne-D0bZBw-H.js +9 -0
- package/site/dist/assets/stringify-BlDm7tuc.js +21 -0
- package/site/dist/assets/stripe.esm-CZRDpc-N.js +2 -0
- package/site/dist/assets/styles-BsotlekN-CXEB4Ud9.js +9 -0
- package/site/dist/assets/styles-Cm9H63WO-Br4QtzUL.js +92 -0
- package/site/dist/assets/styles-DVyDvTdj-BTABn2K8.js +74 -0
- package/site/dist/assets/styles-hslXy6xG-D-49b1rk.js +164 -0
- package/site/dist/assets/telegram-B-JqnkqZ-RBoY3PLx.js +1 -0
- package/site/dist/assets/to-ui-error-DWe-qwS3-Cx2bk1kZ.js +4 -0
- package/site/dist/assets/toViemAccount-B5iDGq1b-Ba8L7zed.js +2 -0
- package/site/dist/assets/transaction-BNTP-bFm-M5tJx8vY.js +1 -0
- package/site/dist/assets/transfer-6YztDh-t-BVQkTvG-.js +1 -0
- package/site/dist/assets/{transformers.web-CM54uIeJ.js → transformers.web-CVP3pJOS.js} +1 -1
- package/site/dist/assets/triangle-alert-CWjYH75H.js +1 -0
- package/site/dist/assets/twitch-5IOe4sIQ-lDtgk0os.js +1 -0
- package/site/dist/assets/types-4CuOD23i.js +1 -0
- package/site/dist/assets/use-headless-crypto-deposit-Yn-QRLB3-LUIVFBSd.js +1 -0
- package/site/dist/assets/use-unlink-wallet-BKK4_5Ur-CC2pq27z.js +1 -0
- package/site/dist/assets/useActiveWallet-B-yZYGc6-D7Ik-LxJ.js +123 -0
- package/site/dist/assets/useGetSolPrice-x7gfUIHJ-D1hmQfpA.js +1 -0
- package/site/dist/assets/useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js +1 -0
- package/site/dist/assets/useI18n-C-5n_noF-BcqC76yj.js +1 -0
- package/site/dist/assets/useWalletBalance-CZnP5f_f-Dw2GIJ4g.js +1 -0
- package/site/dist/assets/useWallets-X1ndvJ_U-DRjz7uYD.js +1 -0
- package/site/dist/assets/utils-BkR7EQjg.js +1 -0
- package/site/dist/assets/utils-DJhBNOZA.js +1 -0
- package/site/dist/assets/utils-DdckVfQr.js +1 -0
- package/site/dist/assets/w3m-modal-BeVrBOIf.js +1174 -0
- package/site/dist/assets/wallet-Bn85Sg2W.js +1 -0
- package/site/dist/assets/wallet-DMLc-ukR.js +2 -0
- package/site/dist/assets/wallet-connect-BvJtUsDt-Y03hhqFN.js +1 -0
- package/site/dist/assets/walletconnect-registry-xxG8XLCb-D1SSFvMp.js +1 -0
- package/site/dist/assets/walletconnect-v2-3frQFwbg-CrtLXofr.js +12 -0
- package/site/dist/assets/wui-ux-by-reown-D34ILNLS.js +1147 -0
- package/site/dist/assets/x-rlSp9U7W.js +1 -0
- package/site/dist/index.html +6 -6
- package/src/agent/view-tools.js +5 -8
- package/src/agent/x402.js +11 -0
- package/src/core/embed.js +33 -8
- package/src/discover/explore.js +20 -15
- package/src/publish/lint.js +55 -6
- package/src/publish/ship.js +4 -4
- package/src/publish/view.js +9 -7
- package/site/dist/assets/__vite-browser-external-CKnVkMRn.js +0 -1
- package/site/dist/assets/embed.worker-CZXpLhAu.js +0 -1
- package/site/dist/assets/index-oyUqokZh.js +0 -8
- package/site/dist/assets/preload-helper-BaNbYf_w.js +0 -1
- package/site/dist/assets/rolldown-runtime-Dd_uD5pT.js +0 -1
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./TurnstileWrapper-B7sNddys-Jwy1tJtm.js","./rolldown-runtime-BcKkbAw3.js","./privy-context-81KmsBw2-CjWGzyg7.js","./jsx-runtime-BbDfbRii.js","./react-DrJ0MmMO.js","./HCaptchaWrapper-CUi9LJsp-D-I8j7NO.js","./AccountNotFoundScreen-C4njXc69-BOfmiSH1.js","./createLucideIcon-IPW50ckY.js","./modal-context-CwmSeFcv-DruX9J1E.js","./ScreenLayout-OwaQQcxH-CrQM6kvA.js","./ModalFooter-BCuEK_nz-c-khvG4Y.js","./Loader-UAZqxsnw-Cy7hEE2f.js","./Screen-D30meWsY-CCeVNuWs.js","./index-CWARkn2w-Cezl_uBr.js","./AddFundsSelectionScreen-RAoCn7ej-D_EsIeJu.js","./landmark-CH6LV6F0.js","./wallet-Bn85Sg2W.js","./GooglePay-B53WnudL-BX5_WtCx.js","./isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js","./styles-DVyDvTdj-BTABn2K8.js","./styles-hslXy6xG-D-49b1rk.js","./use-headless-crypto-deposit-Yn-QRLB3-LUIVFBSd.js","./esm-n2lWo7kz.js","./esm-B5cbIQaz.js","./_esm-B26FZg5Y.js","./preload-helper-uBIymjUX.js","./parseAbi-Csg-8t59.js","./parseAbiParameters-BWbIMYe4.js","./stringify-BlDm7tuc.js","./chain-DM3oH6Px.js","./utils-BkR7EQjg.js","./ccip-BZvRTL6g.js","./formatter-CVbp4SlJ.js","./serializeSignature-DfxkPnu-.js","./serializeAuthorizationList-CX8hGL56.js","./sha2-BU_QyRTx.js","./secp256k1-_MleGpqL.js","./defineChain-CiuCXUZW.js","./types-4CuOD23i.js","./react-DQnMl2Xv.js","./errors-BQ3N-RVt-BLqjTPNR.js","./ofetch.CWycOUEr-CHp-crOQ.js","./dist-Dl07uGq1.js","./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js","./localBatchGatewayRequest-3kLrX_c7.js","./utils-DJhBNOZA.js","./use-unlink-wallet-BKK4_5Ur-CC2pq27z.js","./useWallets-X1ndvJ_U-DRjz7uYD.js","./storage-Ufl800Ne-D0bZBw-H.js","./secp256k1-D92aGNnU.js","./pkce-DXF0yKjP-ChQhE0st.js","./eventemitter3-CL76jPsW.js","./index.browser-B-i-Lj3J.js","./PrivyPluginContext-DA-yS5vO-CtQWBiV2.js","./AffirmativeConsentScreen-BG0MJxku-DdEPFOww.js","./external-link-D-uehwM2.js","./shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BK_FBkaE.js","./AllowlistRejectionScreen-Cae6e1Od-DhVy9iGN.js","./lock-DcskI4Bb.js","./safe-url-D7SRPu33-CkMedGro.js","./AuthenticateWithWalletScreen-CU6hIcFT-8rbYiYYE.js","./ConnectWalletView-DqI-PTvX-CMQIad63.js","./lib-BsS8z8Lj.js","./guards-BIW-GiMJ-CHfXo8XI.js","./logger-CsXm3oIv-B0UYpNFI.js","./useActiveWallet-B-yZYGc6-D7Ik-LxJ.js","./react-dom-5dW7aKoP.js","./CopyableText-CQapvaMr-DMIdpDaU.js","./check-BPgcwEPP.js","./copy-Ckr0AkL6.js","./Link-BdDilT2T-BEDEdHuS.js","./QrCode-DbnZwlkH-h6Bhoe5U.js","./dijkstra-Drfl93V4.js","./EmailInputForm-Cqo1mda8-B2NG3K5V.js","./ErrorMessage-D8VaAP5m-CrZOnUyg.js","./useI18n-C-5n_noF-BcqC76yj.js","./WalletCards-DH1rqayz-Bgp9Fsgs.js","./wallet-connect-BvJtUsDt-Y03hhqFN.js","./AwaitingEvmToSolBridgingScreen-D0e_sZMS-2pkNfCno.js","./BridgeNetworkSelectionView-CFGjB2nO-CvsbQcFv.js","./floating-ui.react-dom-DKWOL9UG.js","./floating-ui.react-xRkl9O3u.js","./ChevronDownIcon-CW-4MSpE.js","./WalletIcon-gKf0gTw6.js","./Layouts-BMRfo5hw-CeCOyCLK.js","./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js","./getChainName-DjpPdUSc-DUyKDrnp.js","./getErc20Balance-jXNpFf0N-Bb9WM31M.js","./Value-DTgR824E-BRuIGiec.js","./LoadingSkeleton-BMsgO5PV-CiEyS5PZ.js","./Subtitle-CV-2yKE4-zxWw2m1Q.js","./Title-BnzYV3Is-B_JpTatT.js","./Chip-CZKIKt9K-CutJG010.js","./TransferOrBridgeLoadingScreen-Dl1I_iIz-1fDAIxAf.js","./GlobeAltIcon-vqrVV5ho.js","./ScreenHeader-CHmc4-Lu-DjyrH7IK.js","./InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js","./Address-H8kD1d9O-C85sJ79B.js","./shared-FM0rljBt--Avg6q2R.js","./formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js","./ethers-zTjbodk5-wHhL_BQ1.js","./styles-Cm9H63WO-Br4QtzUL.js","./LinkPasskeyScreen-zbrl_AI_-D72Gb0LW.js","./circle-check-big-Chb1ivw9.js","./fingerprint-pattern-D8ytA16Q.js","./TodoList-DnyULl18-C8Eyy28X.js","./x-rlSp9U7W.js","./CheckCircleIcon-NCOQc0Gs.js","./useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js","./useGetSolPrice-x7gfUIHJ-D1hmQfpA.js","./analytics-mkkvFRju-BRBcadka.js","./reservoir-x-nGuZkT-BMX127i6.js","./transaction-BNTP-bFm-M5tJx8vY.js","./getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js","./AwaitingExternalEthereumTransferScreen-ur5HL4R7-7AQt25_k.js","./parseEther-VjhVo3dd.js","./transfer-6YztDh-t-BVQkTvG-.js","./AwaitingPasswordlessCodeScreen-DRHz76mM-BZY30TGs.js","./EnvelopeIcon-Dh2vSVj4.js","./PhoneIcon-CvIiPwYQ.js","./AwaitingSolToEvmBridgingScreen-CdLRrGD2-BILOOLi_.js","./SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js","./id-UqEwL2BI-BkKm533U.js","./CaptchaScreen-DbpvkIGx-D8eDcAkc.js","./circle-x-AV9Cet0R.js","./CoinbaseOnrampStatusScreen-BbyCJDXL-DLs9zX-Q.js","./toViemAccount-B5iDGq1b-Ba8L7zed.js","./dist-Cm7pNAtL.js","./ArrowsRightLeftIcon-cp60yobq.js","./CheckCircleIcon-BM409mGI.js","./ConnectLedgerScreen-DWHABGot-h0uYIUi6.js","./ConnectOnlyLandingScreen-CZYx9Bmp-LeuDMN1E.js","./ConnectOnlyStatusScreen-DCRzjxHx-DaRa59tZ.js","./ConnectionStatusScreen-fUfROm9m-BeWLchcf.js","./ConnectOrCreateScreen-CUUYUO07-crHzh-TL.js","./CustomLandingScreenView-Cm_MBSyX-CBOrbNLo.js","./mail-Bs0r5yOi.js","./smartphone-CcEZ-XAy.js","./FingerPrintIcon-Dm6kxmg7.js","./ConnectEmailForm-B-VRE0MN-N9J6T_YL.js","./farcaster-DPlSjvF5-BqTvDXBR.js","./ConnectPhoneForm-Dek5xn4C-BEA4FmhI.js","./twitch-5IOe4sIQ-lDtgk0os.js","./telegram-B-JqnkqZ-RBoY3PLx.js","./WalletOverflowButton-bfCnp-9T-CUyIJFzt.js","./ConnectionStatusScreen-fUfROm9m-wu3a3kw4.js","./CrossAppAuthScreen-CLw7ymZq-Csju14vF.js","./DelegatedActionsConsentScreen-DYF2U4y5-BL5hzNUI.js","./circle-alert-DWaeLZNj.js","./WalletInfoCard-sq_2wgFg-DpNSAGte.js","./LabelXs-oqZNqbm_-iafrj25N.js","./DelegatedActionsRevokeScreen-bPp6Uwyh-fcO51q5H.js","./DepositAddressScreen-DBLRs7aI-DmdQaFI2.js","./DepositAddressAddressStepView-4vdkb55L-B3vY888G.js","./chevron-down-BSsbXkK-.js","./hourglass-CPG1HZmf.js","./triangle-alert-CWjYH75H.js","./DepositAddressV3Screen-CDqIEMQw-BoupRyfV.js","./EmbeddedWalletConnectingScreen-D4T7DUzs-D_AVgO4s.js","./EmbeddedWalletCreatedScreen-D7WhW5ve-CLsJbPYQ.js","./EmbeddedWalletKeyExportScreen-CqV4NYQ3-C9sAExzE.js","./esm-C3DslVJx.js","./WarningBanner-ZZqCEtZK-2eU4Qo74.js","./ExclamationTriangleIcon-eZfaqcFq.js","./EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-DxaWAAKa.js","./RecoveryPasswordCreateScreen-Be-qJ-LU-C8lTSeSr.js","./SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js","./shared-DRZUmnL5-xqAUARWo.js","./Checkbox-D1EDeo41-rHlvsZzP.js","./EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-CxrfLr5q.js","./EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-DHZRGoTN.js","./ErrorScreen-DipdTWzE-DcxVjMO4.js","./ErrorScreen-DipdTWzE-c8g8En21.js","./FarcasterConnectStatusScreen-51tjUxqq-s_s5M2CZ.js","./OpenLink-CUpJ1mOr-DfAvJRyK.js","./FarcasterSignerStatusScreen-6x-Uh95G-BHBR4k8H.js","./CopyToClipboard-i_OQSBJr-DujUHNzW.js","./FiatOnrampScreen-BAhYeiTI-BH_sU6EV.js","./InfoBanner-Cb3p1z12-DLBl_Ywy.js","./SelectSourceAsset-CWFog6gm-D7yTw87h.js","./FundSolWalletWithExternalSolanaWallet-WtLwYaOl-B8TRV36j.js","./src-BBjkfi-Q.js","./getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js","./simulateTransaction-CfuOrae4-64lWYJAL.js","./FundWithBankDepositScreen-DajkHxBD-9rPtyA3d.js","./FundingEditAmountScreen-CpvpiO4M-GaXigGI9.js","./FundingMethodSelectionScreen-Db7vhRlE-UsmtTqv4.js","./ErrorBanner-BcpGRt0h-BKOYTyCi.js","./ExclamationCircleIcon-DUA2wMfO.js","./getErc20TokenInfo-BNTrzLMP-KPrdn04K.js","./index-BdEw5wyl-ChSJvPZk.js","./InAppBrowserLoginNotPossible-BMR9br1T-BY3j50El.js","./InstallWalletScreen-DTA8dwLv-CxreyXoD.js","./LandingScreen-CGWUoSUG-DK1EY-6v.js","./LinkConflictScreen-C3ZEPsgl-ClWoqvEL.js","./StackedContainer-B2vaEl56-eQCM2cmv.js","./capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js","./LinkEmailScreen-dKo9frwc-C3v7glH0.js","./LinkPasskeyScreen-zbrl_AI_-DYIl5Kr2.js","./LinkPhoneScreen-oIUpfj0w-C0DuD14j.js","./LoginFailedScreen-CN0dJV6U-DhUMiJZJ.js","./ManualTransferScreen-CHqcuqbs-tXiZDHmN.js","./useWalletBalance-CZnP5f_f-Dw2GIJ4g.js","./MfaAuthEnrollmentFlowScreen-Dj7gPTRC-CaW7xeCC.js","./EnrollTotp-Dibew4dp-SA2pvNEc.js","./PinInput-DbZ0b1i1-CDXZBdQx.js","./ShieldCheckIcon-o6RHYev1.js","./MfaAuthVerifyFlowScreen-DbFpyWMy-CeRqvx8k.js","./to-ui-error-DWe-qwS3-Cx2bk1kZ.js","./TransactionDetails-e9nesl30-C4MpIHR-.js","./WalletLink-DK5LB5Ha-DHaL350n.js","./MfaEnrollmentFlowScreen-DhLnGgnr-BkN1k4lh.js","./MoonpayStatusScreen-CzTUtokc-BRFN2eXr.js","./OAuthStatusScreen-ufbOa-da-CeiGcSia.js","./PasskeySelectSignupOrLogin-xh2ScC_l-CIf5I7wU.js","./PasskeyStatusScreen-Bla8MaOk-CLoL7QC-.js","./PasswordRecoveryScreen-awGXZkQk-B9F67IYV.js","./RecoveryOAuthStatusScreen-CsgtTI2x-D-A5P3PX.js","./styles-BsotlekN-CXEB4Ud9.js","./RecoverySelectionScreen-D1iGtpmi-P5P3plkH.js","./LockClosedIcon-BgY_5v_Z.js","./index-DvMddJcd-BatvgC-S.js","./TransactionErrorView-BDBNqA_f-p1T9WVMx.js","./JsonTree-BHzNC-ic-DcNcbSoM.js","./SetAutomaticRecoveryScreen-BO_OEqAZ-f0iDIGmw.js","./SignRequestScreen-BHKv32KR-DDpMYyJ1.js","./StandardSignAndSendTransactionScreen-CfhIXVtd-BJ-onCjv.js","./index.browser-BMmUcykv.js","./TelegramAuthScreen-UL9zLfO8-NWlMgNRX.js","./TransferFromWalletScreen-Qvn1Yuno-88IQcRnY.js","./UpdateEmailScreen-DVOhPV0H-Jj2DQW8D.js","./UpdatePhoneScreen-CXRswTNZ-DwYIUBqi.js","./UserLimitReachedScreen-5we2DHn8-D7m70C4b.js","./WalletInterstitialScreen-Sh7LfsAh-DG-RuO-F.js","./MfaVerifyFlowScreen-C_XPjMRP-CXSqLVbE.js","./client-CZG0ndth.js","./accounts-D96UKWkC.js","./baseSepolia-DX-qGsik.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{s as e,t}from"./rolldown-runtime-BcKkbAw3.js";import{t as n}from"./preload-helper-uBIymjUX.js";import{n as r,r as i}from"./esm-n2lWo7kz.js";import{C as a,E as o,F as s,J as c,V as l,W as u,a as d,bt as f,c as p,ct as m,d as h,h as g,it as _,nt as v,ot as ee,q as y,r as te,rt as b,st as ne,u as x,z as S}from"./esm-B5cbIQaz.js";import{$ as C,A as w,D as T,G as E,H as re,J as ie,K as ae,L as oe,M as D,N as se,Q as O,R as k,S as ce,Tt as le,U as ue,_ as de,a as fe,c as pe,et as me,g as he,i as A,j as ge,k as _e,l as ve,m as j,n as ye,p as be,t as xe,tt as Se}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as Ce}from"./jsx-runtime-BbDfbRii.js";import{t as we}from"./react-DrJ0MmMO.js";import{n as Te,t as Ee}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as De,o as M,s as N,t as Oe}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as ke}from"./react-DQnMl2Xv.js";import{c as Ae,f as je,i as P,n as Me,o as Ne,s as F,u as Pe}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{c as I,d as Fe,f as Ie,i as Le,l as Re,n as ze,o as Be,r as L,s as Ve,t as He,u as R}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{Bn as Ue,Cn as z,E as B,En as We,Fn as Ge,In as Ke,Jn as qe,Nn as V,Pn as Je,Qt as Ye,Rn as Xe,Vt as Ze,Xn as Qe,Xt as $e,Yt as et,Zn as tt,Zt as H,cn as nt,d as rt,dn as it,i as at,l as ot,s as U,wn as st}from"./localBatchGatewayRequest-3kLrX_c7.js";import{$ as ct,A as lt,B as W,C as ut,D as dt,F as ft,G as pt,H as mt,I as ht,J as gt,K as _t,L as vt,M as yt,N as bt,O as xt,Q as St,R as Ct,S as wt,U as Tt,V as Et,W as Dt,X as Ot,Y as kt,Z as At,a as jt,at as Mt,b as Nt,ct as Pt,d as Ft,et as It,i as Lt,it as Rt,j as zt,k as Bt,lt as Vt,m as Ht,n as Ut,nt as Wt,o as Gt,ot as Kt,q as qt,rt as Jt,st as Yt,t as Xt,tt as Zt,ut as Qt,x as $t,y as en,z as tn}from"./storage-Ufl800Ne-D0bZBw-H.js";import{a as G,c as nn,f as rn,l as an,m as on,n as sn,p as cn,t as ln,u as un}from"./use-unlink-wallet-BKK4_5Ur-CC2pq27z.js";import{S as dn,_ as fn,a as pn,f as mn,g as hn,i as gn,o as _n,s as vn,t as yn}from"./useWallets-X1ndvJ_U-DRjz7uYD.js";import{C as bn,D as xn,E as Sn,H as Cn,J as wn,K as Tn,L as En,O as Dn,S as On,T as kn,V as An,ft as jn,w as Mn,x as Nn}from"./pkce-DXF0yKjP-ChQhE0st.js";import{A as Pn,D as Fn,E as In,I as Ln,M as Rn,N as zn,O as Bn,S as Vn,T as Hn,_ as Un,a as Wn,d as Gn,f as Kn,g as qn,h as Jn,j as Yn,k as Xn,l as Zn,m as Qn,o as $n,p as er,r as K,s as tr,t as nr,v as rr,x as ir,y as ar}from"./toViemAccount-B5iDGq1b-Ba8L7zed.js";import{t as or}from"./eventemitter3-CL76jPsW.js";import{n as sr,r as cr,t as lr}from"./PrivyPluginContext-DA-yS5vO-CtQWBiV2.js";import{D as ur,a as dr,l as fr,n as pr,s as mr,y as hr}from"./use-headless-crypto-deposit-Yn-QRLB3-LUIVFBSd.js";import{t as gr}from"./lib-BsS8z8Lj.js";import{a as _r,d as vr,o as yr,t as br,u as xr}from"./guards-BIW-GiMJ-CHfXo8XI.js";import{t as Sr}from"./logger-CsXm3oIv-B0UYpNFI.js";import{l as Cr,o as wr}from"./SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js";import{n as Tr}from"./walletconnect-registry-xxG8XLCb-D1SSFvMp.js";import{i as Er,n as Dr,r as Or,t as kr}from"./id-UqEwL2BI-BkKm533U.js";import{a as Ar,d as jr,f as Mr,p as Nr,v as Pr}from"./useActiveWallet-B-yZYGc6-D7Ik-LxJ.js";import{t as Fr}from"./react-dom-5dW7aKoP.js";import{t as Ir}from"./esm-C3DslVJx.js";var Lr=class extends Qe{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}},Rr=`0x5792579257925792579257925792579257925792579257925792579257925792`,zr=V(0,{size:32});async function Br(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?tt(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?H({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?nt([n,t.dataSuffix]):n,to:t.to,value:t.value?V(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:V(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Yt(new Qe(e,{details:e}))}if(o&&d.length>1){let e="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Kt(new Qe(e,{details:e}))}let t=[];for(let n of d){try{let i=await Ct(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?Ke(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;let n=t.map(e=>e.status===`fulfilled`?e.value:zr);return{id:nt([...n,V(r.id,{size:32}),Rr])}}throw Jt(n,{...t,account:l,chain:t.chain})}}async function Vr(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Ue(it(t,-64,-32)),r=it(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>zr.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Xe(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Xe(i):void 0,receipts:a?.map(e=>({...e,blockNumber:Ke(e.blockNumber),gasUsed:Ke(e.gasUsed),status:Wt[e.status]}))??[],statusCode:l,status:c,version:o}}async function Hr(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=$e([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=U(),p,m=Tt(l,{resolve:d,reject:f},t=>{let s=mt(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await Mt(async()=>{let t=await Zt(e,Vr,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Lr(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Ur({id:n}))},s):void 0,await u}var Ur=class extends Qe{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};async function Wr(e,t){return Wr.inner(vt,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return xt(Gr(e,t))}e.call=n;async function r(t,n){return pt(t,{...Bt(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Dt(t,{...Bt(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=Qt({abi:B,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error("`Approval` event not found.");return t}e.extractEvent=a})(Wr||={});function Gr(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=zt(e,{token:i});return{abi:B,address:a,args:[r,yt(n,o)],functionName:`approve`}}var Kr=new We(128);async function qr(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:ee,...y}=t,te=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new W({docsPath:`/docs/actions/wallet/sendTransactionSync`});let b=n?tt(n):null,ne;try{at(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Pt({authorization:o[0]}).catch(()=>{throw new Qe("`to` is required. Could not infer from `authorizationList`.")})})();if(b?.type===`json-rpc`||b===null){let t;i!==null&&(t=await Zt(e,kt,`getChainId`)({}),r&&Rt({currentChainId:t,chain:i}));let ne=e.chain?.formatters?.transactionRequest?.format,x=(ne||ot)({...rt(y,{format:ne}),accessList:a,account:b,authorizationList:o,blobs:s,chainId:t,data:l?nt([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:ee},`sendTransaction`),S=Kr.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`,w=await(async()=>{try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(Kr.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Kr.set(e.uid,!1),n):r});throw n}})(),T=await Zt(e,bt,`waitForTransactionReceipt`)({checkReplacement:!1,hash:w,pollingInterval:g,timeout:te});if(_&&T.status===`reverted`)throw new Ze({receipt:T});return T}if(b?.type===`local`){let r=(()=>{if(!b.nonceManager||h!==void 0)return b.nonceManager;let e=b.nonceManager;return{consume(t){return ne={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),g=await Zt(e,qt,`prepareTransactionRequest`)({account:b,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?nt([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[..._t,`sidecars`],type:v,value:ee,...y,to:n}),te=i?.serializers?.transaction,x=await b.signTransaction(g,{serializer:te}),S=(i??e.chain)?.serializers?.transactionEnvelope,C=S?await S({serializedTransaction:x,transaction:g}):x;return await Zt(e,dt,`sendRawTransactionSync`)({serializedTransaction:C,throwOnReceiptRevert:_,timeout:t.timeout})}throw b?.type===`smart`?new Et({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Et({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:b?.type})}catch(e){throw e instanceof Et?e:(ne&&!(e instanceof Ze)&&b?.nonceManager?.reset(ne),Jt(e,{...t,account:b,chain:t.chain||void 0}))}}async function Jr(e,t){return vt.internal(e,qr,`sendTransactionSync`,t)}async function Yr(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=zt(e,{token:r}),o=lt(n,a),s=await Wr.inner(Jr,e,{...t,throwOnReceiptRevert:i}),{args:c}=Wr.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Ot(c.value,o)},receipt:s}}async function Xr(e,t){return Xr.inner(vt,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return xt(Zr(e,t))}e.call=n;async function r(t,n){return pt(t,{...Bt(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Dt(t,{...Bt(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=Qt({abi:B,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error("`Transfer` event not found.");return t}e.extractEvent=a})(Xr||={});function Zr(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=zt(e,{token:a}),c=yt(n,s);return r?{abi:B,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:B,address:o,args:[i,c],functionName:`transfer`}}async function Qr(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=zt(e,{token:r}),o=lt(n,a),s=await Xr.inner(Jr,e,{...t,throwOnReceiptRevert:i}),{args:c}=Xr.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Ot(c.value,o)},receipt:s}}async function $r(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:V(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}function ei(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=Ye({abi:n,args:r,bytecode:i});return Ct(e,{...a,...a.authorizationList?{to:null}:{},data:o})}async function ti(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>z(e))}async function ni(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?tt(n):void 0,a=r?[i?.address,[V(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function ri(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}async function ii(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new W({docsPath:`/docs/eip7702/prepareAuthorization`});let a=tt(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:tt(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await Zt(e,kt,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await Zt(e,It,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&et(o.address,a.address))&&(s.nonce+=1)),s}async function ai(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>st(e))}async function oi(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function si(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await Zt(e,Br,`sendCalls`)(t);return await Zt(e,Hr,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function ci(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}async function li(e,t){let{account:n=e.account}=t;if(!n)throw new W({docsPath:`/docs/eip7702/signAuthorization`});let r=tt(n);if(!r.signAuthorization)throw new Et({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:r.type});let i=await ii(e,t);return r.signAuthorization(i)}async function ui(e,{account:t=e.account,message:n}){if(!t)throw new W({docsPath:`/docs/actions/wallet/signMessage`});let r=tt(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Je(n):n.raw instanceof Uint8Array?Ge(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}async function di(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new W({docsPath:`/docs/actions/wallet/signTransaction`});let a=tt(n);at({account:a,...t});let o=await Zt(e,kt,`getChainId`)({});r!==null&&Rt({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||ot;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:V(o),from:a.address}]},{retryCount:0})}async function fi(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new W({docsPath:`/docs/actions/wallet/signTypedData`});let o=tt(n),s={EIP712Domain:At({domain:r}),...t.types};if(ct({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=St({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}async function pi(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:V(t)}]},{retryCount:0})}async function mi(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function hi(e){return{addChain:t=>$r(e,t),deployContract:t=>ei(e,t),fillTransaction:t=>gt(e,t),getAddresses:()=>ti(e),getCallsStatus:t=>Vr(e,t),getCapabilities:t=>ni(e,t),getChainId:()=>kt(e),getPermissions:()=>ri(e),prepareAuthorization:t=>ii(e,t),prepareTransactionRequest:t=>qt(e,t),requestAddresses:()=>ai(e),requestPermissions:t=>oi(e,t),sendCalls:t=>Br(e,t),sendCallsSync:t=>si(e,t),sendRawTransaction:t=>tn(e,t),sendRawTransactionSync:t=>dt(e,t),sendTransaction:t=>Ct(e,t),sendTransactionSync:t=>qr(e,t),showCallsStatus:t=>ci(e,t),signAuthorization:t=>li(e,t),signMessage:t=>ui(e,t),signTransaction:t=>di(e,t),signTypedData:t=>fi(e,t),switchChain:t=>pi(e,t),waitForCallsStatus:t=>Hr(e,t),watchAsset:t=>mi(e,t),writeContract:t=>vt(e,t),writeContractSync:t=>Jr(e,t),token:{approve:ft(e,Wr),approveSync:ft(e,Yr),transfer:ft(e,Xr),transferSync:ft(e,Qr)}}}function gi(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return ht({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(hi)}function _i(e){if(typeof window>`u`)return;let t=t=>e(t.detail);return window.addEventListener(`eip6963:announceProvider`,t),window.dispatchEvent(new CustomEvent(`eip6963:requestProvider`)),()=>window.removeEventListener(`eip6963:announceProvider`,t)}function vi(){let e=new Set,t=[],n=()=>_i(n=>{t.some(({info:e})=>e.uuid===n.info.uuid)||(t=[...t,n],e.forEach(e=>e(t,{added:[n]})))}),r=n();return{_listeners(){return e},clear(){e.forEach(e=>e([],{removed:[...t]})),t=[]},destroy(){this.clear(),e.clear(),r?.()},findProvider({rdns:e}){return t.find(t=>t.info.rdns===e)},getProviders(){return t},reset(){this.clear(),r?.(),r=n()},subscribe(n,{emitImmediately:r}={}){return e.add(n),r&&n(t,{added:t}),()=>e.delete(n)}}}var q=e(we(),1),yi=Object.defineProperty,bi=(e,t,n)=>t in e?yi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xi=(e,t,n)=>(bi(e,typeof t==`symbol`?t:t+``,n),n),Si=new class{constructor(){xi(this,`current`,this.detect()),xi(this,`handoffState`,`pending`),xi(this,`currentId`,0)}set(e){this.current!==e&&(this.handoffState=`pending`,this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===`server`}get isClient(){return this.current===`client`}detect(){return typeof window>`u`||typeof document>`u`?`server`:`client`}handoff(){this.handoffState===`pending`&&(this.handoffState=`complete`)}get isHandoffComplete(){return this.handoffState===`complete`}};function Ci(e){return Si.isServer?null:e==null?document:e?.ownerDocument??document}function wi(e){return Si.isServer?null:e==null?document:(e?.getRootNode)?.call(e)??document}function Ti(e){return wi(e)?.activeElement??null}function Ei(e){return Ti(e)===e}function Di(e){typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}function Oi(){let e=[],t={addEventListener(e,n,r,i){return e.addEventListener(n,r,i),t.add(()=>e.removeEventListener(n,r,i))},requestAnimationFrame(...e){let n=requestAnimationFrame(...e);return t.add(()=>cancelAnimationFrame(n))},nextFrame(...e){return t.requestAnimationFrame(()=>t.requestAnimationFrame(...e))},setTimeout(...e){let n=setTimeout(...e);return t.add(()=>clearTimeout(n))},microTask(...e){let n={current:!0};return Di(()=>{n.current&&e[0]()}),t.add(()=>{n.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(e){let t=Oi();return e(t),this.add(()=>t.dispose())},add(t){return e.includes(t)||e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t()}},dispose(){for(let t of e.splice(0))t()}};return t}function ki(){let[e]=(0,q.useState)(Oi);return(0,q.useEffect)(()=>()=>e.dispose(),[e]),e}var Ai=(e,t)=>{Si.isServer?(0,q.useEffect)(e,t):(0,q.useLayoutEffect)(e,t)};function ji(e){let t=(0,q.useRef)(e);return Ai(()=>{t.current=e},[e]),t}var J=function(e){let t=ji(e);return q.useCallback((...e)=>t.current(...e),[t])};function Mi(e){return(0,q.useMemo)(()=>e,Object.values(e))}var Ni=(0,q.createContext)(void 0);function Pi(){return(0,q.useContext)(Ni)}function Fi(...e){return Array.from(new Set(e.flatMap(e=>typeof e==`string`?e.split(` `):[]))).filter(Boolean).join(` `)}function Ii(e,t,...n){if(e in t){let r=t[e];return typeof r==`function`?r(...n):r}let r=Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(e=>`"${e}"`).join(`, `)}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ii),r}var Li=(e=>(e[e.None=0]=`None`,e[e.RenderStrategy=1]=`RenderStrategy`,e[e.Static=2]=`Static`,e))(Li||{}),Ri=(e=>(e[e.Unmount=0]=`Unmount`,e[e.Hidden=1]=`Hidden`,e))(Ri||{});function zi(){let e=Hi();return(0,q.useCallback)(t=>Bi({mergeRefs:e,...t}),[e])}function Bi({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:i,visible:a=!0,name:o,mergeRefs:s}){s??=Ui;let c=Wi(t,e);if(a)return Vi(c,n,r,o,s);let l=i??0;if(l&2){let{static:e=!1,...t}=c;if(e)return Vi(t,n,r,o,s)}if(l&1){let{unmount:e=!0,...t}=c;return Ii(+!e,{0(){return null},1(){return Vi({...t,hidden:!0,style:{display:`none`}},n,r,o,s)}})}return Vi(c,n,r,o,s)}function Vi(e,t={},n,r,i){let{as:a=n,children:o,refName:s=`ref`,...c}=Ji(e,[`unmount`,`static`]),l=e.ref===void 0?{}:{[s]:e.ref},u=typeof o==`function`?o(t):o;u=Xi(u),`className`in c&&c.className&&typeof c.className==`function`&&(c.className=c.className(t)),c[`aria-labelledby`]&&c[`aria-labelledby`]===c.id&&(c[`aria-labelledby`]=void 0);let d={};if(t){let e=!1,n=[];for(let[r,i]of Object.entries(t))typeof i==`boolean`&&(e=!0),i===!0&&n.push(r.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`));if(e){d[`data-headlessui-state`]=n.join(` `);for(let e of n)d[`data-${e}`]=``}}if(Zi(a)&&(Object.keys(qi(c)).length>0||Object.keys(qi(d)).length>0)){if(!(0,q.isValidElement)(u)||Array.isArray(u)&&u.length>1||Qi(u)){if(Object.keys(qi(c)).length>0)throw Error([`Passing props on "Fragment"!`,``,`The current component <${r} /> is rendering a "Fragment".`,`However we need to passthrough the following props:`,Object.keys(qi(c)).concat(Object.keys(qi(d))).map(e=>` - ${e}`).join(`
|
|
3
|
+
`),``,`You can apply a few solutions:`,['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',`Render a single element as the child so that we can forward the props onto that element.`].map(e=>` - ${e}`).join(`
|
|
4
|
+
`)].join(`
|
|
5
|
+
`))}else{let e=u.props?.className,t=typeof e==`function`?(...t)=>Fi(e(...t),c.className):Fi(e,c.className),n=t?{className:t}:{},r=Wi(u.props,qi(Ji(c,[`ref`])));for(let e in d)e in r&&delete d[e];return(0,q.cloneElement)(u,Object.assign({},r,d,l,{ref:i(Yi(u),l.ref)},n))}}return(0,q.createElement)(a,Object.assign({},Ji(c,[`ref`]),!Zi(a)&&l,!Zi(a)&&d),u)}function Hi(){let e=(0,q.useRef)([]),t=(0,q.useCallback)(t=>{for(let n of e.current)n!=null&&(typeof n==`function`?n(t):n.current=t)},[]);return(...n)=>{if(!n.every(e=>e==null))return e.current=n,t}}function Ui(...e){return e.every(e=>e==null)?void 0:t=>{for(let n of e)n!=null&&(typeof n==`function`?n(t):n.current=t)}}function Wi(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let e in r)e.startsWith(`on`)&&typeof r[e]==`function`?(n[e]??(n[e]=[]),n[e].push(r[e])):t[e]=r[e];if(t.disabled||t[`aria-disabled`])for(let e in n)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(e)&&(n[e]=[e=>(e?.preventDefault)?.call(e)]);for(let e in n)Object.assign(t,{[e](t,...r){let i=n[e];for(let e of i){if((t instanceof Event||t?.nativeEvent instanceof Event)&&t.defaultPrevented)return;e(t,...r)}}});return t}function Gi(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let e in r)e.startsWith(`on`)&&typeof r[e]==`function`?(n[e]??(n[e]=[]),n[e].push(r[e])):t[e]=r[e];for(let e in n)Object.assign(t,{[e](...t){let r=n[e];for(let e of r)e?.(...t)}});return t}function Ki(e){return Object.assign((0,q.forwardRef)(e),{displayName:e.displayName??e.name})}function qi(e){let t=Object.assign({},e);for(let e in t)t[e]===void 0&&delete t[e];return t}function Ji(e,t=[]){let n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}function Yi(e){return`19.3.0`.split(`.`)[0]>=`19`?e.props.ref:e.ref}function Xi(e){if(e!=null&&e.$$typeof===Symbol.for(`react.lazy`)){let t=e._payload;if(t!=null&&t.status===`fulfilled`)return Xi(t.value)}return e}function Zi(e){return e===q.Fragment||e===Symbol.for(`react.fragment`)}function Qi(e){return Zi(e.type)}var $i=`span`,ea=(e=>(e[e.None=1]=`None`,e[e.Focusable=2]=`Focusable`,e[e.Hidden=4]=`Hidden`,e))(ea||{});function ta(e,t){let{features:n=1,...r}=e,i={ref:t,"aria-hidden":(n&2)==2?!0:r[`aria-hidden`]??void 0,hidden:(n&4)==4||void 0,style:{position:`fixed`,top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`,...(n&4)==4&&(n&2)!=2&&{display:`none`}}};return zi()({ourProps:i,theirProps:r,slot:{},defaultTag:$i,name:`Hidden`})}var na=Ki(ta);function ra(e){return typeof e!=`object`||!e?!1:`nodeType`in e}function ia(e){return ra(e)&&`tagName`in e}function aa(e){return ia(e)&&`accessKey`in e}function oa(e){return ia(e)&&`tabIndex`in e}function sa(e){return ia(e)&&`style`in e}function ca(e){return aa(e)&&e.nodeName===`IFRAME`}function la(e){return aa(e)&&e.nodeName===`INPUT`}function ua(e){return aa(e)&&e.nodeName===`LABEL`}function da(e){return aa(e)&&e.nodeName===`FIELDSET`}function fa(e){return aa(e)&&e.nodeName===`LEGEND`}function pa(e){return ia(e)?e.matches(`a[href],audio[controls],button,details,embed,iframe,img[usemap],input:not([type="hidden"]),label,select,textarea,video[controls]`):!1}var ma=Symbol();function ha(e,t=!0){return Object.assign(e,{[ma]:t})}function ga(...e){let t=(0,q.useRef)(e);(0,q.useEffect)(()=>{t.current=e},[e]);let n=J(e=>{for(let n of t.current)n!=null&&(typeof n==`function`?n(e):n.current=e)});return e.every(e=>e==null||e?.[ma])?void 0:n}var _a=(0,q.createContext)(null);_a.displayName=`DescriptionContext`;function va(){let e=(0,q.useContext)(_a);if(e===null){let e=Error(`You used a <Description /> component, but it is not inside a relevant parent.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,va),e}return e}function ya(){let[e,t]=(0,q.useState)([]);return[e.length>0?e.join(` `):void 0,(0,q.useMemo)(()=>function(e){let n=J(e=>(t(t=>[...t,e]),()=>t(t=>{let n=t.slice(),r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}))),r=(0,q.useMemo)(()=>({register:n,slot:e.slot,name:e.name,props:e.props,value:e.value}),[n,e.slot,e.name,e.props,e.value]);return q.createElement(_a.Provider,{value:r},e.children)},[t])]}var ba=`p`;function xa(e,t){let n=(0,q.useId)(),r=Pi(),{id:i=`headlessui-description-${n}`,...a}=e,o=va(),s=ga(t);Ai(()=>o.register(i),[i,o.register]);let c=Mi({...o.slot,disabled:r||!1}),l={ref:s,...o.props,id:i};return zi()({ourProps:l,theirProps:a,slot:c,defaultTag:ba,name:o.name||`Description`})}var Sa=Ki(xa),Ca=Object.assign(Sa,{}),wa=(e=>(e.Space=` `,e.Enter=`Enter`,e.Escape=`Escape`,e.Backspace=`Backspace`,e.Delete=`Delete`,e.ArrowLeft=`ArrowLeft`,e.ArrowUp=`ArrowUp`,e.ArrowRight=`ArrowRight`,e.ArrowDown=`ArrowDown`,e.Home=`Home`,e.End=`End`,e.PageUp=`PageUp`,e.PageDown=`PageDown`,e.Tab=`Tab`,e))(wa||{}),Ta=(0,q.createContext)(()=>{});function Ea({value:e,children:t}){return q.createElement(Ta.Provider,{value:e},t)}var Da=class extends Map{constructor(e){super(),this.factory=e}get(e){let t=super.get(e);return t===void 0&&(t=this.factory(e),this.set(e,t)),t}},Oa=Object.defineProperty,ka=(e,t,n)=>t in e?Oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Aa=(e,t,n)=>(ka(e,typeof t==`symbol`?t:t+``,n),n),ja=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},Ma=(e,t,n)=>(ja(e,t,`read from private field`),n?n.call(e):t.get(e)),Na=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},Pa=(e,t,n,r)=>(ja(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),Fa,Ia,La,Ra=class{constructor(e){Na(this,Fa,{}),Na(this,Ia,new Da(()=>new Set)),Na(this,La,new Set),Aa(this,`disposables`,Oi()),Pa(this,Fa,e),Si.isServer&&this.disposables.microTask(()=>{this.dispose()})}dispose(){this.disposables.dispose()}get state(){return Ma(this,Fa)}subscribe(e,t){if(Si.isServer)return()=>{};let n={selector:e,callback:t,current:e(Ma(this,Fa))};return Ma(this,La).add(n),this.disposables.add(()=>{Ma(this,La).delete(n)})}on(e,t){return Si.isServer?()=>{}:(Ma(this,Ia).get(e).add(t),this.disposables.add(()=>{Ma(this,Ia).get(e).delete(t)}))}send(e){let t=this.reduce(Ma(this,Fa),e);if(t!==Ma(this,Fa)){Pa(this,Fa,t);for(let e of Ma(this,La)){let t=e.selector(Ma(this,Fa));za(e.current,t)||(e.current=t,e.callback(t))}for(let t of Ma(this,Ia).get(e.type))t(Ma(this,Fa),e)}}};Fa=new WeakMap,Ia=new WeakMap,La=new WeakMap;function za(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t?!1:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&Ba(e[Symbol.iterator](),t[Symbol.iterator]()):e instanceof Map&&t instanceof Map||e instanceof Set&&t instanceof Set?e.size===t.size&&Ba(e.entries(),t.entries()):Va(e)&&Va(t)?Ba(Object.entries(e)[Symbol.iterator](),Object.entries(t)[Symbol.iterator]()):!1}function Ba(e,t){do{let n=e.next(),r=t.next();if(n.done&&r.done)return!0;if(n.done||r.done||!Object.is(n.value,r.value))return!1}while(1)}function Va(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}function Ha(e){let[t,n]=e(),r=Oi();return(...e)=>{t(...e),r.dispose(),r.microTask(n)}}var Ua=Object.defineProperty,Wa=(e,t,n)=>t in e?Ua(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ga=(e,t,n)=>(Wa(e,typeof t==`symbol`?t:t+``,n),n),Ka=(e=>(e[e.Push=0]=`Push`,e[e.Pop=1]=`Pop`,e))(Ka||{}),qa={0(e,t){let n=t.id,r=e.stack,i=e.stack.indexOf(n);if(i!==-1){let t=e.stack.slice();return t.splice(i,1),t.push(n),r=t,{...e,stack:r}}return{...e,stack:[...e.stack,n]}},1(e,t){let n=t.id,r=e.stack.indexOf(n);if(r===-1)return e;let i=e.stack.slice();return i.splice(r,1),{...e,stack:i}}},Ja=class e extends Ra{constructor(){super(...arguments),Ga(this,`actions`,{push:e=>this.send({type:0,id:e}),pop:e=>this.send({type:1,id:e})}),Ga(this,`selectors`,{isTop:(e,t)=>e.stack[e.stack.length-1]===t,inStack:(e,t)=>e.stack.includes(t)})}static new(){return new e({stack:[]})}reduce(e,t){return Ii(t.type,qa,e,t)}},Ya=new Da(()=>Ja.new()),Xa=t((e=>{var t=we();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useSyncExternalStore,a=t.useRef,o=t.useEffect,s=t.useMemo,c=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,l,u){var d=a(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!i){if(i=!0,a=e,e=l(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return o=t}return o=e}if(t=o,r(a,e))return t;var n=l(e);return u!==void 0&&u(t,n)?(a=e,t):(a=e,o=n)}var i=!1,a,o,s=n===void 0?null:n;return[function(){return e(t())},s===null?void 0:function(){return e(s())}]},[t,n,l,u]);var p=i(e,d[0],d[1]);return o(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}})),Za=t(((e,t)=>{t.exports=Xa()}))();function Qa(e,t,n=za){return(0,Za.useSyncExternalStoreWithSelector)(J(t=>e.subscribe($a,t)),J(()=>e.state),J(()=>e.state),J(t),n)}function $a(e){return e}function eo(e,t){let n=(0,q.useId)(),r=Ya.get(t),[i,a]=Qa(r,(0,q.useCallback)(e=>[r.selectors.isTop(e,n),r.selectors.inStack(e,n)],[r,n]));return Ai(()=>{if(e)return r.actions.push(n),()=>r.actions.pop(n)},[r,e,n]),e?!a||i:!1}var to=new Map,no=new Map;function ro(e){let t=no.get(e)??0;return no.set(e,t+1),t===0?(to.set(e,{"aria-hidden":e.getAttribute(`aria-hidden`),inert:e.inert}),e.setAttribute(`aria-hidden`,`true`),e.inert=!0,()=>io(e)):()=>io(e)}function io(e){let t=no.get(e)??1;if(t===1?no.delete(e):no.set(e,t-1),t!==1)return;let n=to.get(e);n&&(n[`aria-hidden`]===null?e.removeAttribute(`aria-hidden`):e.setAttribute(`aria-hidden`,n[`aria-hidden`]),e.inert=n.inert,to.delete(e))}function ao(e,{allowed:t,disallowed:n}={}){let r=eo(e,`inert-others`);Ai(()=>{if(!r)return;let e=Oi();for(let t of n?.()??[])t&&e.add(ro(t));let i=t?.()??[];for(let t of i){if(!t)continue;let n=Ci(t);if(!n)continue;let r=t.parentElement;for(;r&&r!==n.body;){for(let t of r.children)i.some(e=>t.contains(e))||e.add(ro(t));r=r.parentElement}}return e.dispose},[r,t,n])}function oo(e,t,n){let r=ji(e=>{let t=e.getBoundingClientRect();t.x===0&&t.y===0&&t.width===0&&t.height===0&&n()});(0,q.useEffect)(()=>{if(!e)return;let n=t===null?null:aa(t)?t:t.current;if(!n)return;let i=Oi();if(typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>r.current(n));e.observe(n),i.add(()=>e.disconnect())}if(typeof IntersectionObserver<`u`){let e=new IntersectionObserver(()=>r.current(n));e.observe(n),i.add(()=>e.disconnect())}return()=>i.dispose()},[t,r,e])}var so=[`[contentEditable=true]`,`[tabindex]`,`a[href]`,`area[href]`,`button:not([disabled])`,`iframe`,`input:not([disabled])`,`select:not([disabled])`,`details>summary`,`textarea:not([disabled])`].map(e=>`${e}:not([tabindex='-1'])`).join(`,`),co=[`[data-autofocus]`].map(e=>`${e}:not([tabindex='-1'])`).join(`,`),lo=(e=>(e[e.First=1]=`First`,e[e.Previous=2]=`Previous`,e[e.Next=4]=`Next`,e[e.Last=8]=`Last`,e[e.WrapAround=16]=`WrapAround`,e[e.NoScroll=32]=`NoScroll`,e[e.AutoFocus=64]=`AutoFocus`,e))(lo||{}),uo=(e=>(e[e.Error=0]=`Error`,e[e.Overflow=1]=`Overflow`,e[e.Success=2]=`Success`,e[e.Underflow=3]=`Underflow`,e))(uo||{}),fo=(e=>(e[e.Previous=-1]=`Previous`,e[e.Next=1]=`Next`,e))(fo||{});function po(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(so)).sort((e,t)=>Math.sign((e.tabIndex||2**53-1)-(t.tabIndex||2**53-1)))}function mo(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(co)).sort((e,t)=>Math.sign((e.tabIndex||2**53-1)-(t.tabIndex||2**53-1)))}var ho=(e=>(e[e.Strict=0]=`Strict`,e[e.Loose=1]=`Loose`,e))(ho||{});function go(e,t=0){return e!==Ci(e)?.body&&Ii(t,{0(){return e.matches(so)},1(){let t=e;for(;t!==null;){if(t.matches(so))return!0;t=t.parentElement}return!1}})}function _o(e){Oi().nextFrame(()=>{let t=Ti(e);t&&oa(t)&&!go(t,0)&&yo(e)})}var vo=(e=>(e[e.Keyboard=0]=`Keyboard`,e[e.Mouse=1]=`Mouse`,e))(vo||{});typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`keydown`,e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=``)},!0),document.addEventListener(`click`,e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=``)},!0));function yo(e){e?.focus({preventScroll:!0})}var bo=[`textarea`,`input`].join(`,`);function xo(e){return(e?.matches)?.call(e,bo)??!1}function So(e,t=e=>e){return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(r===null||i===null)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Co(e,t,n=e===null?document.body:wi(e)){return wo(po(n),t,{relativeTo:e})}function wo(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:i=[]}={}){let a=Array.isArray(e)?e.length>0?wi(e[0]):document:wi(e),o=Array.isArray(e)?n?So(e):e:t&64?mo(e):po(e);i.length>0&&o.length>1&&(o=o.filter(e=>!i.some(t=>t!=null&&`current`in t?t?.current===e:t===e))),r??=a?.activeElement;let s=(()=>{if(t&5)return 1;if(t&10)return-1;throw Error(`Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last`)})(),c=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,o.indexOf(r))-1;if(t&4)return Math.max(0,o.indexOf(r))+1;if(t&8)return o.length-1;throw Error(`Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last`)})(),l=t&32?{preventScroll:!0}:{},u=0,d=o.length,f;do{if(u>=d||u+d<=0)return 0;let e=c+u;if(t&16)e=(e+d)%d;else{if(e<0)return 3;if(e>=d)return 1}f=o[e],f?.focus(l),u+=s}while(f!==Ti(f));return t&6&&xo(f)&&f.select(),2}function To(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Eo(){return/Android/gi.test(window.navigator.userAgent)}function Do(){return To()||Eo()}function Oo(e,t,n,r){let i=ji(n);(0,q.useEffect)(()=>{if(!e)return;function n(e){i.current(e)}return document.addEventListener(t,n,r),()=>document.removeEventListener(t,n,r)},[e,t,r])}function ko(e,t,n,r){let i=ji(n);(0,q.useEffect)(()=>{if(!e)return;function n(e){i.current(e)}return window.addEventListener(t,n,r),()=>window.removeEventListener(t,n,r)},[e,t,r])}var Ao=30;function jo(e,t,n){let r=ji(n),i=(0,q.useCallback)(function(e,n){if(e.defaultPrevented)return;let i=n(e);if(i===null||!i.getRootNode().contains(i)||!i.isConnected)return;let a=function e(t){return typeof t==`function`?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(t);for(let t of a)if(t!==null&&(t.contains(i)||e.composed&&e.composedPath().includes(t)))return;return!go(i,ho.Loose)&&i.tabIndex!==-1&&e.preventDefault(),r.current(e,i)},[r,t]),a=(0,q.useRef)(null);Oo(e,`pointerdown`,e=>{Do()||(a.current=e.composedPath?.call(e)?.[0]||e.target)},!0),Oo(e,`pointerup`,e=>{if(Do()||!a.current)return;let t=a.current;return a.current=null,i(e,()=>t)},!0);let o=(0,q.useRef)({x:0,y:0});Oo(e,`touchstart`,e=>{o.current.x=e.touches[0].clientX,o.current.y=e.touches[0].clientY},!0),Oo(e,`touchend`,e=>{let t={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY};if(!(Math.abs(t.x-o.current.x)>=Ao||Math.abs(t.y-o.current.y)>=Ao))return i(e,()=>oa(e.target)?e.target:null)},!0),ko(e,`blur`,e=>i(e,()=>ca(window.document.activeElement)?window.document.activeElement:null),!0)}function Mo(...e){return(0,q.useMemo)(()=>Ci(...e),[...e])}function No(e,t,n,r){let i=ji(n);(0,q.useEffect)(()=>{e??=window;function n(e){i.current(e)}return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)},[e,t,r])}function Po(e){return(0,q.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}function Fo(e,t){let n=e(),r=new Set;return{getSnapshot(){return n},subscribe(e){return r.add(e),()=>r.delete(e)},dispatch(e,...i){let a=t[e].call(n,...i);a&&(n=a,r.forEach(e=>e()))}}}function Io(){let e;return{before({doc:t}){let n=t.documentElement,r=t.defaultView??window;e=Math.max(0,r.innerWidth-n.clientWidth)},after({doc:t,d:n}){let r=t.documentElement,i=Math.max(0,r.clientWidth-r.offsetWidth),a=Math.max(0,e-i);n.style(r,`paddingRight`,`${a}px`)}}}function Lo(){return To()?{before({doc:e,d:t,meta:n}){function r(e){for(let t of n().containers)for(let n of t())if(n.contains(e))return!0;return!1}t.microTask(()=>{if(window.getComputedStyle(e.documentElement).scrollBehavior!==`auto`){let n=Oi();n.style(e.documentElement,`scrollBehavior`,`auto`),t.add(()=>t.microTask(()=>n.dispose()))}let n=window.scrollY??window.pageYOffset,i=null;t.addEventListener(e,`click`,t=>{if(oa(t.target))try{let n=t.target.closest(`a`);if(!n)return;let{hash:a}=new URL(n.href),o=e.querySelector(a);oa(o)&&!r(o)&&(i=o)}catch{}},!0),t.group(n=>{t.addEventListener(e,`touchstart`,e=>{if(n.dispose(),oa(e.target)&&sa(e.target)){if(r(e.target)){let t=e.target;for(;t.parentElement&&r(t.parentElement);)t=t.parentElement;n.style(t,`overscrollBehavior`,`contain`)}else n.style(e.target,`touchAction`,`none`)}})}),t.addEventListener(e,`touchmove`,e=>{if(oa(e.target)){if(la(e.target))return;if(r(e.target)){let t=e.target;for(;t.parentElement&&t.dataset.headlessuiPortal!==``&&!(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)t=t.parentElement;t.dataset.headlessuiPortal===``&&e.preventDefault()}else e.preventDefault()}},{passive:!1}),t.add(()=>{let e=window.scrollY??window.pageYOffset;n!==e&&window.scrollTo(0,n),i&&i.isConnected&&(i.scrollIntoView({block:`nearest`}),i=null)})})}}:{}}function Ro(){return{before({doc:e,d:t}){t.style(e.documentElement,`overflow`,`hidden`)}}}function zo(e){let t={};for(let n of e)Object.assign(t,n(t));return t}var Bo=Fo(()=>new Map,{PUSH(e,t){let n=this.get(e)??{doc:e,count:0,d:Oi(),meta:new Set,computedMeta:{}};return n.count++,n.meta.add(t),n.computedMeta=zo(n.meta),this.set(e,n),this},POP(e,t){let n=this.get(e);return n&&(n.count--,n.meta.delete(t),n.computedMeta=zo(n.meta)),this},SCROLL_PREVENT(e){let t={doc:e.doc,d:e.d,meta(){return e.computedMeta}},n=[Lo(),Io(),Ro()];n.forEach(({before:e})=>e?.(t)),n.forEach(({after:e})=>e?.(t))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});Bo.subscribe(()=>{let e=Bo.getSnapshot(),t=new Map;for(let[n]of e)t.set(n,n.documentElement.style.overflow);for(let n of e.values()){let e=t.get(n.doc)===`hidden`,r=n.count!==0;(r&&!e||!r&&e)&&Bo.dispatch(n.count>0?`SCROLL_PREVENT`:`SCROLL_ALLOW`,n),n.count===0&&Bo.dispatch(`TEARDOWN`,n)}});function Vo(e,t,n=()=>({containers:[]})){let r=Po(Bo),i=t?r.get(t):void 0,a=i?i.count>0:!1;return Ai(()=>{if(t&&e)return Bo.dispatch(`PUSH`,t,n),()=>Bo.dispatch(`POP`,t,n)},[e,t]),a}function Ho(e,t,n=()=>[document.body]){Vo(eo(e,`scroll-lock`),t,e=>({containers:[...e.containers??[],n]}))}var Uo=e(Fr(),1);function Wo(e=0){let[t,n]=(0,q.useState)(e);return{flags:t,setFlag:(0,q.useCallback)(e=>n(e),[]),addFlag:(0,q.useCallback)(e=>n(t=>t|e),[]),hasFlag:(0,q.useCallback)(e=>(t&e)===e,[t]),removeFlag:(0,q.useCallback)(e=>n(t=>t&~e),[]),toggleFlag:(0,q.useCallback)(e=>n(t=>t^e),[])}}typeof process<`u`&&typeof globalThis<`u`&&typeof Element<`u`&&(process==null?void 0:{})?.NODE_ENV===`test`&&(Element==null?void 0:Element.prototype)?.getAnimations===void 0&&(Element.prototype.getAnimations=function(){return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.","Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.",``,`Example usage:`,"```js",`import { mockAnimationsApi } from 'jsdom-testing-mocks'`,`mockAnimationsApi()`,"```"].join(`
|
|
6
|
+
`)),[]});var Go=(e=>(e[e.None=0]=`None`,e[e.Closed=1]=`Closed`,e[e.Enter=2]=`Enter`,e[e.Leave=4]=`Leave`,e))(Go||{});function Ko(e){let t={};for(let n in e)e[n]===!0&&(t[`data-${n}`]=``);return t}function qo(e,t,n,r){let[i,a]=(0,q.useState)(n),{hasFlag:o,addFlag:s,removeFlag:c}=Wo(e&&i?3:0),l=(0,q.useRef)(!1),u=(0,q.useRef)(!1);return Ai(()=>{var i;if(e){if(n&&a(!0),!t){n&&s(3);return}return(i=r?.start)==null||i.call(r,n),Jo(t,{inFlight:l,prepare(){u.current?u.current=!1:u.current=l.current,l.current=!0,!u.current&&(n?(s(3),c(4)):(s(4),c(2)))},run(){u.current?n?(c(3),s(4)):(c(4),s(3)):n?c(1):s(1)},done(){var e;u.current&&Zo(t)||(l.current=!1,c(7),n||a(!1),(e=r?.end)==null||e.call(r,n))}})}},[e,n,t,ki()]),e?[i,{closed:o(1),enter:o(2),leave:o(4),transition:o(2)||o(4)}]:[n,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function Jo(e,{prepare:t,run:n,done:r,inFlight:i}){let a=Oi();return Xo(e,{prepare:t,inFlight:i}),a.nextFrame(()=>{n(),a.requestAnimationFrame(()=>{a.add(Yo(e,r))})}),a.dispose}function Yo(e,t){let n=Oi();if(!e)return n.dispose;let r=!1;n.add(()=>{r=!0});let i=e.getAnimations?.call(e).filter(e=>e instanceof CSSTransition)??[];return i.length===0?(t(),n.dispose):(Promise.allSettled(i.map(e=>e.finished)).then(()=>{r||t()}),n.dispose)}function Xo(e,{inFlight:t,prepare:n}){if(t!=null&&t.current){n();return}let r=e.style.transition;e.style.transition=`none`,n(),e.offsetHeight,e.style.transition=r}function Zo(e){return(e.getAnimations?.call(e)??[]).some(e=>e instanceof CSSTransition&&e.playState!==`finished`)}function Qo(e,t){let n=(0,q.useRef)([]),r=J(e);(0,q.useEffect)(()=>{let e=[...n.current];for(let[i,a]of t.entries())if(n.current[i]!==a){let i=r(t,e);return n.current=t,i}},[r,...t])}var $o=(0,q.createContext)(null);$o.displayName=`OpenClosedContext`;var es=(e=>(e[e.Open=1]=`Open`,e[e.Closed=2]=`Closed`,e[e.Closing=4]=`Closing`,e[e.Opening=8]=`Opening`,e))(es||{});function ts(){return(0,q.useContext)($o)}function ns({value:e,children:t}){return q.createElement($o.Provider,{value:e},t)}function rs({children:e}){return q.createElement($o.Provider,{value:null},e)}function is(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var as=[];is(()=>{function e(e){if(!oa(e.target)||e.target===document.body||as[0]===e.target)return;let t=e.target;t=t.closest(so),as.unshift(t??e.target),as=as.filter(e=>e!=null&&e.isConnected),as.splice(10)}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function os(e){let t=J(e),n=(0,q.useRef)(!1);(0,q.useEffect)(()=>(n.current=!1,()=>{n.current=!0,Di(()=>{n.current&&t()})}),[t])}function ss(){let e=typeof document>`u`;return`useSyncExternalStore`in q&&(e=>e.useSyncExternalStore)(q)(()=>()=>{},()=>!1,()=>!e)}function cs(){let e=ss(),[t,n]=q.useState(Si.isHandoffComplete);return t&&Si.isHandoffComplete===!1&&n(!1),q.useEffect(()=>{t!==!0&&n(!0)},[t]),q.useEffect(()=>Si.handoff(),[]),!e&&t}var ls=(0,q.createContext)(!1);function us(){return(0,q.useContext)(ls)}function ds(e){return q.createElement(ls.Provider,{value:e.force},e.children)}function fs(e){let t=us(),n=(0,q.useContext)(_s),[r,i]=(0,q.useState)(()=>{if(!t&&n!==null)return n.current??null;if(Si.isServer)return null;let r=e?.getElementById(`headlessui-portal-root`);if(r)return r;if(e===null)return null;let i=e.createElement(`div`);return i.setAttribute(`id`,`headlessui-portal-root`),e.body.appendChild(i)});return(0,q.useEffect)(()=>{r!==null&&(e!=null&&e.body.contains(r)||e==null||e.body.appendChild(r))},[r,e]),(0,q.useEffect)(()=>{t||n!==null&&i(n.current)},[n,i,t]),r}var ps=q.Fragment,ms=Ki(function(e,t){let{ownerDocument:n=null,...r}=e,i=(0,q.useRef)(null),a=ga(ha(e=>{i.current=e}),t),o=Mo(i.current),s=fs(n??o),c=(0,q.useContext)(ys),l=ki(),u=cs(),d=zi();return os(()=>{var e;s&&s.childNodes.length<=0&&((e=s.parentElement)==null||e.removeChild(s))}),!s||!u?null:(0,Uo.createPortal)(q.createElement(`div`,{"data-headlessui-portal":``,ref:e=>{l.dispose(),c&&e&&l.add(c.register(e))}},d({ourProps:{ref:a},theirProps:r,slot:{},defaultTag:ps,name:`Portal`})),s)});function hs(e,t){let n=ga(t),{enabled:r=!0,ownerDocument:i,...a}=e,o=zi();return r?q.createElement(ms,{...a,ownerDocument:i,ref:n}):o({ourProps:{ref:n},theirProps:a,slot:{},defaultTag:ps,name:`Portal`})}var gs=q.Fragment,_s=(0,q.createContext)(null);function vs(e,t){let{target:n,...r}=e,i={ref:ga(t)},a=zi();return q.createElement(_s.Provider,{value:n},a({ourProps:i,theirProps:r,defaultTag:gs,name:`Popover.Group`}))}var ys=(0,q.createContext)(null);function bs(){let e=(0,q.useContext)(ys),t=(0,q.useRef)([]),n=J(n=>(t.current.push(n),e&&e.register(n),()=>r(n))),r=J(n=>{let r=t.current.indexOf(n);r!==-1&&t.current.splice(r,1),e&&e.unregister(n)}),i=(0,q.useMemo)(()=>({register:n,unregister:r,portals:t}),[n,r,t]);return[t,(0,q.useMemo)(()=>function({children:e}){return q.createElement(ys.Provider,{value:i},e)},[i])]}var xs=Ki(hs),Ss=Ki(vs),Cs=Object.assign(xs,{Group:Ss});function ws(e,t=typeof document<`u`?document.defaultView:null,n){let r=eo(e,`escape`);No(t,`keydown`,e=>{r&&(e.defaultPrevented||e.key===wa.Escape&&n(e))})}function Ts(){let[e]=(0,q.useState)(()=>typeof window<`u`&&typeof window.matchMedia==`function`?window.matchMedia(`(pointer: coarse)`):null),[t,n]=(0,q.useState)(e?.matches??!1);return Ai(()=>{if(!e)return;function t(e){n(e.matches)}return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[e]),t}function Es({defaultContainers:e=[],portals:t,mainTreeNode:n}={}){let r=J(()=>{let r=Ci(n),i=[];for(let t of e)t!==null&&(ia(t)?i.push(t):`current`in t&&ia(t.current)&&i.push(t.current));if(t!=null&&t.current)for(let e of t.current)i.push(e);for(let e of r?.querySelectorAll(`html > *, body > *`)??[])e!==document.body&&e!==document.head&&ia(e)&&e.id!==`headlessui-portal-root`&&(n&&(e.contains(n)||e.contains(n?.getRootNode()?.host))||i.some(t=>e.contains(t))||i.push(e));return i});return{resolveContainers:r,contains:J(e=>r().some(t=>t.contains(e)))}}var Ds=(0,q.createContext)(null);function Os({children:e,node:t}){let[n,r]=(0,q.useState)(null),i=ks(t??n);return q.createElement(Ds.Provider,{value:i},e,i===null&&q.createElement(na,{features:ea.Hidden,ref:e=>{if(e){for(let t of Ci(e)?.querySelectorAll(`html > *, body > *`)??[])if(t!==document.body&&t!==document.head&&ia(t)&&t!=null&&t.contains(e)){r(t);break}}}}))}function ks(e=null){return(0,q.useContext)(Ds)??e}function As(){let e=(0,q.useRef)(!1);return Ai(()=>(e.current=!0,()=>{e.current=!1}),[]),e}var js=(e=>(e[e.Forwards=0]=`Forwards`,e[e.Backwards=1]=`Backwards`,e))(js||{});function Ms(){let e=(0,q.useRef)(0);return ko(!0,`keydown`,t=>{t.key===`Tab`&&(e.current=+!!t.shiftKey)},!0),e}function Ns(e){if(!e)return new Set;if(typeof e==`function`)return new Set(e());let t=new Set;for(let n of e.current)ia(n.current)&&t.add(n.current);return t}var Ps=`div`,Fs=(e=>(e[e.None=0]=`None`,e[e.InitialFocus=1]=`InitialFocus`,e[e.TabLock=2]=`TabLock`,e[e.FocusLock=4]=`FocusLock`,e[e.RestoreFocus=8]=`RestoreFocus`,e[e.AutoFocus=16]=`AutoFocus`,e))(Fs||{});function Is(e,t){let n=(0,q.useRef)(null),r=ga(n,t),{initialFocus:i,initialFocusFallback:a,containers:o,features:s=15,...c}=e;cs()||(s=0);let l=Mo(n.current);Bs(s,{ownerDocument:l});let u=Vs(s,{ownerDocument:l,container:n,initialFocus:i,initialFocusFallback:a});Hs(s,{ownerDocument:l,container:n,containers:o,previousActiveElement:u});let d=Ms(),f=J(e=>{if(!aa(n.current))return;let t=n.current;(e=>e())(()=>{Ii(d.current,{[js.Forwards]:()=>{wo(t,lo.First,{skipElements:[e.relatedTarget,a]})},[js.Backwards]:()=>{wo(t,lo.Last,{skipElements:[e.relatedTarget,a]})}})})}),p=eo(!!(s&2),`focus-trap#tab-lock`),m=ki(),h=(0,q.useRef)(!1),g={ref:r,onKeyDown(e){e.key==`Tab`&&(h.current=!0,m.requestAnimationFrame(()=>{h.current=!1}))},onBlur(e){if(!(s&4))return;let t=Ns(o);aa(n.current)&&t.add(n.current);let r=e.relatedTarget;oa(r)&&r.dataset.headlessuiFocusGuard!==`true`&&(Us(t,r)||(h.current?wo(n.current,Ii(d.current,{[js.Forwards]:()=>lo.Next,[js.Backwards]:()=>lo.Previous})|lo.WrapAround,{relativeTo:e.target}):oa(e.target)&&yo(e.target)))}},_=zi();return q.createElement(q.Fragment,null,p&&q.createElement(na,{as:`button`,type:`button`,"data-headlessui-focus-guard":!0,onFocus:f,features:ea.Focusable}),_({ourProps:g,theirProps:c,defaultTag:Ps,name:`FocusTrap`}),p&&q.createElement(na,{as:`button`,type:`button`,"data-headlessui-focus-guard":!0,onFocus:f,features:ea.Focusable}))}var Ls=Ki(Is),Rs=Object.assign(Ls,{features:Fs});function zs(e=!0){let t=(0,q.useRef)(as.slice());return Qo(([e],[n])=>{n===!0&&e===!1&&Di(()=>{t.current.splice(0)}),n===!1&&e===!0&&(t.current=as.slice())},[e,as,t]),J(()=>t.current.find(e=>e!=null&&e.isConnected)??null)}function Bs(e,{ownerDocument:t}){let n=!!(e&8),r=zs(n);Qo(()=>{n||Ei(t?.body)&&yo(r())},[n]),os(()=>{n&&yo(r())})}function Vs(e,{ownerDocument:t,container:n,initialFocus:r,initialFocusFallback:i}){let a=(0,q.useRef)(null),o=eo(!!(e&1),`focus-trap#initial-focus`),s=As();return Qo(()=>{if(e===0)return;if(!o){i!=null&&i.current&&yo(i.current);return}let c=n.current;c&&Di(()=>{if(!s.current)return;let n=t?.activeElement;if(r!=null&&r.current){if(r?.current===n){a.current=n;return}}else if(c.contains(n)){a.current=n;return}if(r!=null&&r.current)yo(r.current);else{if(e&16){if(wo(c,lo.First|lo.AutoFocus)!==uo.Error)return}else if(wo(c,lo.First)!==uo.Error)return;if(i!=null&&i.current&&(yo(i.current),t?.activeElement===i.current))return;console.warn(`There are no focusable elements inside the <FocusTrap />`)}a.current=t?.activeElement})},[i,o,e]),a}function Hs(e,{ownerDocument:t,container:n,containers:r,previousActiveElement:i}){let a=As(),o=!!(e&4);No(t?.defaultView,`focus`,e=>{if(!o||!a.current)return;let t=Ns(r);aa(n.current)&&t.add(n.current);let s=i.current;if(!s)return;let c=e.target;aa(c)?Us(t,c)?(i.current=c,yo(c)):(e.preventDefault(),e.stopPropagation(),yo(s)):yo(i.current)},!0)}function Us(e,t){for(let n of e)if(n.contains(t))return!0;return!1}function Ws(e){return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||!Zi(e.as??Qs)||q.Children.count(e.children)===1}var Gs=(0,q.createContext)(null);Gs.displayName=`TransitionContext`;var Ks=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(Ks||{});function qs(){let e=(0,q.useContext)(Gs);if(e===null)throw Error(`A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.`);return e}function Js(){let e=(0,q.useContext)(Ys);if(e===null)throw Error(`A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.`);return e}var Ys=(0,q.createContext)(null);Ys.displayName=`NestingContext`;function Xs(e){return`children`in e?Xs(e.children):e.current.filter(({el:e})=>e.current!==null).filter(({state:e})=>e===`visible`).length>0}function Zs(e,t){let n=ji(e),r=(0,q.useRef)([]),i=As(),a=ki(),o=J((e,t=Ri.Hidden)=>{let o=r.current.findIndex(({el:t})=>t===e);o!==-1&&(Ii(t,{[Ri.Unmount](){r.current.splice(o,1)},[Ri.Hidden](){r.current[o].state=`hidden`}}),a.microTask(()=>{var e;!Xs(r)&&i.current&&((e=n.current)==null||e.call(n))}))}),s=J(e=>{let t=r.current.find(({el:t})=>t===e);return t?t.state!==`visible`&&(t.state=`visible`):r.current.push({el:e,state:`visible`}),()=>o(e,Ri.Unmount)}),c=(0,q.useRef)([]),l=(0,q.useRef)(Promise.resolve()),u=(0,q.useRef)({enter:[],leave:[]}),d=J((e,n,r)=>{c.current.splice(0),t&&(t.chains.current[n]=t.chains.current[n].filter(([t])=>t!==e)),t?.chains.current[n].push([e,new Promise(e=>{c.current.push(e)})]),t?.chains.current[n].push([e,new Promise(e=>{Promise.all(u.current[n].map(([e,t])=>t)).then(()=>e())})]),n===`enter`?l.current=l.current.then(()=>t?.wait.current).then(()=>r(n)):r(n)}),f=J((e,t,n)=>{Promise.all(u.current[t].splice(0).map(([e,t])=>t)).then(()=>{var e;(e=c.current.shift())==null||e()}).then(()=>n(t))});return(0,q.useMemo)(()=>({children:r,register:s,unregister:o,onStart:d,onStop:f,wait:l,chains:u}),[s,o,r,d,f,u,l])}var Qs=q.Fragment,$s=Li.RenderStrategy;function ec(e,t){var n;let{transition:r=!0,beforeEnter:i,afterEnter:a,beforeLeave:o,afterLeave:s,enter:c,enterFrom:l,enterTo:u,entered:d,leave:f,leaveFrom:p,leaveTo:m,...h}=e,[g,_]=(0,q.useState)(null),v=(0,q.useRef)(null),ee=Ws(e),y=ga(...ee?[v,t,_]:t===null?[]:[t]),te=(n=h.unmount)==null||n?Ri.Unmount:Ri.Hidden,{show:b,appear:ne,initial:x}=qs(),[S,C]=(0,q.useState)(b?`visible`:`hidden`),w=Js(),{register:T,unregister:E}=w;Ai(()=>T(v),[T,v]),Ai(()=>{if(te===Ri.Hidden&&v.current){if(b&&S!==`visible`){C(`visible`);return}return Ii(S,{hidden:()=>E(v),visible:()=>T(v)})}},[S,v,T,E,b,te]);let re=cs();Ai(()=>{if(ee&&re&&S===`visible`&&v.current===null)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[v,S,re,ee]);let ie=x&&!ne,ae=ne&&b&&x,oe=(0,q.useRef)(!1),D=Zs(()=>{oe.current||(C(`hidden`),E(v))},w),se=J(e=>{oe.current=!0;let t=e?`enter`:`leave`;D.onStart(v,t,e=>{e===`enter`?i?.():e===`leave`&&o?.()})}),O=J(e=>{let t=e?`enter`:`leave`;oe.current=!1,D.onStop(v,t,e=>{e===`enter`?a?.():e===`leave`&&s?.()}),t===`leave`&&!Xs(D)&&(C(`hidden`),E(v))});(0,q.useEffect)(()=>{ee&&r||(se(b),O(b))},[b,ee,r]);let[,k]=qo(!(!r||!ee||!re||ie),g,b,{start:se,end:O}),ce=qi({ref:y,className:Fi(h.className,ae&&c,ae&&l,k.enter&&c,k.enter&&k.closed&&l,k.enter&&!k.closed&&u,k.leave&&f,k.leave&&!k.closed&&p,k.leave&&k.closed&&m,!k.transition&&b&&d)?.trim()||void 0,...Ko(k)}),le=0;S===`visible`&&(le|=es.Open),S===`hidden`&&(le|=es.Closed),b&&S===`hidden`&&(le|=es.Opening),!b&&S===`visible`&&(le|=es.Closing);let ue=zi();return q.createElement(Ys.Provider,{value:D},q.createElement(ns,{value:le},ue({ourProps:ce,theirProps:h,defaultTag:Qs,features:$s,visible:S===`visible`,name:`Transition.Child`})))}function tc(e,t){let{show:n,appear:r=!1,unmount:i=!0,...a}=e,o=(0,q.useRef)(null),s=ga(...Ws(e)?[o,t]:t===null?[]:[t]);cs();let c=ts();if(n===void 0&&c!==null&&(n=(c&es.Open)===es.Open),n===void 0)throw Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");let[l,u]=(0,q.useState)(n?`visible`:`hidden`),d=Zs(()=>{n||u(`hidden`)}),[f,p]=(0,q.useState)(!0),m=(0,q.useRef)([n]);Ai(()=>{f!==!1&&m.current[m.current.length-1]!==n&&(m.current.push(n),p(!1))},[m,n]);let h=(0,q.useMemo)(()=>({show:n,appear:r,initial:f}),[n,r,f]);Ai(()=>{n?u(`visible`):!Xs(d)&&o.current!==null&&u(`hidden`)},[n,d]);let g={unmount:i},_=J(()=>{var t;f&&p(!1),(t=e.beforeEnter)==null||t.call(e)}),v=J(()=>{var t;f&&p(!1),(t=e.beforeLeave)==null||t.call(e)}),ee=zi();return q.createElement(Ys.Provider,{value:d},q.createElement(Gs.Provider,{value:h},ee({ourProps:{...g,as:q.Fragment,children:q.createElement(ic,{ref:s,...g,...a,beforeEnter:_,beforeLeave:v})},theirProps:{},defaultTag:q.Fragment,features:$s,visible:l===`visible`,name:`Transition`})))}function nc(e,t){let n=(0,q.useContext)(Gs)!==null,r=ts()!==null;return q.createElement(q.Fragment,null,!n&&r?q.createElement(rc,{ref:t,...e}):q.createElement(ic,{ref:t,...e}))}var rc=Ki(tc),ic=Ki(ec),ac=Ki(nc),oc=Object.assign(rc,{Child:ac,Root:rc}),sc=(e=>(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(sc||{}),cc=(e=>(e[e.SetTitleId=0]=`SetTitleId`,e))(cc||{}),lc={0(e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},uc=(0,q.createContext)(null);uc.displayName=`DialogContext`;function dc(e){let t=(0,q.useContext)(uc);if(t===null){let t=Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,dc),t}return t}function fc(e,t){return Ii(t.type,lc,e,t)}var pc=Ki(function(e,t){let n=(0,q.useId)(),{id:r=`headlessui-dialog-${n}`,open:i,onClose:a,initialFocus:o,role:s=`dialog`,autoFocus:c=!0,__demoMode:l=!1,unmount:u=!1,...d}=e,f=(0,q.useRef)(!1);s=function(){return s===`dialog`||s===`alertdialog`?s:(f.current||(f.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),`dialog`)}();let p=ts();i===void 0&&p!==null&&(i=(p&es.Open)===es.Open);let m=(0,q.useRef)(null),h=ga(m,t),g=Mo(m.current),_=+!i,[v,ee]=(0,q.useReducer)(fc,{titleId:null,descriptionId:null,panelRef:(0,q.createRef)()}),y=J(()=>a(!1)),te=J(e=>ee({type:0,id:e})),b=cs()?_===0:!1,[ne,x]=bs(),S={get current(){return v.panelRef.current??m.current}},C=ks(),{resolveContainers:w}=Es({mainTreeNode:C,portals:ne,defaultContainers:[S]}),T=p!==null&&(p&es.Closing)===es.Closing;ao(l||T?!1:b,{allowed:J(()=>[m.current?.closest(`[data-headlessui-portal]`)??null]),disallowed:J(()=>[C?.closest(`body > *:not(#headlessui-portal-root)`)??null])});let E=Ya.get(null);Ai(()=>{if(b)return E.actions.push(r),()=>E.actions.pop(r)},[E,r,b]);let re=Qa(E,(0,q.useCallback)(e=>E.selectors.isTop(e,r),[E,r]));jo(re,w,e=>{e.preventDefault(),y()}),ws(re,g?.defaultView,e=>{e.preventDefault(),e.stopPropagation(),document.activeElement&&`blur`in document.activeElement&&typeof document.activeElement.blur==`function`&&document.activeElement.blur(),y()}),Ho(l||T?!1:b,g,w),oo(b,m,y);let[ie,ae]=ya(),oe=(0,q.useMemo)(()=>[{dialogState:_,close:y,setTitleId:te,unmount:u},v],[_,y,te,u,v]),D=Mi({open:_===0}),se={ref:h,id:r,role:s,tabIndex:-1,"aria-modal":l?void 0:_===0||void 0,"aria-labelledby":v.titleId,"aria-describedby":ie,unmount:u},O=!Ts(),k=Fs.None;b&&!l&&(k|=Fs.RestoreFocus,k|=Fs.TabLock,c&&(k|=Fs.AutoFocus),O&&(k|=Fs.InitialFocus));let ce=zi();return q.createElement(rs,null,q.createElement(ds,{force:!0},q.createElement(Cs,null,q.createElement(uc.Provider,{value:oe},q.createElement(Ss,{target:m},q.createElement(ds,{force:!1},q.createElement(ae,{slot:D},q.createElement(x,null,q.createElement(Rs,{initialFocus:o,initialFocusFallback:m,containers:w,features:k},q.createElement(Ea,{value:y},ce({ourProps:se,theirProps:d,slot:D,defaultTag:mc,features:hc,visible:_===0,name:`Dialog`})))))))))))}),mc=`div`,hc=Li.RenderStrategy|Li.Static;function gc(e,t){let{transition:n=!1,open:r,...i}=e,a=ts(),o=e.hasOwnProperty(`open`)||a!==null,s=e.hasOwnProperty(`onClose`);if(!o&&!s)throw Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!o)throw Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!s)throw Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(!a&&typeof e.open!=`boolean`)throw Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${e.open}`);if(typeof e.onClose!=`function`)throw Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${e.onClose}`);return(r!==void 0||n)&&!i.static?q.createElement(Os,null,q.createElement(oc,{show:r,transition:n,unmount:i.unmount},q.createElement(pc,{ref:t,...i}))):q.createElement(Os,null,q.createElement(pc,{ref:t,open:r,...i}))}var _c=`div`;function vc(e,t){let n=(0,q.useId)(),{id:r=`headlessui-dialog-panel-${n}`,transition:i=!1,...a}=e,[{dialogState:o,unmount:s},c]=dc(`Dialog.Panel`),l=ga(t,c.panelRef),u=Mi({open:o===0}),d={ref:l,id:r,onClick:J(e=>{e.stopPropagation()})},f=i?ac:q.Fragment,p=i?{unmount:s}:{},m=zi();return q.createElement(f,{...p},m({ourProps:d,theirProps:a,slot:u,defaultTag:_c,name:`Dialog.Panel`}))}var yc=`div`;function bc(e,t){let{transition:n=!1,...r}=e,[{dialogState:i,unmount:a}]=dc(`Dialog.Backdrop`),o=Mi({open:i===0}),s={ref:t,"aria-hidden":!0},c=n?ac:q.Fragment,l=n?{unmount:a}:{},u=zi();return q.createElement(c,{...l},u({ourProps:s,theirProps:r,slot:o,defaultTag:yc,name:`Dialog.Backdrop`}))}var xc=`h2`;function Sc(e,t){let n=(0,q.useId)(),{id:r=`headlessui-dialog-title-${n}`,...i}=e,[{dialogState:a,setTitleId:o}]=dc(`Dialog.Title`),s=ga(t);(0,q.useEffect)(()=>(o(r),()=>o(null)),[r,o]);let c=Mi({open:a===0}),l={ref:s,id:r};return zi()({ourProps:l,theirProps:i,slot:c,defaultTag:xc,name:`Dialog.Title`})}var Cc=Ki(gc),wc=Ki(vc);Ki(bc);var Tc=Ki(Sc),Ec=Object.assign(Cc,{Panel:wc,Title:Tc,Description:Ca}),Dc=e(gr(),1),Y=Ce(),Oc=N`
|
|
7
|
+
*,
|
|
8
|
+
::before,
|
|
9
|
+
::after {
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
border-width: 0;
|
|
12
|
+
border-style: solid;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
line-height: 1.15;
|
|
16
|
+
-webkit-text-size-adjust: 100%;
|
|
17
|
+
-moz-tab-size: 4;
|
|
18
|
+
tab-size: 4;
|
|
19
|
+
font-feature-settings: normal;
|
|
20
|
+
|
|
21
|
+
margin: 0;
|
|
22
|
+
font-family:
|
|
23
|
+
system-ui,
|
|
24
|
+
-apple-system,
|
|
25
|
+
'Segoe UI',
|
|
26
|
+
Roboto,
|
|
27
|
+
Helvetica,
|
|
28
|
+
Arial,
|
|
29
|
+
sans-serif,
|
|
30
|
+
'Apple Color Emoji',
|
|
31
|
+
'Segoe UI Emoji';
|
|
32
|
+
|
|
33
|
+
hr {
|
|
34
|
+
height: 0;
|
|
35
|
+
color: inherit;
|
|
36
|
+
border-top-width: 1px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
abbr:where([title]) {
|
|
40
|
+
text-decoration: underline dotted;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
h1,
|
|
44
|
+
h2,
|
|
45
|
+
h3,
|
|
46
|
+
h4,
|
|
47
|
+
h5,
|
|
48
|
+
h6 {
|
|
49
|
+
font-size: inherit;
|
|
50
|
+
font-weight: inherit;
|
|
51
|
+
font-family:
|
|
52
|
+
system-ui,
|
|
53
|
+
-apple-system,
|
|
54
|
+
'Segoe UI',
|
|
55
|
+
Roboto,
|
|
56
|
+
Helvetica,
|
|
57
|
+
Arial,
|
|
58
|
+
sans-serif,
|
|
59
|
+
'Apple Color Emoji',
|
|
60
|
+
'Segoe UI Emoji';
|
|
61
|
+
display: inline;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
a {
|
|
65
|
+
color: inherit;
|
|
66
|
+
text-decoration: inherit;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
b,
|
|
70
|
+
strong {
|
|
71
|
+
font-weight: bolder;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
code,
|
|
75
|
+
kbd,
|
|
76
|
+
samp,
|
|
77
|
+
pre {
|
|
78
|
+
font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
|
|
79
|
+
font-size: 1em;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
small {
|
|
83
|
+
font-size: 80%;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
sub,
|
|
87
|
+
sup {
|
|
88
|
+
font-size: 75%;
|
|
89
|
+
line-height: 0;
|
|
90
|
+
position: relative;
|
|
91
|
+
vertical-align: baseline;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
sub {
|
|
95
|
+
bottom: -0.25em;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
sup {
|
|
99
|
+
top: -0.5em;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
table {
|
|
103
|
+
text-indent: 0;
|
|
104
|
+
border-color: inherit;
|
|
105
|
+
border-collapse: collapse;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
button,
|
|
109
|
+
input,
|
|
110
|
+
optgroup,
|
|
111
|
+
select,
|
|
112
|
+
textarea {
|
|
113
|
+
font-family: inherit;
|
|
114
|
+
font-size: 100%;
|
|
115
|
+
font-weight: inherit;
|
|
116
|
+
line-height: inherit;
|
|
117
|
+
color: inherit;
|
|
118
|
+
margin: 0;
|
|
119
|
+
padding: 0;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
button,
|
|
123
|
+
select {
|
|
124
|
+
text-transform: none;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
button,
|
|
128
|
+
[type='button'],
|
|
129
|
+
[type='reset'],
|
|
130
|
+
[type='submit'] {
|
|
131
|
+
-webkit-appearance: button;
|
|
132
|
+
background-color: transparent;
|
|
133
|
+
background-image: none;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
::-moz-focus-inner {
|
|
137
|
+
border-style: none;
|
|
138
|
+
padding: 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:-moz-focusring {
|
|
142
|
+
outline: 1px dotted ButtonText;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
:-moz-ui-invalid {
|
|
146
|
+
box-shadow: none;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
legend {
|
|
150
|
+
padding: 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
progress {
|
|
154
|
+
vertical-align: baseline;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
::-webkit-inner-spin-button,
|
|
158
|
+
::-webkit-outer-spin-button {
|
|
159
|
+
height: auto;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
[type='search'] {
|
|
163
|
+
-webkit-appearance: textfield;
|
|
164
|
+
outline-offset: -2px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
::-webkit-search-decoration {
|
|
168
|
+
-webkit-appearance: none;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
::-webkit-file-upload-button {
|
|
172
|
+
-webkit-appearance: button;
|
|
173
|
+
font: inherit;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
summary {
|
|
177
|
+
display: list-item;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
blockquote,
|
|
181
|
+
dl,
|
|
182
|
+
dd,
|
|
183
|
+
h1,
|
|
184
|
+
h2,
|
|
185
|
+
h3,
|
|
186
|
+
h4,
|
|
187
|
+
h5,
|
|
188
|
+
h6,
|
|
189
|
+
hr,
|
|
190
|
+
figure,
|
|
191
|
+
p,
|
|
192
|
+
pre {
|
|
193
|
+
margin: 0;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
fieldset {
|
|
197
|
+
margin: 0;
|
|
198
|
+
padding: 0;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
legend {
|
|
202
|
+
padding: 0;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
ol,
|
|
206
|
+
ul,
|
|
207
|
+
menu {
|
|
208
|
+
list-style: none;
|
|
209
|
+
margin: 0;
|
|
210
|
+
padding: 0;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
textarea {
|
|
214
|
+
resize: vertical;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
input::placeholder,
|
|
218
|
+
textarea::placeholder {
|
|
219
|
+
opacity: 1;
|
|
220
|
+
color: #9ca3af;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
button,
|
|
224
|
+
[role='button'] {
|
|
225
|
+
cursor: pointer;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
:disabled {
|
|
229
|
+
cursor: default;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
img,
|
|
233
|
+
svg,
|
|
234
|
+
video,
|
|
235
|
+
canvas,
|
|
236
|
+
audio,
|
|
237
|
+
iframe,
|
|
238
|
+
embed,
|
|
239
|
+
object {
|
|
240
|
+
display: block;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
img,
|
|
244
|
+
video {
|
|
245
|
+
max-width: 100%;
|
|
246
|
+
height: auto;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
[hidden] {
|
|
250
|
+
display: none;
|
|
251
|
+
}
|
|
252
|
+
`,kc=M`
|
|
253
|
+
:root {
|
|
254
|
+
${e=>Ac(e.palette)}
|
|
255
|
+
};
|
|
256
|
+
`,Ac=e=>{let t=function(e){return{"--privy-color-background":e.background,"--privy-color-background-2":e.background2,"--privy-color-background-3":e.background3,"--privy-color-foreground":e.foreground,"--privy-color-foreground-2":e.foreground2,"--privy-color-foreground-3":e.foreground3,"--privy-color-foreground-4":e.foreground4,"--privy-color-foreground-accent":e.foregroundAccent,"--privy-color-accent":e.accent,"--privy-color-accent-light":e.accentLight,"--privy-color-accent-hover":e.accentHover,"--privy-color-accent-dark":e.accentDark,"--privy-color-accent-darkest":e.accentDarkest,"--privy-color-success":e.success,"--privy-color-success-dark":e.successDark,"--privy-color-success-light":e.successLight,"--privy-color-success-bg":e.successBg,"--privy-color-error":e.error,"--privy-color-error-light":e.errorLight,"--privy-color-error-bg":e.errorBg,"--privy-color-error-bg-hover":e.errorBgHover,"--privy-color-warn":e.warn,"--privy-color-warn-light":e.warnLight,"--privy-color-warn-bg":e.warnBg,"--privy-color-warning-dark":e.warningDark,"--privy-color-error-dark":e.errorDark,"--privy-color-info-bg":e.infoBg,"--privy-color-info-bg-hover":e.infoBgHover,"--privy-color-border-default":e.borderDefault,"--privy-color-border-hover":e.borderHover,"--privy-color-border-focus":e.borderFocus,"--privy-color-border-error":e.borderError,"--privy-color-border-success":e.borderSuccess,"--privy-color-border-warning":e.borderWarning,"--privy-color-border-info":e.borderInfo,"--privy-color-border-interactive":e.borderInteractive,"--privy-color-border-interactive-hover":e.borderInteractiveHover,"--privy-color-background-hover":e.backgroundHover,"--privy-color-background-clicked":e.backgroundClicked,"--privy-color-background-disabled":e.backgroundDisabled,"--privy-color-background-interactive":e.backgroundInteractive,"--privy-color-background-interactive-hover":e.backgroundInteractiveHover,"--privy-color-background-interactive-clicked":e.backgroundInteractiveClicked,"--privy-color-background-interactive-disabled":e.backgroundInteractiveDisabled,"--privy-color-foreground-hover":e.foregroundHover,"--privy-color-foreground-clicked":e.foregroundClicked,"--privy-color-foreground-disabled":e.foregroundDisabled,"--privy-color-foreground-interactive":e.foregroundInteractive,"--privy-color-foreground-interactive-hover":e.foregroundInteractiveHover,"--privy-link-navigation-color":e.linkNavigationColor,"--privy-link-navigation-decoration":e.linkNavigationDecoration,"--privy-accent-has-good-contrast":e.accentHasGoodContrast,"--privy-color-icon-default":e.iconDefault,"--privy-color-icon-muted":e.iconMuted,"--privy-color-icon-subtle":e.iconSubtle,"--privy-color-icon-inverse":e.iconInverse,"--privy-color-icon-success":e.iconSuccess,"--privy-color-icon-warning":e.iconWarning,"--privy-color-icon-error":e.iconError,"--privy-color-icon-interactive":e.iconInteractive,"--privy-color-icon-default-hover":e.iconDefaultHover,"--privy-color-icon-muted-hover":e.iconMutedHover,"--privy-color-icon-subtle-hover":e.iconSubtleHover,"--privy-color-icon-default-clicked":e.iconDefaultClicked,"--privy-color-icon-muted-clicked":e.iconMutedClicked,"--privy-color-icon-subtle-clicked":e.iconSubtleClicked,"--privy-color-icon-default-disabled":e.iconDefaultDisabled,"--privy-color-icon-muted-disabled":e.iconMutedDisabled,"--privy-color-icon-subtle-disabled":e.iconSubtleDisabled,"--privy-color-icon-error-hover":e.iconErrorHover,"--privy-color-icon-interactive-hover":e.iconInteractiveHover,"--privy-color-icon-error-clicked":e.iconErrorClicked,"--privy-color-icon-interactive-clicked":e.iconInteractiveClicked,"--privy-color-icon-muted-disabled-alt":e.iconMutedDisabledAlt,"--privy-color-icon-subtle-disabled-alt":e.iconSubtleDisabledAlt,"--privy-color-shadow-elevation":e.shadow,"--privy-shadow-popover":`0 2px 4px var(--privy-color-shadow-elevation)`,"--privy-shadow-sheet":`0 0 36px var(--privy-color-shadow-elevation)`,"--privy-shadow-modal":`0 8px 36px var(--privy-color-shadow-elevation)`,"--privy-shadow-focus-ring":`0 0 0 3px var(--privy-color-border-focus)`,"--privy-border-radius-xs":`6px`,"--privy-border-radius-sm":`8px`,"--privy-border-radius-md":`12px`,"--privy-border-radius-mdlg":`16px`,"--privy-border-radius-lg":`24px`,"--privy-border-radius-full":`9999px`,"--privy-height-modal-full":`620px`,"--privy-height-modal-compact":`480px`}}(e);return N`
|
|
257
|
+
${Object.entries(t).map((([e,t])=>`${e}: ${t};`)).join(`
|
|
258
|
+
`)}
|
|
259
|
+
`},jc=De.div`
|
|
260
|
+
/* css normalize only the privy application to avoid conflicts
|
|
261
|
+
with consuming application */
|
|
262
|
+
${Oc}
|
|
263
|
+
|
|
264
|
+
/* Privy styles */
|
|
265
|
+
color: var(--privy-color-foreground-2);
|
|
266
|
+
|
|
267
|
+
h3 {
|
|
268
|
+
font-size: 16px;
|
|
269
|
+
line-height: 24px;
|
|
270
|
+
font-weight: 500;
|
|
271
|
+
color: var(--privy-color-foreground-2);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
h4 {
|
|
275
|
+
font-size: 14px;
|
|
276
|
+
line-height: 20px;
|
|
277
|
+
font-weight: 500;
|
|
278
|
+
color: var(--privy-color-foreground);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
p {
|
|
282
|
+
font-size: 13px;
|
|
283
|
+
line-height: 20px;
|
|
284
|
+
color: var(--privy-color-foreground-2);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
button:focus,
|
|
288
|
+
input:focus,
|
|
289
|
+
optgroup:focus,
|
|
290
|
+
select:focus,
|
|
291
|
+
textarea:focus {
|
|
292
|
+
outline: none;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
button:focus-visible,
|
|
296
|
+
input:focus-visible,
|
|
297
|
+
optgroup:focus-visible,
|
|
298
|
+
select:focus-visible,
|
|
299
|
+
textarea:focus-visible {
|
|
300
|
+
outline: none;
|
|
301
|
+
border-color: var(--privy-color-accent-light);
|
|
302
|
+
box-shadow: var(--privy-shadow-focus-ring);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.mobile-only {
|
|
306
|
+
@media (min-width: 441px) {
|
|
307
|
+
display: none;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/* Animations */
|
|
312
|
+
|
|
313
|
+
@keyframes fadein {
|
|
314
|
+
0% {
|
|
315
|
+
opacity: 0;
|
|
316
|
+
}
|
|
317
|
+
100% {
|
|
318
|
+
opacity: 1;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
`,Mc=({children:e,open:t,onClick:n,...r})=>(0,Y.jsx)(oc,{show:t,as:q.Fragment,children:(0,Y.jsxs)(Ec,{onClose:n,...r,as:Pc,children:[(0,Y.jsx)(ac,{as:q.Fragment,enterFrom:`entering`,leaveTo:`leaving`,children:(0,Y.jsx)(Nc,{id:`privy-dialog-backdrop`,"aria-hidden":`true`})}),(0,Y.jsx)(Fc,{children:(0,Y.jsx)(ac,{as:q.Fragment,enterFrom:`entering`,leaveTo:`leaving`,children:(0,Y.jsx)(wc,{as:Ic,children:e})})})]})}),Nc=De.div`
|
|
322
|
+
position: fixed;
|
|
323
|
+
inset: 0;
|
|
324
|
+
|
|
325
|
+
transition: backdrop-filter 100ms ease;
|
|
326
|
+
backdrop-filter: blur(3px);
|
|
327
|
+
-webkit-backdrop-filter: blur(3px);
|
|
328
|
+
|
|
329
|
+
&.entering,
|
|
330
|
+
&.leaving {
|
|
331
|
+
backdrop-filter: unset;
|
|
332
|
+
-webkit-backdrop-filter: unset;
|
|
333
|
+
}
|
|
334
|
+
`,Pc=De.div`
|
|
335
|
+
position: relative;
|
|
336
|
+
z-index: 999999;
|
|
337
|
+
`,Fc=De.div`
|
|
338
|
+
position: fixed;
|
|
339
|
+
inset: 0;
|
|
340
|
+
display: flex;
|
|
341
|
+
align-items: center;
|
|
342
|
+
justify-content: center;
|
|
343
|
+
width: 100vw;
|
|
344
|
+
min-height: 100dvh;
|
|
345
|
+
/* overflow-y: auto allows the browser to scroll the focused input into view
|
|
346
|
+
when the mobile keyboard opens, preventing the keyboard from covering inputs */
|
|
347
|
+
overflow-y: auto;
|
|
348
|
+
|
|
349
|
+
@media (max-width: 440px) {
|
|
350
|
+
align-items: flex-end;
|
|
351
|
+
}
|
|
352
|
+
`,Ic=De.div`
|
|
353
|
+
/* reset some default dialog styles */
|
|
354
|
+
padding: 0;
|
|
355
|
+
background: transparent;
|
|
356
|
+
border: none;
|
|
357
|
+
width: 100%;
|
|
358
|
+
pointer-events: auto;
|
|
359
|
+
|
|
360
|
+
outline: none;
|
|
361
|
+
display: block;
|
|
362
|
+
|
|
363
|
+
/*
|
|
364
|
+
* Normally it is bad to mix media queries like this We are doing
|
|
365
|
+
* this here specifically for animations to avoid weird jank.
|
|
366
|
+
*/
|
|
367
|
+
/* Mobile animation is a bottom drawer */
|
|
368
|
+
@media (max-width: 440px) {
|
|
369
|
+
opacity: 1;
|
|
370
|
+
transform: translate3d(0, 0, 0);
|
|
371
|
+
transition: transform 200ms ease-in;
|
|
372
|
+
position: sticky;
|
|
373
|
+
bottom: 0;
|
|
374
|
+
|
|
375
|
+
&.entering,
|
|
376
|
+
&.leaving {
|
|
377
|
+
opacity: 0;
|
|
378
|
+
transform: translate3d(0, 100%, 0);
|
|
379
|
+
transition:
|
|
380
|
+
transform 150ms ease-in 0ms,
|
|
381
|
+
opacity 0ms ease 150ms;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/* Tablet/Desktop animation is a fade in */
|
|
386
|
+
@media (min-width: 441px) {
|
|
387
|
+
opacity: 1;
|
|
388
|
+
transition: opacity 100ms ease-in;
|
|
389
|
+
|
|
390
|
+
&.entering,
|
|
391
|
+
&.leaving {
|
|
392
|
+
opacity: 0;
|
|
393
|
+
transition-delay: 5ms;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
margin: auto;
|
|
397
|
+
width: 360px;
|
|
398
|
+
box-shadow: var(--privy-shadow-modal);
|
|
399
|
+
border-radius: var(--privy-border-radius-lg);
|
|
400
|
+
}
|
|
401
|
+
`;function Lc(e){let{sendTransaction:t}=(0,q.useContext)(pe);return sn(`sendTransaction`,e),{sendTransaction:t}}De.div`
|
|
402
|
+
display: flex;
|
|
403
|
+
flex-direction: column;
|
|
404
|
+
align-items: center;
|
|
405
|
+
justify-content: center;
|
|
406
|
+
height: 100%;
|
|
407
|
+
`;var Rc=class{async init(){if(!this.api)throw new P(`Auth flow has no API instance`);let{nonce:e,expires_at:t}=await this.api.post(En,{});return{nonce:e,expiresAt:t}}async authenticate(){if(!this.message||!this.signature||!this.fid)throw new P(`Auth flow has no message, signature, or fid`);if(!this.api)throw new P(`Auth flow has no API instance`);try{let e=await this.api.post(An,{message:this.message,signature:this.signature,fid:this.fid});if(!e)throw new P(`No response from authentication`);return e}catch(e){throw Me(e)}}async link(){throw Error(`Not implemented`)}setAuthData({message:e,signature:t,fid:n}){this.message=e,this.signature=t,this.fid=n}constructor(){this.meta={}}};function zc(){let e=new URLSearchParams(window.location.search),t=e.get(`privy_oauth_code`),n=e.get(`privy_oauth_state`),r=e.get(`privy_oauth_provider`);if(!t||!n||!r)return{inProgress:!1};let i=!1;try{i=!!window.opener.location.origin}catch{}return{inProgress:!0,authorizationCode:t,stateCode:n,provider:r,withPrivyUi:!Xt.get(_e),popupFlow:window.opener!==null&&i,disableSignup:!!Xt.get(be)}}function Bc(){let e=new URL(window.location.href);e.searchParams.delete(`privy_oauth_code`),e.searchParams.delete(`privy_oauth_provider`),e.searchParams.delete(`privy_oauth_state`),Xt.del(xe),window.history.replaceState({},``,e)}var Vc=class{get meta(){return this._meta}async authenticate(){if(!this.api)throw new P(`Auth flow has no API instance`);if(!this.meta.channelToken)throw new P(`Auth flow must be initialized first`);try{let e=await this.api.post(Tn,{channel_token:this.meta.channelToken,message:this.message,signature:this.signature,fid:this.fid,mode:this.meta.disableSignup?`no-signup`:`login-or-sign-up`});if(!e)throw new P(`No response from authentication`);return e}catch(e){throw Me(e)}}async link(){if(!this.api)throw new P(`Auth flow has no API instance`);try{return await this.api.post(wn,{channel_token:this.meta.channelToken,message:this.message,signature:this.signature,fid:this.fid})}catch(e){throw Me(e)}}async _startChannelOnce(){if(!this.api)throw new P(`Auth flow has no API instance`);let e=await this.api.post(jn,{token:this.captchaToken});Dc.isMobile&&!Dc.isIOS&&e.connect_uri&&Tr(e.connect_uri,`_blank`),this._meta={...this._meta,connectUri:e.connect_uri,channelToken:e.channel_token}}async initializeFarcasterConnect(){if(!this.api)throw new P(`Auth flow has no API instance`);await this.startChannelOnce.execute()}async _pollForReady(){if(!this.api)throw new P(`Auth flow has no API instance`);if(!this.meta.channelToken)throw new P(`Auth flow must be initialized first`);let e=await this.api.get(Cn,{headers:{"farcaster-channel-token":this.meta.channelToken}});return e.state===`completed`&&(this.message=e.message,this.signature=e.signature,this.fid=e.fid,!0)}constructor(e,t=!1){this._meta={disableSignup:!1},this.captchaToken=e,this.startChannelOnce=new Hn(this._startChannelOnce.bind(this)),this.pollForReady=new Hn(this._pollForReady.bind(this)),this._meta.disableSignup=t}},Hc=class{async initRegisterFlow(e){if(!this.api)throw new P(`Auth flow has no API instance`);this.authenticateForRegistration=!0,this.meta.initRegisterResponse=await this.initRegisterOnce.execute(e)}async initAuthenticationFlow(e){if(!this.api)throw new P(`Auth flow has no API instance`);this.authenticateForRegistration=!1,this.meta.initAuthenticateResponse=await this.initAuthenticateOnce.execute(e)}async initLinkFlow(){if(!this.api)throw new P(`Auth flow has no API instance`);this.meta.initLinkResponse=await this.initLinkOnce.execute()}async register(){let e=await n(()=>import(`./esm-Ci1ogKuK.js`),[],import.meta.url);if(!this.api)throw new P(`Auth flow has no API instance`);if(!e.browserSupportsWebAuthn())throw new P(`WebAuthn is not supported in this browser`);this.meta.initRegisterResponse||(this.meta.initRegisterResponse=await this.initRegisterOnce.execute());try{let t=this.meta.initRegisterResponse.options,n=await e.startRegistration({optionsJSON:this._transformInitLinkOptionsToCamelCase(t)});return this.meta.setPasskeyAuthState?.({status:`submitting-response`}),await this.api.post(Sn,{relying_party:this.meta.initRegisterResponse.relying_party,authenticator_response:this._transformRegistrationResponseToSnakeCase(n)})}catch(e){throw e.name===`NotAllowedError`?new P(`Passkey request timed out or rejected by user.`,void 0,F.PASSKEY_NOT_ALLOWED):Me(e)}}async authenticate(){if(this.authenticateForRegistration)return this.register();let e=await n(()=>import(`./esm-Ci1ogKuK.js`),[],import.meta.url);if(!this.api)throw new P(`Auth flow has no API instance`);if(!e.browserSupportsWebAuthn())throw new P(`WebAuthn is not supported in this browser`);this.meta.initAuthenticateResponse||(this.meta.initAuthenticateResponse=await this.initAuthenticateOnce.execute());let t=this.meta.allowedCredentialsIds?.map((e=>({type:`public-key`,id:e})))??this.meta.initAuthenticateResponse.options.allow_credentials;try{let n=await e.startAuthentication({optionsJSON:this._transformInitAuthenticateOptionsToCamelCase({...this.meta.initAuthenticateResponse.options,allow_credentials:t})});return this.meta.setPasskeyAuthState?.({status:`submitting-response`}),await this.api.post(kn,{relying_party:this.meta.initAuthenticateResponse.relying_party,challenge:this.meta.initAuthenticateResponse.options.challenge,authenticator_response:this._transformAuthenticationResponseToSnakeCase(n)})}catch(e){throw e.name===`NotAllowedError`?new P(`Passkey request timed out or rejected by user.`,void 0,F.PASSKEY_NOT_ALLOWED):Me(e)}}async link(){let e=await n(()=>import(`./esm-Ci1ogKuK.js`),[],import.meta.url);if(!this.api)throw new P(`Auth flow has no API instance`);if(!e.browserSupportsWebAuthn())throw new P(`WebAuthn is not supported in this browser`);this.meta.initLinkResponse||(this.meta.initLinkResponse=await this.initLinkOnce.execute());try{let t=this.meta.initLinkResponse.options,n=await e.startRegistration({optionsJSON:this._transformInitLinkOptionsToCamelCase(t)});return this.meta.setPasskeyAuthState?.({status:`submitting-response`}),await this.api.post(Mn,{relying_party:this.meta.initLinkResponse.relying_party,authenticator_response:this._transformRegistrationResponseToSnakeCase(n)})}catch(e){throw e.name===`NotAllowedError`?new P(`Passkey request timed out or rejected by user.`,void 0,F.PASSKEY_NOT_ALLOWED):Me(e)}}async _initRegisterOnce(e){if(!this.api)throw new P(`Auth flow has no API instance`);let t=Wn(e);return await this.api.post(bn,{token:this.meta.captchaToken},{headers:{...t}})}async _initAuthenticateOnce(e){if(!this.api)throw new P(`Auth flow has no API instance`);let t=Wn(e);return await this.api.post(On,{token:this.meta.captchaToken},{headers:{...t}})}async _initLinkOnce(){if(!this.api)throw new P(`Auth flow has no API instance`);return await this.api.post(Nn,{})}_transformInitLinkOptionsToCamelCase(e){let t=this.meta.name?.trim()||void 0;return{rp:e.rp,user:{id:e.user.id,name:t??e.user.name,displayName:t??e.user.display_name},challenge:e.challenge,pubKeyCredParams:e.pub_key_cred_params.map((e=>({type:e.type,alg:e.alg}))),timeout:e.timeout,excludeCredentials:e.exclude_credentials?.map((e=>({id:e.id,type:e.type,transports:e.transports}))),authenticatorSelection:{authenticatorAttachment:e.authenticator_selection?.authenticator_attachment,requireResidentKey:e.authenticator_selection?.require_resident_key,residentKey:e.authenticator_selection?.resident_key,userVerification:e.authenticator_selection?.user_verification},attestation:e.attestation,extensions:{appid:e.extensions?.app_id,credProps:e.extensions?.cred_props?.rk,hmacCreateSecret:e.extensions?.hmac_create_secret},hints:this.meta.hints}}_transformRegistrationResponseToSnakeCase(e){return{id:e.id,raw_id:e.rawId,response:{client_data_json:e.response.clientDataJSON,attestation_object:e.response.attestationObject,authenticator_data:e.response.authenticatorData},authenticator_attachment:e.authenticatorAttachment,client_extension_results:{app_id:e.clientExtensionResults.appid,cred_props:e.clientExtensionResults.credProps,hmac_create_secret:e.clientExtensionResults.hmacCreateSecret},type:e.type}}_transformInitAuthenticateOptionsToCamelCase(e){return{rpId:e.rp_id,challenge:e.challenge,allowCredentials:e.allow_credentials?.map((e=>({id:e.id,type:e.type,transports:e.transports})))||[],timeout:e.timeout,extensions:{appid:e.extensions?.app_id,credProps:e.extensions?.cred_props,hmacCreateSecret:e.extensions?.hmac_create_secret},userVerification:e.user_verification}}_transformAuthenticationResponseToSnakeCase(e){return{id:e.id,raw_id:e.rawId,response:{client_data_json:e.response.clientDataJSON,authenticator_data:e.response.authenticatorData,signature:e.response.signature,user_handle:e.response.userHandle},authenticator_attachment:e.authenticatorAttachment,client_extension_results:{app_id:e.clientExtensionResults.appid,cred_props:e.clientExtensionResults.credProps,hmac_create_secret:e.clientExtensionResults.hmacCreateSecret},type:e.type}}constructor({captchaToken:e,setPasskeyAuthState:t,hints:n}){this.authenticateForRegistration=!1,this.initRegisterOnce=new Hn(this._initRegisterOnce.bind(this)),this.initAuthenticateOnce=new Hn(this._initAuthenticateOnce.bind(this)),this.initLinkOnce=new Hn(this._initLinkOnce.bind(this)),this.meta={captchaToken:e,setPasskeyAuthState:t,hints:n}}},Uc=class{get meta(){return{connectorType:this.wallet.connectorType,walletClientType:this.wallet.walletClientType,disableSignup:this._meta.disableSignup,messageType:this._meta.messageType,address:this.wallet?.address}}set messageType(e){this._meta.messageType=e}async authenticate(){if(!this.client)throw new P(`SiwsFlow has no client instance`);try{let{message:e,signature:t}=await this.sign();return await this.client.authenticateWithSiwsInternal({message:e,signature:t,walletClientType:this.wallet.walletClientType,connectorType:this.wallet.connectorType,mode:this.meta.disableSignup?`no-signup`:`login-or-sign-up`,messageType:this.meta.messageType})}catch(e){throw Me(e)}}async link(){if(!this.client)throw new P(`SiwsFlow has no client instance`);try{let{message:e,signature:t}=await this.sign();return await this.client.linkWithSiwsInternal({message:e,signature:t,walletClientType:this.wallet.walletClientType,connectorType:this.wallet.connectorType,messageType:this.meta.messageType})}catch(e){throw Me(e)}}async sign(){let e,t;if(!this.client)throw new P(`SiwsFlow has no client instance`);await this.buildMessage();let n=this.meta.messageType===`transaction`,a=this.meta.messageType===`offchain-message`;if(!this.preparedMessage)throw new P(`Could not prepare SIWS message`);if(!n&&!this.wallet.provider.signMessage||n&&!this.wallet.provider.signTransaction)throw new P(`Wallet does not support the necessary signing methods`);if(a){let n=s({message:this.preparedMessage,signerPublicKey:r.decode(this.wallet.address),domain:window.location.origin}),a=await this.wallet.provider.signMessage({message:n});e=this.preparedMessage,t=i.encode(a.signature)}else if(n&&this._plugin){let n=await this.wallet.provider.signTransaction({transaction:i.decode(this.preparedMessage)});e=i.encode(n.signedTransaction),t=this._plugin.getSignatureFromTransaction(n.signedTransaction,this.wallet.address)}else{e=this.preparedMessage;let n=await this.wallet.provider.signMessage({message:new TextEncoder().encode(this.preparedMessage)});t=i.encode(n.signature)}return{message:e,signature:t}}async _getNonceOnce(){if(!this.client)throw new P(`SiwsFlow has no client instance`);return await this.client.generateSiwsNonce({address:this.wallet.address,captchaToken:this.captchaToken})}async buildMessage(){if(!this.client)throw new P(`SiwsFlow has no client instance`);let e=this.wallet.address;return this.nonce||=await this.getNonceOnce.execute(),this.preparedMessage=this.meta.messageType===`transaction`&&this._plugin?this._plugin.createSiwsMemoTransaction({address:e,nonce:this.nonce}):Er({address:e,nonce:this.nonce}),this.preparedMessage}constructor(e,t,n,r=!1,i=`plain`,a){this._meta={disableSignup:!1,messageType:`plain`},this.getNonceOnce=new Hn(this._getNonceOnce.bind(this)),this.wallet=e,this.captchaToken=n,this.client=t,this._meta.disableSignup=r,this._meta.messageType=i,this._plugin=a}},Wc=(0,q.createContext)({enabled:!1,siteKey:``,provider:void 0,appId:void 0,token:void 0,error:void 0,status:`disabled`,setToken:O,setError:O,setExecuting:O,waitForResult:()=>Promise.resolve(``),ref:{current:null},remove:me,reset:O,execute:O}),Gc=class extends je{constructor(e,t,n){super(e||`Captcha failed`),this.type=`Captcha`,t instanceof Error&&(this.cause=t),this.privyErrorCode=n}},Kc=({children:e,appId:t,captchaSiteKey:n,enabledCaptchaProvider:r})=>{let i=(0,q.useRef)(null),a=(0,q.useRef)(null),[o,s]=(0,q.useState)(),[c,l]=(0,q.useState)(),[u,d]=(0,q.useState)(!1),f=(0,q.useMemo)((()=>r?u||o||c?!u||o||c?o&&!c?{status:`success`,token:o}:c?{status:`error`,error:c}:{status:`ready`}:{status:`loading`}:{status:`ready`}:{status:`disabled`}),[r,o,c,u]),p=(0,q.useMemo)((()=>r?r===`turnstile`?{remove:()=>{i.current?.remove(),d(!1),l(void 0),s(void 0)},reset:()=>{i.current?.reset(),d(!1),l(void 0),s(void 0)},execute:()=>{d(!0),i.current?.execute()},waitForResult:async()=>{try{return await Ht((()=>i.current?.getResponse()),{interval:200,timeout:2e4})}catch{throw new Gc(`Captcha failed`,null,F.CAPTCHA_TIMEOUT)}}}:{remove:()=>{a.current?.removeCaptcha(),d(!1),l(void 0),s(void 0)},reset:()=>{a.current?.resetCaptcha(),d(!1),l(void 0),s(void 0)},execute:()=>{d(!0),a.current?.execute()},waitForResult:async()=>{try{return await Ht((()=>{let e=a.current?.getResponse();if(e)return e}),{interval:200,timeout:2e4})}catch{throw new Gc(`Captcha failed`,null,F.CAPTCHA_TIMEOUT)}}}:null),[r]),m=(0,q.useMemo)((()=>{if(!r||!p)return{...f,enabled:!1,siteKey:``,appId:t,setToken:O,setError:O,setExecuting:O,waitForResult:()=>Promise.resolve(void 0),remove:me,reset:O,execute:O,provider:void 0,ref:{current:null}};let e={...f,enabled:!0,appId:t,setToken:s,setError:l,setExecuting:d};return r===`turnstile`?{...e,provider:`turnstile`,ref:i,siteKey:n.split(`t:`)[1]??``,...p}:{...e,provider:`hcaptcha`,ref:a,siteKey:n.split(`h:`)[1]??``,...p}}),[f,r,p,t,n]);return(0,Y.jsx)(Wc.Provider,{value:m,children:e})},qc=()=>(0,q.useContext)(Wc);async function Jc(e){if(e.enabled){if(e.status===`error`)throw new Gc(e.error,null,F.CAPTCHA_FAILURE);return e.status===`success`?e.token:(e.execute(),await e.waitForResult())}}var Yc=class{async authenticate(){if(!this.api)throw new P(`Auth flow has no API instance`);try{return await this.api.post(xn,{captcha_token:this.meta.captchaToken,telegram_auth_result:this.meta.telegramAuthResult,telegram_web_app_data:this.meta.telegramWebAppData,mode:this.meta.disableSignup?`no-signup`:`login-or-sign-up`})}catch(e){throw Me(e)}}async link(){if(!this.api)throw new P(`Auth flow has no API instance`);try{return await this.api.post(Dn,{telegram_auth_result:this.meta.telegramAuthResult,telegram_web_app_data:this.meta.telegramWebAppData})}catch(e){throw Me(e)}}constructor(e,t=!1){this.meta={disableSignup:!1},this.meta={captchaToken:e,disableSignup:!1},this.meta.disableSignup=t}};function Xc(e){let t={detail:``,retryable:!1};return e?.privyErrorCode===F.LINKED_TO_ANOTHER_USER&&(t.detail=`This account has already been linked to another user.`),e?.privyErrorCode===F.DISALLOWED_LOGIN_METHOD&&(t.detail=`Login with Telegram not allowed.`),e?.privyErrorCode===F.INVALID_DATA&&(t.retryable=!0,t.detail=`Something went wrong. Try again.`),e?.privyErrorCode===F.CANNOT_LINK_MORE_OF_TYPE&&(t.retryable=!0,t.detail=`Something went wrong. Try again.`),e?.privyErrorCode===F.INVALID_CREDENTIALS&&(t.retryable=!0,t.detail=`Something went wrong. Try again.`),e?.privyErrorCode===F.TOO_MANY_REQUESTS&&(t.detail=`Too many requests. Please wait before trying again.`),e?.privyErrorCode===F.TOO_MANY_REQUESTS&&e.message.includes(`rate limit`)&&(t.detail=`Request limit reached for Telegram. Please wait a moment and try again.`),e instanceof Gc&&(t.retryable=!0,t.detail=`Something went wrong. Try again.`),t}function Zc(e){return Object.fromEntries(decodeURIComponent(e).split(`&`).map((e=>e.split(`=`).map(decodeURIComponent))))}function Qc(){let e=new URL(window.location.href);e.searchParams.delete(`id`),e.searchParams.delete(`hash`),e.searchParams.delete(`auth_date`),e.searchParams.delete(`first_name`),e.searchParams.delete(`last_name`),e.searchParams.delete(`username`),e.searchParams.delete(`photo_url`),e.hash=``,window.history.replaceState({},``,e)}var $c=(0,q.lazy)((()=>n(()=>import(`./TurnstileWrapper-B7sNddys-Jwy1tJtm.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url))),el=(0,q.lazy)((()=>n(()=>import(`./HCaptchaWrapper-CUi9LJsp-D-I8j7NO.js`),__vite__mapDeps([5,1,3,4]),import.meta.url))),tl=e=>{let t=qc();return(0,q.useEffect)((()=>t.remove),[t.remove]),t.enabled&&t.provider?(0,Y.jsx)(q.Suspense,{fallback:null,children:(0,Y.jsxs)(`div`,{className:`hidden h-0 w-0`,children:[t.provider===`turnstile`&&(0,Y.jsx)($c,{...e,captchaContext:t}),t.provider===`hcaptcha`&&(0,Y.jsx)(el,{...e,captchaContext:t})]})}):null},nl=Object.freeze({__proto__:null,AccountNotFoundScreen:()=>n(()=>import(`./AccountNotFoundScreen-C4njXc69-BOfmiSH1.js`),__vite__mapDeps([6,2,1,3,4,7,8,9,10,11,12,13]),import.meta.url),AddFundsSelectionScreen:()=>n(()=>import(`./AddFundsSelectionScreen-RAoCn7ej-D_EsIeJu.js`),__vite__mapDeps([14,1,2,3,4,15,7,16,8,11,13,17,18,19,20,9,10,12,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]),import.meta.url),AffirmativeConsentScreen:()=>n(()=>import(`./AffirmativeConsentScreen-BG0MJxku-DdEPFOww.js`),__vite__mapDeps([54,1,2,3,4,7,55,8,11,10,9,12,13,56]),import.meta.url),AllowlistRejectionScreen:()=>n(()=>import(`./AllowlistRejectionScreen-Cae6e1Od-DhVy9iGN.js`),__vite__mapDeps([57,1,2,3,4,58,7,8,9,10,11,12,13,59]),import.meta.url),AuthenticateWithWalletScreen:()=>n(()=>import(`./AuthenticateWithWalletScreen-CU6hIcFT-8rbYiYYE.js`),__vite__mapDeps([60,1,2,3,4,8,40,41,42,46,43,39,44,25,26,45,61,11,10,12,13,19,62,63,64,65,48,27,49,66,67,68,7,69,70,71,72,73,74,75,76,77]),import.meta.url),AwaitingEvmToSolBridgingScreen:()=>n(()=>import(`./AwaitingEvmToSolBridgingScreen-D0e_sZMS-2pkNfCno.js`),__vite__mapDeps([78,1,2,3,4,8,10,11,13,40,41,42,43,39,48,25,26,27,44,45,49,79,23,24,28,29,30,31,32,33,34,35,36,37,22,38,66,80,81,82,83,74,84,85,86,87,88,89,90,91,92,93,63,62,94,95,96,97,68,7,69,98,99,100,101,102,103,104,9,12,47,46,50,51,52,53,105,106,107,108,109,110,111,112,113]),import.meta.url),AwaitingExternalEthereumTransferScreen:()=>n(()=>import(`./AwaitingExternalEthereumTransferScreen-ur5HL4R7-7AQt25_k.js`),__vite__mapDeps([114,1,2,3,4,8,10,11,13,40,41,42,43,39,44,25,26,45,48,27,49,115,79,23,24,28,29,30,31,32,33,34,35,36,37,22,38,66,80,81,82,83,74,84,85,86,87,88,89,90,91,92,93,63,62,94,95,96,97,68,7,69,98,99,100,101,102,103,104,9,12,47,46,50,51,52,53,105,106,107,108,109,110,111,116]),import.meta.url),AwaitingPasswordlessCodeScreen:()=>n(()=>import(`./AwaitingPasswordlessCodeScreen-DRHz76mM-BZY30TGs.js`),__vite__mapDeps([117,1,2,3,4,8,11,9,10,12,13,40,41,42,62,56,118,119,70,84]),import.meta.url),AwaitingSolToEvmBridgingScreen:()=>n(()=>import(`./AwaitingSolToEvmBridgingScreen-CdLRrGD2-BILOOLi_.js`),__vite__mapDeps([120,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,8,10,11,13,40,41,42,48,44,45,49,115,53,39,63,62,121,51,64,122,107,84,95,85,110,111,93,94,88,89,96,83,97,68,7,69]),import.meta.url),CaptchaScreen:()=>n(()=>import(`./CaptchaScreen-DbpvkIGx-D8eDcAkc.js`),__vite__mapDeps([123,1,3,4,103,7,124,8,2,9,10,11,12,13]),import.meta.url),CoinbaseOnrampStatusScreen:()=>n(()=>import(`./CoinbaseOnrampStatusScreen-BbyCJDXL-DLs9zX-Q.js`),__vite__mapDeps([125,1,2,3,4,8,11,10,126,25,23,24,26,27,28,29,30,31,32,33,34,35,36,37,22,38,39,127,41,42,40,44,45,48,49,50,51,53,62,63,64,121,84,110,128,129]),import.meta.url),ConnectLedgerScreen:()=>n(()=>import(`./ConnectLedgerScreen-DWHABGot-h0uYIUi6.js`),__vite__mapDeps([130,3,1,8,2,4,11,9,10,12,13]),import.meta.url),ConnectOnlyLandingScreen:()=>n(()=>import(`./ConnectOnlyLandingScreen-CZYx9Bmp-LeuDMN1E.js`),__vite__mapDeps([131,1,2,3,4,8,40,41,42,46,43,39,44,25,26,45,61,11,10,12,13,19,62,63,64,65,48,27,49,66,67,68,7,69,70,71,72,73,74,75,76,77]),import.meta.url),ConnectOnlyStatusScreen:()=>n(()=>import(`./ConnectOnlyStatusScreen-DCRzjxHx-DaRa59tZ.js`),__vite__mapDeps([132,1,2,3,4,8,9,10,11,12,13,126,25,23,24,26,27,28,29,30,31,32,33,34,35,36,37,22,38,39,127,41,42,40,44,45,48,49,50,51,53,62,63,64,121,133,122,56,70,75]),import.meta.url),ConnectOrCreateScreen:()=>n(()=>import(`./ConnectOrCreateScreen-CUUYUO07-crHzh-TL.js`),__vite__mapDeps([134,2,1,3,4,135,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,38,7,136,137,8,11,10,9,12,13,48,40,41,42,44,45,49,47,43,39,46,50,51,52,53,63,62,65,64,61,19,66,67,68,69,70,71,72,73,74,75,76,77,138,92,89,139,140,141,142,143,144,16]),import.meta.url),ConnectionStatusScreen:()=>n(()=>import(`./ConnectionStatusScreen-fUfROm9m-wu3a3kw4.js`),__vite__mapDeps([145,133,1,2,3,4,8,11,9,10,12,13,40,41,42,44,25,26,45,48,27,49,126,23,24,28,29,30,31,32,33,34,35,36,37,22,38,39,127,50,51,53,62,63,64,121,122,56,70,75]),import.meta.url),CrossAppAuthScreen:()=>n(()=>import(`./CrossAppAuthScreen-CLw7ymZq-Csju14vF.js`),__vite__mapDeps([146,1,2,3,4,8,9,10,11,12,13,40,41,42,126,25,23,24,26,27,28,29,30,31,32,33,34,35,36,37,22,38,39,127,44,45,48,49,50,51,53,62,63,64,121,65,43,46,56]),import.meta.url),DelegatedActionsConsentScreen:()=>n(()=>import(`./DelegatedActionsConsentScreen-DYF2U4y5-BL5hzNUI.js`),__vite__mapDeps([147,1,2,3,4,7,148,103,8,9,10,11,12,13,40,41,42,149,68,69,74,98,97,48,25,26,27,44,45,49,150]),import.meta.url),DelegatedActionsRevokeScreen:()=>n(()=>import(`./DelegatedActionsRevokeScreen-bPp6Uwyh-fcO51q5H.js`),__vite__mapDeps([151,1,2,3,4,7,148,103,8,9,10,11,12,13,40,41,42]),import.meta.url),DepositAddressScreen:()=>n(()=>import(`./DepositAddressScreen-DBLRs7aI-DmdQaFI2.js`),__vite__mapDeps([152,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,7,68,153,154,155,156,11,10,9,12,13,20,48,40,41,42,44,45,49,80,66,81,67,69,71,72,8,19,21,39,43,46,47,50,51,52,53]),import.meta.url),DepositAddressV3Screen:()=>n(()=>import(`./DepositAddressV3Screen-CDqIEMQw-BoupRyfV.js`),__vite__mapDeps([157,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,68,7,153,154,155,156,11,10,9,12,13,20,48,40,41,42,44,45,49,80,66,81,67,69,71,72,8,19,47,43,39,46,50,51,52,53,21]),import.meta.url),EmbeddedWalletConnectingScreen:()=>n(()=>import(`./EmbeddedWalletConnectingScreen-D4T7DUzs-D_AVgO4s.js`),__vite__mapDeps([158,1,2,3,4,124,7,8,9,10,11,12,13]),import.meta.url),EmbeddedWalletCreatedScreen:()=>n(()=>import(`./EmbeddedWalletCreatedScreen-D7WhW5ve-CLsJbPYQ.js`),__vite__mapDeps([159,1,2,3,4,103,7,8,9,10,11,12,13]),import.meta.url),EmbeddedWalletKeyExportScreen:()=>n(()=>import(`./EmbeddedWalletKeyExportScreen-CqV4NYQ3-C9sAExzE.js`),__vite__mapDeps([160,1,2,3,4,8,11,9,10,12,13,161,149,68,7,69,74,98,97,48,25,26,27,40,41,42,44,45,49,150,162,163]),import.meta.url),EmbeddedWalletOnAccountCreateScreen:()=>n(()=>import(`./EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-DxaWAAKa.js`),__vite__mapDeps([164,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,124,7,8,9,10,11,12,13,40,41,42,126,39,127,44,45,48,49,50,51,53,62,63,64,121]),import.meta.url),EmbeddedWalletPasswordCreateScreen:()=>n(()=>import(`./RecoveryPasswordCreateScreen-Be-qJ-LU-C8lTSeSr.js`),__vite__mapDeps([165,1,2,3,4,8,40,41,42,126,25,23,24,26,27,28,29,30,31,32,33,34,35,36,37,22,38,39,127,44,45,48,49,50,51,53,62,63,64,121,166,11,10,167,168,163,84,95,129]),import.meta.url),EmbeddedWalletPasswordUpdateScreen:()=>n(()=>import(`./EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-CxrfLr5q.js`),__vite__mapDeps([169,1,2,3,4,8,40,41,42,43,39,166,11,10,167,168,163,84,95,129]),import.meta.url),EmbeddedWalletPasswordUpdateSplashScreen:()=>n(()=>import(`./EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-DHZRGoTN.js`),__vite__mapDeps([170,2,1,3,4,58,7,8,9,10,11,12,13,40,41,42]),import.meta.url),ErrorScreen:()=>n(()=>import(`./ErrorScreen-DipdTWzE-DcxVjMO4.js`),__vite__mapDeps([171,172,2,1,3,4,7,58,156,8,11,9,10,12,13,40,41,42,59,111]),import.meta.url),FarcasterConnectStatusScreen:()=>n(()=>import(`./FarcasterConnectStatusScreen-51tjUxqq-s_s5M2CZ.js`),__vite__mapDeps([173,1,2,3,4,68,7,69,8,11,10,9,12,13,40,41,42,62,56,71,48,25,26,27,44,45,49,72,140,150,174]),import.meta.url),FarcasterSignerStatusScreen:()=>n(()=>import(`./FarcasterSignerStatusScreen-6x-Uh95G-BHBR4k8H.js`),__vite__mapDeps([175,1,2,3,4,8,11,9,10,12,13,62,71,48,25,26,27,40,41,42,44,45,49,72,140,174,176]),import.meta.url),FiatOnrampScreen:()=>n(()=>import(`./FiatOnrampScreen-BAhYeiTI-BH_sU6EV.js`),__vite__mapDeps([177,1,25,23,24,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,7,68,124,15,58,137,16,106,8,11,10,13,9,12,17,40,41,42,48,44,45,49,47,43,39,46,50,51,52,53,21,66,80,178,67,69,141,65,63,62,64,92,89,162,163,179,154]),import.meta.url),FundSolWalletWithExternalSolanaWallet:()=>n(()=>import(`./FundSolWalletWithExternalSolanaWallet-WtLwYaOl-B8TRV36j.js`),__vite__mapDeps([180,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,8,10,11,13,40,41,42,47,43,39,44,45,48,49,46,50,51,52,53,181,121,64,107,84,95,85,108,109,110,86,113,88,89,96,83,182,183]),import.meta.url),FundWithBankDepositScreen:()=>n(()=>import(`./FundWithBankDepositScreen-DajkHxBD-9rPtyA3d.js`),__vite__mapDeps([184,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,7,68,124,155,8,11,9,10,12,13,47,40,41,42,43,39,44,45,48,49,46,50,51,52,53,21,62,178,67,69,179,154]),import.meta.url),FundingAmountEditScreen:()=>n(()=>import(`./FundingEditAmountScreen-CpvpiO4M-GaXigGI9.js`),__vite__mapDeps([185,1,3,4,8,2,10,11,13,84,85,108,109,91,100,44,25,26,45,48,27,40,41,42,49,101,102,7,103,104,9,12,47,22,23,24,28,29,30,31,32,33,34,35,36,37,38,43,39,46,50,51,52,53,105,68,106]),import.meta.url),FundingMethodSelectionScreen:()=>n(()=>import(`./FundingMethodSelectionScreen-Db7vhRlE-UsmtTqv4.js`),__vite__mapDeps([186,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,8,10,11,17,18,40,41,42,43,39,44,45,47,48,49,46,50,51,52,53,63,62,65,64,178,76,85,101,102,7,103,104,9,12,13,105,68,106,128,187,188,189,190,127,110]),import.meta.url),InAppBrowserLoginNotPossible:()=>n(()=>import(`./InAppBrowserLoginNotPossible-BMR9br1T-BY3j50El.js`),__vite__mapDeps([191,2,1,3,4,55,7,9,10,11,12,13]),import.meta.url),InstallWalletScreen:()=>n(()=>import(`./InstallWalletScreen-DTA8dwLv-CxreyXoD.js`),__vite__mapDeps([192,3,1,8,2,4,9,10,11,12,13,70,105,68,7,106]),import.meta.url),LandingScreen:()=>n(()=>import(`./LandingScreen-CGWUoSUG-DK1EY-6v.js`),__vite__mapDeps([193,2,1,3,4,135,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,38,7,136,137,8,11,10,9,12,13,48,40,41,42,44,45,49,47,43,39,46,50,51,52,53,63,62,65,64,61,19,66,67,68,69,70,71,72,73,74,75,76,77,138,92,89,139,140,141,142,143,144,16]),import.meta.url),LinkConflictScreen:()=>n(()=>import(`./LinkConflictScreen-C3ZEPsgl-ClWoqvEL.js`),__vite__mapDeps([194,1,2,3,4,8,11,10,188,163,83,97,68,7,69,48,25,26,27,40,41,42,44,45,49,195,196]),import.meta.url),LinkEmailScreen:()=>n(()=>import(`./LinkEmailScreen-dKo9frwc-C3v7glH0.js`),__vite__mapDeps([197,2,1,3,4,9,10,11,12,13,118,84,139,136,7,8,48,25,26,27,40,41,42,44,45,49,65,39,43,46,63,62,64,74,73,92,89]),import.meta.url),LinkPasskeyScreen:()=>n(()=>import(`./LinkPasskeyScreen-zbrl_AI_-DYIl5Kr2.js`),__vite__mapDeps([198,102,1,2,3,4,7,103,104,8,11,9,10,12,13,40,41,42,47,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,43,39,44,45,48,49,46,50,51,52,53,105,68,106]),import.meta.url),LinkPhoneScreen:()=>n(()=>import(`./LinkPhoneScreen-oIUpfj0w-C0DuD14j.js`),__vite__mapDeps([199,1,2,3,4,8,9,10,11,12,13,119,141,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,38,65,39,43,40,41,42,44,45,48,49,46,63,62,64,92,89]),import.meta.url),LoginFailedScreen:()=>n(()=>import(`./LoginFailedScreen-CN0dJV6U-DhUMiJZJ.js`),__vite__mapDeps([200,2,1,3,4,124,7,8,9,10,11,12,13]),import.meta.url),ManualTransferScreen:()=>n(()=>import(`./ManualTransferScreen-CHqcuqbs-tXiZDHmN.js`),__vite__mapDeps([201,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,8,10,11,43,39,40,41,42,48,44,45,49,63,62,178,71,72,84,85,110,86,112,113,87,90,91,149,68,7,69,74,98,97,150,182,202]),import.meta.url),MfaAuthEnrollmentFlowScreen:()=>n(()=>import(`./MfaAuthEnrollmentFlowScreen-Dj7gPTRC-CaW7xeCC.js`),__vite__mapDeps([203,1,2,3,4,8,11,10,204,172,7,58,156,9,12,13,40,41,42,59,111,102,103,104,47,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,43,39,44,45,48,49,46,50,51,52,53,105,68,106,65,63,62,64,205,138,119,206,71,72,84,90,91,92,89,98,150,176]),import.meta.url),MfaAuthVerifyFlowScreen:()=>n(()=>import(`./MfaAuthVerifyFlowScreen-DbFpyWMy-CeRqvx8k.js`),__vite__mapDeps([207,1,2,3,4,8,208,11,10,9,12,13,43,39,40,41,42,44,25,26,45,48,27,49,126,23,24,28,29,30,31,32,33,34,35,36,37,22,38,127,50,51,53,62,63,64,121,65,46,205,163,138,119,206,108,109,195,209,82,84,100,210,113,112]),import.meta.url),MfaEnrollmentFlowScreen:()=>n(()=>import(`./MfaEnrollmentFlowScreen-DhLnGgnr-BkN1k4lh.js`),__vite__mapDeps([211,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,172,7,58,156,8,11,9,10,12,13,40,41,42,59,111,204,102,103,104,47,43,39,44,45,48,49,46,50,51,52,53,105,68,106,65,63,62,64,205,138,119,206,71,72,84,90,91,92,89,98,150,176,107,141]),import.meta.url),MoonpayStatusScreen:()=>n(()=>import(`./MoonpayStatusScreen-CzTUtokc-BRFN2eXr.js`),__vite__mapDeps([212,1,2,3,4,8,11,10,84,128,129,190,127,41,42,110]),import.meta.url),OAuthStatusScreen:()=>n(()=>import(`./OAuthStatusScreen-ufbOa-da-CeiGcSia.js`),__vite__mapDeps([213,1,2,3,4,8,9,10,11,12,13,40,41,42,56,94,142,143,196]),import.meta.url),PasskeySelectSignupOrLogin:()=>n(()=>import(`./PasskeySelectSignupOrLogin-xh2ScC_l-CIf5I7wU.js`),__vite__mapDeps([214,2,1,3,4,104,7,8,9,10,11,12,13]),import.meta.url),PasskeyStatusScreen:()=>n(()=>import(`./PasskeyStatusScreen-Bla8MaOk-CLoL7QC-.js`),__vite__mapDeps([215,1,2,3,4,104,7,8,11,9,10,12,13,40,41,42,56]),import.meta.url),PasswordRecoveryScreen:()=>n(()=>import(`./PasswordRecoveryScreen-awGXZkQk-B9F67IYV.js`),__vite__mapDeps([216,1,2,3,4,8,11,10,12,13,40,41,42,167,206,84]),import.meta.url),RecoveryOAuthScreen:()=>n(()=>import(`./RecoveryOAuthStatusScreen-CsgtTI2x-D-A5P3PX.js`),__vite__mapDeps([217,1,2,3,4,8,10,11,40,41,42,43,39,46,44,25,26,45,50,23,24,27,28,29,30,31,32,33,34,35,36,37,22,38,48,49,126,127,51,53,62,63,64,121,95,218]),import.meta.url),RecoverySelectionScreen:()=>n(()=>import(`./RecoverySelectionScreen-D1iGtpmi-P5P3plkH.js`),__vite__mapDeps([219,1,2,3,4,8,11,10,65,39,43,40,41,42,44,25,26,45,48,27,49,46,63,62,64,220,95,218]),import.meta.url),SendTransactionScreen:()=>n(()=>import(`./index-DvMddJcd-BatvgC-S.js`),__vite__mapDeps([221,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,172,7,58,156,8,11,9,10,12,13,40,41,42,59,111,222,44,45,65,39,43,48,49,46,63,62,64,82,168,188,74,88,89,90,91,98,97,68,69,150,149,162,163,187,126,127,50,51,53,121,84,95,108,109,99,100,116,189,202,209,210,113,112,223]),import.meta.url),SetAutomaticRecoveryScreen:()=>n(()=>import(`./SetAutomaticRecoveryScreen-BO_OEqAZ-f0iDIGmw.js`),__vite__mapDeps([224,1,2,3,4,8,11,10,65,39,43,40,41,42,44,25,26,45,48,27,49,46,63,62,64,163,220,90,91]),import.meta.url),SignRequestScreen:()=>n(()=>import(`./SignRequestScreen-BHKv32KR-DDpMYyJ1.js`),__vite__mapDeps([225,1,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,2,3,4,38,7,8,11,9,10,12,13,44,45,121,40,41,42,48,49,51,64,84,176,223]),import.meta.url),StandardSignAndSendTransactionScreen:()=>n(()=>import(`./StandardSignAndSendTransactionScreen-CfhIXVtd-BJ-onCjv.js`),__vite__mapDeps([226,1,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,2,3,4,38,172,7,58,156,8,11,9,10,12,13,40,41,42,59,111,222,44,45,65,39,43,48,49,46,63,62,64,82,168,188,74,88,89,90,91,98,97,68,69,150,149,162,163,187,47,50,51,52,53,227,107,84,95,109,113,112,183,195,210,100]),import.meta.url),TelegramAuthScreen:()=>n(()=>import(`./TelegramAuthScreen-UL9zLfO8-NWlMgNRX.js`),__vite__mapDeps([228,1,2,3,4,8,9,10,11,12,13,40,41,42,56,143]),import.meta.url),TransferFromWalletScreen:()=>n(()=>import(`./TransferFromWalletScreen-Qvn1Yuno-88IQcRnY.js`),__vite__mapDeps([229,1,2,3,4,8,11,10,43,39,40,41,42,48,25,26,27,44,45,49,62,63,65,46,64,95,85,90,92,89,101,102,7,103,104,9,12,13,47,22,23,24,28,29,30,31,32,33,34,35,36,37,38,50,51,52,53,105,68,106,96,83,144,16]),import.meta.url),UpdateEmailScreen:()=>n(()=>import(`./UpdateEmailScreen-DVOhPV0H-Jj2DQW8D.js`),__vite__mapDeps([230,1,2,3,4,136,7,8,10,11,9,12,13,48,25,26,27,40,41,42,44,45,49,65,39,43,46,63,62,64,118,74,73,84]),import.meta.url),UpdatePhoneScreen:()=>n(()=>import(`./UpdatePhoneScreen-CXRswTNZ-DwYIUBqi.js`),__vite__mapDeps([231,1,2,3,4,8,9,10,11,12,13,119,141,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,38,65,39,43,40,41,42,44,45,48,49,46,63,62,64,92,89]),import.meta.url),UserLimitReachedScreen:()=>n(()=>import(`./UserLimitReachedScreen-5we2DHn8-D7m70C4b.js`),__vite__mapDeps([232,3,1,8,2,4,9,10,11,12,13]),import.meta.url),WalletInterstitialScreen:()=>n(()=>import(`./WalletInterstitialScreen-Sh7LfsAh-DG-RuO-F.js`),__vite__mapDeps([233,1,2,3,4,8,9,10,11,12,13]),import.meta.url)});function rl(e){sn(`configureMfa`,e)}var il=ke((()=>({inProgressMfaFlow:void 0}))),al=()=>{let{ready:e}=A(),{currentScreen:t}=Te(),[n,r]=(0,q.useState)(null),[i,a]=(0,q.useState)(!1),o=function(e){let[t,n]=(0,q.useState)(!1),r=(0,q.useRef)(null),i=(0,q.useRef)(null),a=(0,q.useRef)(null);return(0,q.useEffect)((()=>{if(r.current&&=(clearTimeout(r.current),null),i.current&&=(clearTimeout(i.current),null),e)a.current=Date.now(),r.current=setTimeout((()=>{n(!0)}),150);else if(a.current!==null){let e=Date.now()-a.current;if(e>=150){let t=Math.max(0,400-(e-150));i.current=setTimeout((()=>{n(!1),a.current=null}),t)}else r.current&&=(clearTimeout(r.current),null),n(!1),a.current=null}return()=>{r.current&&clearTimeout(r.current),i.current&&clearTimeout(i.current)}}),[e]),t}(i);return(0,q.useEffect)((()=>{if(!t)return r(null),void a(!1);a(!0),nl[t]().then((n=>{(!t||e||n.default.isShownBeforeReady)&&(r((()=>n.default.component)),a(!1))})).catch((()=>{r(null),a(!1)}))}),[t,e]),{component:n,isLoading:o}},ol=(0,q.lazy)((()=>n(()=>import(`./MfaVerifyFlowScreen-C_XPjMRP-CXSqLVbE.js`),__vite__mapDeps([234,1,2,3,4,208,11,10,9,12,13,43,39,40,41,42,44,25,26,45,48,27,49,126,23,24,28,29,30,31,32,33,34,35,36,37,22,38,127,50,51,53,62,63,64,121,65,46,8,205,163,138,119,206,108,109,195,209,82,84,100,210,113,112]),import.meta.url))),sl=(0,q.lazy)((()=>(e=>nl[e]().then((e=>({default:e.default.component}))))(`MfaAuthVerifyFlowScreen`))),cl=()=>(0,Y.jsx)(ml,{children:(0,Y.jsx)(Oe,{})}),ll=()=>{let{currentScreen:e}=Te(),t=il((e=>e.inProgressMfaFlow)),n=()=>il.setState({inProgressMfaFlow:void 0}),{component:r,isLoading:i}=al();return function(){let{isModalOpen:e}=A(),{headless:t}=T(),{currentScreen:n}=Te(),{status:r,execute:i,reset:a,enabled:o}=qc(),[s,c]=(0,q.useState)(!1);(0,q.useEffect)((()=>{!e&&o&&a()}),[e,o,a]),(0,q.useEffect)((()=>{n?nl[n]().then((e=>{c(!!e.default.isCaptchaRequired)})).catch((()=>{c(!1)})):c(!1)}),[n]),(0,q.useEffect)((()=>{e&&s&&!t&&r===`ready`&&o&&i()}),[e,s,t,r,o,i])}(),e||t!==`txn`?i?(0,Y.jsx)(cl,{}):r?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(jr,{$if:!!t,children:(0,Y.jsx)(q.Suspense,{children:(0,Y.jsx)(r,{})})}),(0,Y.jsxs)(q.Suspense,{children:[t===`txn`&&(0,Y.jsx)(ol,{onClose:n}),t===`auth`&&(0,Y.jsx)(sl,{})]})]}):null:(0,Y.jsx)(q.Suspense,{children:(0,Y.jsx)(ol,{onClose:n})})},ul=()=>{let e=(0,q.useRef)(null);return(0,Y.jsx)(pl,{style:{height:Pr(e)},id:`privy-modal-content`,children:(0,Y.jsx)(`div`,{ref:e,children:(0,Y.jsx)(ll,{})})})},dl=({open:e})=>{let t=T(),{gracefulClosePrivyModal:n}=(()=>{let{closePrivyModal:e}=C(),{onUserCloseViaDialogOrKeybindRef:t}=Te();return{gracefulClosePrivyModal:(0,q.useCallback)((()=>{if(!t?.current)return e({shouldCallAuthOnSuccess:!1});t.current()}),[e,t])}})(),r=il((e=>e.inProgressMfaFlow));return rl({onMfaRequired:()=>{t.mfa.noPromptOnMfaRequired||il.setState({inProgressMfaFlow:`txn`})}}),t.render.standalone?(0,Y.jsx)(jc,{children:(0,Y.jsx)(fl,{id:`privy-modal-content`,children:(0,Y.jsx)(ll,{})})}):(0,Y.jsx)(Mc,{open:!(!e&&!r),id:`privy-dialog`,"aria-label":`log in or sign up`,"aria-labelledby":`privy-dialog-title`,onClick:()=>n(),children:(0,Y.jsx)(jc,{children:(0,Y.jsx)(ul,{})})})},fl=De.div`
|
|
408
|
+
display: flex;
|
|
409
|
+
flex-direction: column;
|
|
410
|
+
text-align: center;
|
|
411
|
+
font-size: 14px;
|
|
412
|
+
line-height: 20px;
|
|
413
|
+
width: 100%;
|
|
414
|
+
background: var(--privy-color-background);
|
|
415
|
+
padding: 0 16px;
|
|
416
|
+
`,pl=De(fl)`
|
|
417
|
+
transition: height 150ms ease-out;
|
|
418
|
+
overflow: hidden auto;
|
|
419
|
+
scrollbar-width: none;
|
|
420
|
+
|
|
421
|
+
/* Ensure the modal gets pinned to the top if it ever gets too tall */
|
|
422
|
+
max-height: calc(100svh - 32px);
|
|
423
|
+
|
|
424
|
+
border-radius: var(--privy-border-radius-lg) var(--privy-border-radius-lg) 0 0;
|
|
425
|
+
box-shadow: var(--privy-shadow-sheet);
|
|
426
|
+
|
|
427
|
+
@media (min-width: 441px) {
|
|
428
|
+
box-shadow: var(--privy-shadow-modal);
|
|
429
|
+
border-radius: var(--privy-border-radius-lg);
|
|
430
|
+
}
|
|
431
|
+
`,ml=De.div`
|
|
432
|
+
display: flex;
|
|
433
|
+
align-items: center;
|
|
434
|
+
justify-content: center;
|
|
435
|
+
min-height: 300px;
|
|
436
|
+
padding: 2rem;
|
|
437
|
+
`;function hl(e){let t=(0,q.useRef)(null),n=(0,q.useRef)(null);return(0,q.useEffect)((()=>{n.current?.remove(),n.current=function({botUsername:e,scriptHost:t}){let n=document.createElement(`script`),{origin:r}=new URL(t);return n.async=!0,n.src=`${r}/js/telegram-login.js`,n.setAttribute(`data-telegram-login`,e),n.setAttribute(`data-request-access`,`write`),n.setAttribute(`data-lang`,`en`),n}(e),t.current?.after(n.current)}),[e]),(0,Y.jsx)(`div`,{ref:t,hidden:!0})}var gl=()=>{let{ready:e,wallets:t}=Re();return(0,q.useEffect)((()=>{if(!e)return;let n=t.map((e=>({address:e.address,connectorType:e.connectorType,walletClientType:e.walletClientType,connectedAt:e.connectedAt,id:e.meta.id})));Xt.put(w,n)}),[e,t]),null},_l=(e,t,n)=>{let{promise:r,reject:i}=pr(),a=setTimeout((()=>i(Error(`Timed out after ${t}ms`))),t);return n&&n.addEventListener(`abort`,(()=>clearTimeout(a)),{once:!0}),Promise.race([e,r]).finally((()=>clearTimeout(a)))},vl=[`error`,`invalid_request_arguments`,`wallet_not_on_device`,`invalid_recovery_pin`,`insufficient_funds`,`missing_or_invalid_mfa`,`mfa_verification_max_attempts_reached`,`mfa_timeout`,`twilio_verification_failed`],X=class extends Error{constructor(e,t){super(t),this.type=e}};function yl(e){let t=e.type;return typeof t==`string`&&vl.includes(t)}function bl(e){return yl(e)&&e.type===`wallet_not_on_device`}function xl(e){return yl(e)&&(e.type===`invalid_recovery_pin`||e.type===`invalid_request_arguments`)}function Sl(e){return!!yl(e)&&e.type===`mfa_timeout`}function Cl(e){return!!yl(e)&&e.type===`missing_or_invalid_mfa`}function wl(e){return!!yl(e)&&e.type===`mfa_verification_max_attempts_reached`}function Tl(e){return!(!yl(e)||!e.message.includes(`code 429`))}function El(e){return!!function(e){let t=e.type;return typeof t==`string`&&t===`client_error`}(e)&&e.message===`MFA canceled`}async function Dl(e,t,n,r,i,a=!1){let o=a,s=async s=>o&&t&&t.length>0?(s===+!a?i(`configureMfa`,`onMfaRequired`,{mfaMethods:t}):r.current?.reject(new X(`missing_or_invalid_mfa`,`MFA verification failed, retry.`)),await e(await new Promise(((e,t)=>{n.current={resolve:e,reject:t},setTimeout((()=>{let e=new X(`mfa_timeout`,`Timed out waiting for MFA code`);r.current?.reject(e),t(e)}),3e5)})))):await e(),c=null;for(let e=0;e<4;e++)try{c=await s(e),r.current?.resolve(void 0);break}catch(e){if(e.type!==`missing_or_invalid_mfa`)throw r.current?.resolve(void 0),e;o=!0}if(c===null){let e=new X(`mfa_verification_max_attempts_reached`,`Max MFA verification attempts reached`);throw r.current?.reject(e),e}return c}var Ol=0,kl=()=>`id-`+Ol++;function Z(e){return e.error!==void 0}var Q=new class{enqueue(e,t){this.callbacks[e]=t}dequeue(e,t){let n=this.callbacks[t];if(!n)throw Error(`cannot dequeue ${e} event: no event found for id ${t}`);switch(delete this.callbacks[t],e){case`privy:iframe:ready`:case`privy:user-signer:sign`:case`privy:wallets:add`:case`privy:wallets:import`:case`privy:wallets:import-seed-phrase`:case`privy:wallets:set-recovery`:case`privy:wallets:connect`:case`privy:wallets:recover`:case`privy:wallets:rpc`:case`privy:wallet:create`:case`privy:mfa:verify`:case`privy:mfa:init-enrollment`:case`privy:mfa:submit-enrollment`:case`privy:mfa:unenroll`:case`privy:mfa:clear`:case`privy:auth:unlink-passkey`:case`privy:farcaster:init-signer`:case`privy:farcaster:sign`:case`privy:solana-wallet:create`:case`privy:delegated-actions:consent`:return n;default:throw Error(`invalid wallet event type ${e}`)}}constructor(){this.callbacks={}}},Al=new Map,jl=(e,t)=>typeof t==`bigint`?t.toString():t;function $(e,t,n,r){let i=n.contentWindow;if(!i)throw Error(`iframe not initialized`);let a=((e,t)=>`${e}${JSON.stringify(t,jl)}`)(e,t);if(e===`privy:wallet:create`||e===`privy:wallets:add`||e===`privy:solana-wallet:create`){let e=Al.get(a);if(e)return e}let o=new Promise(((n,a)=>{let o=kl();Q.enqueue(o,{resolve:n,reject:a}),i.postMessage({id:o,event:e,data:t},r)})).finally((()=>{Al.delete(a)}));return Al.set(a,o),o}function Ml(e){let t=ie(),n=(0,q.useRef)(null),r=(0,q.useRef)(e.mfaMethods),i=an(),[a,o]=(0,q.useState)(!1);return r.current=e.mfaMethods,(0,q.useEffect)((()=>{if(!a)return;let t=n.current;if(!t)return;function o(t){var n;t&&t.origin===e.origin&&typeof(n=t.data).event==`string`&&/^privy:.+/.test(n.event)&&function(e){switch(e.event){case`privy:iframe:ready`:let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data);case`privy:user-signer:sign`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:wallets:add`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:wallets:set-recovery`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:wallets:connect`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:wallets:recover`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:wallets:rpc`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:wallet:create`:let n=Q.dequeue(e.event,e.id);return Z(e)?n.reject(new X(e.error.type,e.error.message)):n.resolve(e.data);case`privy:wallets:import`:let r=Q.dequeue(e.event,e.id);return Z(e)?r.reject(new X(e.error.type,e.error.message)):r.resolve(e.data);case`privy:wallets:import-seed-phrase`:let i=Q.dequeue(e.event,e.id);return Z(e)?i.reject(new X(e.error.type,e.error.message)):i.resolve(e.data);case`privy:mfa:verify`:let a=Q.dequeue(e.event,e.id);return Z(e)?a.reject(new X(e.error.type,e.error.message)):a.resolve(e.data);case`privy:mfa:init-enrollment`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:mfa:submit-enrollment`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:mfa:unenroll`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:mfa:clear`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:auth:unlink-passkey`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:solana-wallet:create`:let o=Q.dequeue(e.event,e.id);return Z(e)?o.reject(new X(e.error.type,e.error.message)):o.resolve(e.data);case`privy:farcaster:init-signer`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:farcaster:sign`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}case`privy:delegated-actions:consent`:{let t=Q.dequeue(e.event,e.id);return Z(e)?t.reject(new X(e.error.type,e.error.message)):t.resolve(e.data)}default:console.warn(`Unsupported wallet proxy method:`,e)}}(t.data)}let s={signWithUserSigner:n=>Dl((r=>$(`privy:user-signer:sign`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),addWallet:n=>Dl((r=>$(`privy:wallets:add`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),setRecovery:n=>Dl((r=>$(`privy:wallets:set-recovery`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),connect:n=>Dl((r=>$(`privy:wallets:connect`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),recover:n=>Dl((r=>$(`privy:wallets:recover`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i,!n.recoveryAccessToken&&!n.recoveryPassword&&!n.recoverySecretOverride),rpc:n=>Dl((r=>$(`privy:wallets:rpc`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),create:n=>$(`privy:wallet:create`,n,t,e.origin),importWallet:n=>$(`privy:wallets:import`,n,t,e.origin),importSeedPhrase:n=>$(`privy:wallets:import-seed-phrase`,n,t,e.origin),createSolana:n=>Dl((r=>$(`privy:solana-wallet:create`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),createDelegatedAction:n=>Dl((r=>$(`privy:delegated-actions:consent`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),verifyMfa:n=>Dl((r=>$(`privy:mfa:verify`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i,!0),initEnrollMfa:n=>Dl((r=>$(`privy:mfa:init-enrollment`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),submitEnrollMfa:n=>Dl((r=>$(`privy:mfa:submit-enrollment`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),unenrollMfa:n=>Dl((r=>$(`privy:mfa:unenroll`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),clearMfa:n=>_l($(`privy:mfa:clear`,n,t,e.origin),15e3).catch((e=>{throw e instanceof Error&&e.message.includes(`Timed out`)?new X(`mfa_timeout`,`MFA operation timed out`):e})),unlinkPasskeyAccount:n=>Dl((r=>$(`privy:auth:unlink-passkey`,{...n,...r},t,e.origin)),r.current,e.mfaPromise,e.mfaSubmitPromise,i),initFarcasterSigner:n=>$(`privy:farcaster:init-signer`,n,t,e.origin),signFarcasterMessage:n=>$(`privy:farcaster:sign`,n,t,e.origin)};window.addEventListener(`message`,o);let c=new AbortController;return Gt((()=>$(`privy:iframe:ready`,{},t,e.origin)),{abortSignal:c.signal}).then((()=>e.onLoad(s)),((...t)=>{console.warn(`Privy iframe failed to load: `,...t),e.onLoadFailed()})),()=>{window.removeEventListener(`message`,o),c.abort()}}),[a]),t?(0,Y.jsx)(`iframe`,{ref:n,width:`0`,height:`0`,style:{display:`none`,height:`0px`,width:`0px`},onLoad:()=>o(!0),src:Ir({origin:e.origin,path:`/apps/${e.appId}/embedded-wallets`,query:{caid:e.clientAnalyticsId,client_id:e.appClientId}})}):null}var Nl=({address:e,user:t})=>{let n=t.linkedAccounts.find((t=>t.type===`wallet`&&t.walletClientType===`privy`&&t.address===e));if(!n)throw new P(`Address to delegate is not associated with current user.`);if(!nn(n))throw new P(`useDelegatedActions is not supported for ${n.chainType} wallets. Use the useSessionSigners hook to provision server side access on behalf of your users.`);return{address:n.address,chainType:n.chainType,walletIndex:n.walletIndex??0}},Pl=({address:e,user:t})=>{let n=t.linkedAccounts.find((t=>t.type===`wallet`&&t.walletClientType===`privy`&&t.address===e));if(!n)throw new P(`Address to delegate is not associated with current user.`);let r=n.imported?n:ve(t);if(!r)throw new P(`Unable to determine root address for delegated address.`);if(!nn(r))throw new P(`useDelegatedActions is not supported for ${r.chainType} wallets. Use the useSessionSigners hook to provision server side access on behalf of your users.`);return{address:r.address,chainType:r.chainType,imported:r.imported}},Fl=e=>e.linkedAccounts.filter((e=>e.type===`wallet`&&e.walletClientType===`privy`&&e.delegated)),Il=`popup-privy-oauth`,Ll=`PRIVY_OAUTH_USE_BROADCAST_CHANNEL`;function Rl({isCreatingWallet:e,skipSplashScreen:t}){return e?`EmbeddedWalletPasswordCreateScreen`:t?`EmbeddedWalletPasswordUpdateScreen`:`EmbeddedWalletPasswordUpdateSplashScreen`}function zl({walletAction:e,availableRecoveryMethods:t,legacySetWalletPasswordFlow:n,isResettingPassword:r,showAutomaticRecovery:i}){return i?`SetAutomaticRecoveryScreen`:n||t.length===1?Rl({isCreatingWallet:e===`create`,skipSplashScreen:r}):`RecoverySelectionScreen`}function Bl(e){switch(e){case`user-passcode`:return`PasswordRecoveryScreen`;case`google-drive`:case`icloud`:return`RecoveryOAuthScreen`;default:throw Error(`Recovery method not supported`)}}var Vl=[`warpcast.com`,`farcaster.xyz`],Hl=[`farcaster`,`fid`];async function Ul(){if(globalThis.window!==void 0&&function(){if(globalThis.window===void 0)return!1;try{if(globalThis.document===void 0)return!1;let e=globalThis.window,t=globalThis.document,n=!1;if(t.referrer){let e=t.referrer.toLowerCase();n=Vl.some((t=>e.includes(t)))}let r=!!e.farcaster,i=new URLSearchParams(e.location.search),a=Hl.some((e=>i.has(e)));return n||r||a}catch{return!1}}())try{await n(()=>import(`./react-auth-sHnipzbS.js`),[],import.meta.url),console.debug(`[Privy] Farcaster Solana wallet registered`)}catch(e){console.debug(`[Privy] Farcaster Solana wallet not available (package may not be installed)`),function(){try{return typeof process<`u`&&!1}catch{return!1}}()&&e&&console.debug(`[Privy] Farcaster Solana init error:`,e)}}function Wl(e,t){if(e.onComplete)switch(t){case`external`:e.fundingResult?e.onComplete({...e.fundingResult,fundingMethod:t}):e.onComplete({status:`cancelled`,address:e.address,fundingMethod:t,amount:e.amount});break;case null:e.onComplete({status:`cancelled`,address:e.address,fundingMethod:void 0,amount:e.amount});break;default:e.onComplete({status:`completed`,address:e.address,fundingMethod:t,amount:e.amount})}}function Gl(e,t,n,r,i,a,o){return{...e,funding:e?.funding?{...e.funding,fundingResult:{status:t,address:e.funding.address,fundingMethod:void 0,transactionHash:n,amount:e.funding.amount,assetType:i?a?.symbol||`ETH`:o.nativeCurrency.symbol||`ETH`,metadata:{walletClientType:r}}}:void 0,solanaFundingData:e?.solanaFundingData,sendTransaction:e?.sendTransaction}}var Kl=new Map([[`FundingMethodSelectionScreen`,null],[`TransferFromWalletScreen`,`external`],[`FundingAmountEditScreen`,`external`],[`ConnectOnlyLandingScreen`,`external`],[`ConnectOnlyStatusScreen`,`external`],[`AwaitingExternalEthereumTransferScreen`,`external`],[`AwaitingEvmToSolBridgingScreen`,`external`],[`AwaitingSolToEvmBridgingScreen`,`external`],[`ManualTransferScreen`,`manual`],[`MoonpayStatusScreen`,`moonpay`],[`CoinbaseOnrampStatusScreen`,`coinbase-onramp`]]);function ql(e){let t=e.toLowerCase();return!!window?.webkit?.messageHandlers?.ReactNativeWebView||!!window?.ReactNativeWebView||[`fbav`,`fban`,`instagram`,`snapchat`,`linkedinapp`].some((e=>t.includes(e)))}async function Jl({rpc:e,address:t}){return(await e.getBalance(t,{commitment:`confirmed`}).send()).value??0n}function Yl(){return function(){if(typeof window<`u`)return window.Telegram}()?.WebApp?.initData||void 0}var Xl={apple_oauth:`apple`,custom_auth:`custom`,discord_oauth:`discord`,email:`email`,farcaster:`farcaster`,github_oauth:`github`,google_oauth:`google`,instagram_oauth:`instagram`,linkedin_oauth:`linkedin`,passkey:`passkey`,phone:`sms`,spotify_oauth:`spotify`,telegram:`telegram`,tiktok_oauth:`tiktok`,line_oauth:`line`,twitch_oauth:`twitch`,twitter_oauth:`twitter`,wallet:`siwe`,smart_wallet:`siwe`,cross_app:`privy:`},Zl=e=>{if(re(e))return{displayName:e.replace(`custom:`,``),loginMethod:`custom`};let t=Xl[e];return e===`wallet`||e===`phone`?{displayName:e,loginMethod:t}:{displayName:t,loginMethod:t}},Ql=()=>{let e=T(),{user:t}=A(),{client:n,refreshSessionAndUser:r,walletProxy:i}=C();return{migrate:(0,q.useCallback)((async()=>{if(e.embeddedWallets.mode===`legacy-embedded-wallets-only`)return{success:!0,migrated:!1};if(!t)throw new P(`User must be authenticated before migrating wallets`,F.MUST_BE_AUTHENTICATED);if(!i)throw new P(`Cannot connect to wallet proxy`);let a=await n.getAccessToken();if(!a)throw new P(`User must be authenticated before migrating wallets`,F.MUST_BE_AUTHENTICATED);let o=t.linkedAccounts.filter((e=>e.type===`wallet`&&e.walletClientType===`privy`&&nn(e)&&!D(e)));if(o.length===0)return{success:!0,migrated:!1};let s=o.filter((e=>e.imported)),c=o.filter((e=>!e.imported));if(c.length>0){let e=c.find((e=>e.chainType===`ethereum`&&e.walletIndex===0))??c.find((e=>e.chainType===`solana`&&e.walletIndex===0))??null;if(!e)throw new P(`Primary wallet not found`);let{entropyId:t,entropyIdVerifier:n}=R(e);try{await i.connect({accessToken:a,entropyId:t,entropyIdVerifier:n})}catch(r){if(!bl(r)||e.recoveryMethod!==`privy`)throw r;await i.recover({accessToken:a,entropyId:t,entropyIdVerifier:n})}await i.createDelegatedAction({accessToken:a,rootWallet:{address:e.address,chainType:e.chainType,imported:!1},delegatedWallets:c.map((e=>({address:e.address,chainType:e.chainType,walletIndex:e.walletIndex??0})))})}for(let e of s){let{entropyId:t,entropyIdVerifier:n}=R(e);try{await i.connect({accessToken:a,entropyId:t,entropyIdVerifier:n})}catch(r){if(!bl(r)||e.recoveryMethod!==`privy`)throw r;await i.recover({accessToken:a,entropyId:t,entropyIdVerifier:n})}await i.createDelegatedAction({accessToken:a,rootWallet:{address:e.address,chainType:e.chainType,imported:!0},delegatedWallets:[{address:e.address,chainType:e.chainType,walletIndex:e.walletIndex??0}]})}return await r(),{success:!0,migrated:!0}}),[e.embeddedWallets.mode,t,i,n,r])}},$l=({disabled:e})=>{let{migrate:t}=Ql(),{user:n}=A(),{walletProxy:r}=C(),i=(0,q.useRef)(!1),a=(0,q.useRef)(0);return(0,q.useEffect)((()=>{e||a.current>2||i.current||!n||!r||(i.current=!0,a.current++,t().catch((e=>{console.debug(`Unable to migrate wallets: `,e)})).finally((()=>{i.current=!1})))}),[n,r,e,t]),null},eu=e=>({id:e.id,raw_id:e.rawId,response:{client_data_json:e.response.clientDataJSON,authenticator_data:e.response.authenticatorData,signature:e.response.signature,user_handle:e.response.userHandle},authenticator_attachment:e.authenticatorAttachment,client_extension_results:{app_id:e.clientExtensionResults.appid,cred_props:e.clientExtensionResults.credProps,hmac_create_secret:e.clientExtensionResults.hmacCreateSecret},type:e.type}),tu=()=>{let{ethereumEmbedded:e,ethereumExternal:t}=Ve.getState();return[...e,...t]},nu=(e,t,n)=>!(se(e).length>0||ae(e).length>0||!1===n||t!==`all-users`&&(t!==`users-without-wallets`||ru(e).length)),ru=e=>e.linkedAccounts.filter((e=>e.type===`wallet`&&e.chainType===`ethereum`)),iu=(e,t,n)=>!(E(e).length>0||k(e).length>0||!1===n||t!==`all-users`&&(t!==`users-without-wallets`||au(e).length)),au=e=>e.linkedAccounts.filter((e=>e.type===`wallet`&&e.chainType===`solana`)),ou=Symbol(`wallet-creation-on-login-plugin`);function su(e){return{id:ou,shouldCreateWallet:e.shouldCreateWallet}}var cu=()=>{let{walletProxy:e,recoverEmbeddedWallet:t,setUser:n,refreshSessionAndUser:r,privy:i,client:a}=C(),o=T();return{create:async({walletIndex:s,chainType:c,latestUser:l,recoveryMethod:u,recoveryPassword:d,recoveryAccessToken:f,idempotencyKey:p})=>{let m=l;m||=await r();let h=await a.getAccessToken();if(!m||!h||!e)throw Error(`User must be authenticated before creating a Privy wallet`);return await fn({appConfig:o,user:m,refreshSessionAndUser:r,privy:i,accessToken:h,proxy:e,recoverEmbeddedWallet:t,setUser:n,walletIndex:s,chainType:c,recoveryMethod:u,recoveryPassword:d,recoveryAccessToken:f,idempotencyKey:p})}}};function lu({subscribe:e,getExternalJwt:t,enabled:n=!0,onAuthenticated:r,onUnauthenticated:i,onError:a}){let{client:o,setAuthenticated:s,setUser:c,setIsNewUser:l}=C(),{logout:u,authenticated:d,ready:f}=gn(),p=lr(),{create:m}=cu(),h=T();if(!o)throw new P("`useSyncJwtBasedAuthState` must be used within a `PrivyProvider`");let[g,_]=(0,q.useState)({status:`initial`}),v=(0,q.useRef)(void 0),ee=(0,q.useRef)(!1),y=(0,q.useRef)(t);(0,q.useEffect)((()=>{y.current=t}),[t]);let te=(0,q.useRef)(r);(0,q.useEffect)((()=>{te.current=r}),[r]);let b=(0,q.useRef)(i);(0,q.useEffect)((()=>{b.current=i}),[i]);let ne=(0,q.useRef)(a);(0,q.useEffect)((()=>{ne.current=a}),[a]);let x=(0,q.useRef)(m);(0,q.useEffect)((()=>{x.current=m}),[m]);let S=(0,q.useRef)(h.embeddedWallets.ethereum.createOnLogin);(0,q.useEffect)((()=>{S.current=h.embeddedWallets.ethereum.createOnLogin}),[h.embeddedWallets.ethereum.createOnLogin]);let w=(0,q.useRef)(h.embeddedWallets.solana.createOnLogin);(0,q.useEffect)((()=>{w.current=h.embeddedWallets.solana.createOnLogin}),[h.embeddedWallets.solana.createOnLogin]);let E=(0,q.useRef)(c);(0,q.useEffect)((()=>{E.current=c}),[c]);let re=(0,q.useRef)(l);(0,q.useEffect)((()=>{re.current=l}),[l]);let ie=(0,q.useRef)(s);return(0,q.useEffect)((()=>{ie.current=s}),[s]),(0,q.useEffect)((()=>{if(!n||!f)return;let t=async()=>{if(!ee.current){ee.current=!0;try{_({status:`loading`});let e=await y.current();if(v.current!==void 0&&v.current===e)return void _({status:`done`});if(!e)return d&&(await u(),b.current?.()),v.current=e,void _({status:`done`});o.startAuthFlow(new $n(e));let{user:t,isNewUser:n=!1}=await o.authenticate();if(!t)throw new P(`Failed to sync with custom auth provider`);te.current?.({user:t,isNewUser:n}),E.current(t),re.current(n),ie.current(!0);let r=p(ou)?.shouldCreateWallet({user:t}),i=nu(t,S.current,r),a=iu(t,w.current,r);if(i&&a){let e=await x.current({chainType:`ethereum`,walletIndex:0,latestUser:t});await x.current({chainType:`solana`,walletIndex:0,latestUser:e.user})}else a?await x.current({chainType:`solana`,walletIndex:0,latestUser:t}):i&&await x.current({chainType:`ethereum`,walletIndex:0,latestUser:t});v.current=e,_({status:`done`})}catch(e){if(console.warn(e),await u().catch((()=>{})),b.current?.(),e instanceof Pe&&e.privyErrorCode===F.LINKED_TO_ANOTHER_USER)return _({status:`initial`}),void setTimeout((()=>{t()}),0);ne.current?.(e),_({status:`error`,error:e})}finally{ee.current=!1}}};return t(),e(t)}),[e,o,d,u,n,f,p]),n?{state:g}:{state:{status:`not-enabled`}}}var uu=ke((()=>({jwtAuthFlowState:{status:`not-enabled`}})));function du({customAuth:e}){let{jwtAuthFlowState:t}=function({customAuth:e}){let t=an(),n=(0,q.useRef)(void 0),r=(0,q.useCallback)((e=>(n.current=e,()=>{n.current=void 0})),[]),i=e?.getCustomAccessToken??(()=>Promise.resolve(void 0)),{state:a}=lu({enabled:!0===e?.enabled,subscribe:r,getExternalJwt:i,onAuthenticated:({user:e,isNewUser:n})=>{t(`login`,`onComplete`,{user:e,isNewUser:n,wasAlreadyAuthenticated:!1,loginMethod:`custom`,loginAccount:null}),t(`customAuth`,`onAuthenticated`,{user:e})},onUnauthenticated:()=>{t(`customAuth`,`onUnauthenticated`)},onError:e=>{t(`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR)}});return(0,q.useEffect)((()=>{(async()=>{e&&!e.isLoading&&n.current?.()})()}),[e?.enabled,e?.getCustomAccessToken,e?.isLoading]),{jwtAuthFlowState:a}}({customAuth:e});return(0,q.useEffect)((()=>{uu.setState({jwtAuthFlowState:t})}),[t]),null}var fu=[`eth_sign`,`eth_populateTransactionRequest`,`eth_signTransaction`,`personal_sign`,`eth_signTypedData_v4`,`csw_signUserOperation`,`secp256k1_sign`],pu=class extends Error{constructor(e,t,n){super(e),this.code=t,this.data=n}},mu=class extends or{async handleSendTransaction(e){if(!e.params||!Array.isArray(e.params))throw new pu(`Invalid params for ${e.method}`,4200);let t=e.params[0];if(c(t))throw new pu(`Tempo (type 118) transactions are not supported via the EIP-1193 provider. Use useSendTransaction from @privy-io/react-auth/tempo instead.`,4200);if(!await K()||!this.address)throw new pu(`Disconnected`,4900);let{hash:n}=await Ou({...t,chainId:t.chainId??Ft(this.chainId)},{address:this.address});return n}async handleSignTransaction(e){if(!e.params||!Array.isArray(e.params))throw new pu(`Invalid params for ${e.method}`,4200);let t=e.params[0];if(Un(t))return this.handleSignTempoTransaction(t);if(!await K()||!this.address)throw new pu(`Disconnected`,4900);let{signature:n}=await Du({...t,chainId:t.chainId??Ft(this.chainId)},{address:this.address});return n}async handleSignTempoTransaction(e){let t,n=await K();if(!n||!this.address)throw new pu(`Disconnected`,4900);let r=this.walletAccount;if(!r||!D(r))throw new pu(`Tempo (type 118) transactions are only supported on Unified embedded wallets`,4200);let i=this.privyClient;if(!i)throw new pu(`Disconnected`,4900);try{t=l(tr(e))}catch(e){throw new pu(e instanceof Error?e.message:`Invalid Tempo transaction`,4200)}let a=await h(i,(async({message:e})=>this.walletProxy.signWithUserSigner({accessToken:n,message:e})),{chain_type:`ethereum`,method:`eth_signTransaction`,wallet_id:r.id,params:{transaction:t}});if(a.method!==`eth_signTransaction`||!(`signed_transaction`in a.data))throw new pu(`Unable to sign transaction`,4200);return a.data.signed_transaction}handleSwitchEthereumChain(e){let t;if(!e.params||!Array.isArray(e.params))throw new pu(`Invalid params for ${e.method}`,4200);if(typeof e.params[0]==`string`)t=e.params[0];else{if(!(`chainId`in e.params[0])||typeof e.params[0].chainId!=`string`)throw new pu(`Invalid params for ${e.method}`,4200);t=e.params[0].chainId}this.chainId=Number(t),this.publicClient=$t(this.chainId,this.chains,this.rpcConfig,{appId:this.appId}),this.emit(`chainChanged`,t)}async handlePersonalSign(e){if(!e.params||!Array.isArray(e.params))throw Error(`Invalid params for personal_sign`);let t=e.params[0],n=e.params[1],{signature:r}=await Tu({message:t},{address:n});return r}async handleSignedTypedData(e){if(!e.params||!Array.isArray(e.params))throw Error(`Invalid params for eth_signTypedData_v4`);let t=e.params[0],n=typeof e.params[1]==`string`?JSON.parse(e.params[1]):e.params[1],r=e.params[2],{signature:i}=await Eu(en(n),{address:t,signatureOptions:r?.signatureOptions,caip2:r?.caip2});return i}async handleEstimateGas(e){if(!e.params||!Array.isArray(e.params))throw Error(`Invalid params for eth_estimateGas`);if(delete e.params[0].gasPrice,delete e.params[0].maxFeePerGas,delete e.params[0].maxPriorityFeePerGas,c(e.params[0]))throw new pu(`Tempo (type 118) transactions are not supported via the EIP-1193 provider. Use useSendTransaction from @privy-io/react-auth/tempo instead.`,4200);let t={...e.params[0],chainId:Ft(this.chainId)};return await this.publicClient.estimateGas({account:t.from??this.address,...y(t)})}async request(e){switch(console.debug(`Embedded1193Provider.request() called with args`,e),e.method){case`eth_accounts`:case`eth_requestAccounts`:return this.address?[this.address]:[];case`eth_chainId`:return Ft(this.chainId);case`eth_estimateGas`:return this.handleEstimateGas(e);case`eth_sendTransaction`:return this.handleSendTransaction(e);case`eth_signTransaction`:return this.handleSignTransaction(e);case`wallet_switchEthereumChain`:return this.handleSwitchEthereumChain(e);case`personal_sign`:return this.handlePersonalSign(e);case`eth_signTypedData_v4`:return this.handleSignedTypedData(e)}if(!(e=>fu.includes(e))(e.method))return this.publicClient.request({method:e.method,params:e.params});{let t=await K();if(await ku({address:this.address}),!t||!this.address)throw new pu(`Disconnected`,4900);try{let n={method:e.method,params:e.params},r=this.walletAccount;return r&&D(r)?this.handleWalletApiRequest(n,r,t):(await this.walletProxy.rpc({accessToken:t,entropyId:this.entropyId,entropyIdVerifier:this.entropyIdVerifier,chainType:`ethereum`,hdWalletIndex:this.walletIndex,request:n})).response.data}catch(e){throw console.error(e),new pu(`Disconnected`,4900)}}}async handleWalletApiRequest(e,t,n){let r=this.privyClient;if(!r)throw new pu(`Disconnected`,4900);if(e.method===`secp256k1_sign`){let i=await h(r,(async({message:e})=>this.walletProxy.signWithUserSigner({accessToken:n,message:e})),{chain_type:`ethereum`,method:`secp256k1_sign`,wallet_id:t.id,params:{hash:e.params[0]}});if(i.method!==`secp256k1_sign`)throw new pu(`Invalid params for ${e.method}`,4200);return i.data.signature}throw new pu(`Method not supported: ${e.method}`,4200)}constructor({walletProxy:e,address:t,entropyId:n,entropyIdVerifier:r,rpcConfig:i,chains:a,appId:o,chainId:s=1,walletIndex:c,privyClient:l,walletAccount:u}){super(),this.walletProxy=e,this.address=t,this.entropyId=n,this.entropyIdVerifier=r,this.chainId=s,this.rpcConfig=i,this.chains=a,this.publicClient=$t(s,this.chains,i,{appId:o}),this.rpcTimeoutDuration=Kn(i,`privy`),this.appId=o,this.walletIndex=c,this.privyClient=l,this.walletAccount=u}},hu=({...e}={})=>(0,Y.jsx)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 15 15`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Y.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M2.37126 11.0323C2.37126 12.696 3.90598 13.4421 5.40654 13.4468C8.91753 13.4468 12.8021 11.2897 12.7819 7.67984C12.7673 5.07728 10.3748 2.86167 7.54357 2.88296C4.8495 2.88296 2.21821 4.6411 2.21803 7.03628C2.21803 7.67951 2.58722 8.30178 3.55231 8.37184C2.74763 9.16826 2.37126 10.1225 2.37126 11.0323ZM7.55283 8.68012C8.11562 8.68012 8.57186 8.13217 8.57186 7.45624C8.57186 6.78032 8.11562 6.23237 7.55283 6.23237C6.99003 6.23237 6.53379 6.78032 6.53379 7.45624C6.53379 8.13217 6.99003 8.68012 7.55283 8.68012ZM10.4747 8.68012C11.0375 8.68012 11.4937 8.13217 11.4937 7.45625C11.4937 6.78032 11.0375 6.23237 10.4747 6.23237C9.91186 6.23237 9.45562 6.78032 9.45562 7.45625C9.45562 8.13217 9.91186 8.68012 10.4747 8.68012Z`,fill:e.color||`var(--privy-color-foreground-3)`})}),gu=[],_u={},vu=()=>((()=>{let e=T(),{user:t}=A(),{walletProxy:n,privy:r}=C(),{fundWallet:i}=Ar(),[a,o]=(0,q.useState)(_u),s=(0,q.useRef)(i);(0,q.useEffect)((()=>{s.current=i}),[i]);let c=(0,q.useMemo)((()=>t&&n?t.linkedAccounts.filter((e=>e.type===`wallet`&&e.chainType===`ethereum`&&e.walletIndex!==null&&e.walletClientType===`privy`)):gu),[t,n]);(0,q.useEffect)((()=>{if(c.length<1)return void Ve.setState({ethereumEmbedded:[]});let i=wr(),l=c.map((c=>{let l=a[c.address]??e.defaultChain.id,u=()=>{if(!t||!n)throw new P(`User not ready`);let{entropyId:i,entropyIdVerifier:a}=Fe(t,c);return new mu({walletProxy:n,address:c.address,entropyId:i,entropyIdVerifier:a,rpcConfig:e.rpcConfig,chains:e.chains,appId:e.id,chainId:l,walletIndex:c.walletIndex,privyClient:r,walletAccount:c})},d=i.find((e=>e.address===c.address&&e.connectorType===c.connectorType&&e.walletClientType===c.walletClientType))?.connectedAt??c.firstVerifiedAt?.getTime()??Date.now();return{fund:async e=>{await s.current({address:c.address,options:e})},type:`ethereum`,chainId:`eip155:${l}`,switchChain:async e=>{o((t=>({...t,[c.address]:Number(e)})))},getEthereumProvider:async()=>u(),sign:async e=>await u().request({method:`personal_sign`,params:[Ge(e),c.address]}),address:c.address,connectedAt:d,walletClientType:`privy`,connectorType:c.imported?`embedded_imported`:`embedded`,imported:c.imported,meta:{name:`Privy Wallet`,icon:hu,id:`io.privy.wallet`},isConnected:async()=>!0,disconnect:()=>{},linked:!0,loginOrLink:async()=>{throw new P(`Cannot link or login with embedded wallet`)},unlink:async()=>{throw new P(`Cannot unlink with embedded wallet`)},walletIndex:c.walletIndex}}));Ve.setState((e=>e.ethereumEmbedded.length===l.length&&e.ethereumEmbedded.every(((e,t)=>{let n=l[t];return e.address===n.address&&e.chainId===n.chainId&&e.connectorType===n.connectorType&&e.connectedAt===n.connectedAt}))?{}:{ethereumEmbedded:l}))}),[c,e.chains,e.defaultChain.id,e.id,e.rpcConfig,a,r,t,n])})(),null),yu,bu,xu,Su,Cu,wu=e=>{let t=e.client,r=e.privy,i=T();_r(xr(i?.appearance.walletList??[]));let[a,s]=(0,q.useState)(!1),c=il((e=>e.inProgressMfaFlow)),[l,u]=(0,q.useState)(!1),d=ze((e=>e.user)),[f,p]=(0,q.useState)(void 0),[m,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)(null),[ee,y]=(0,q.useState)(!1),[te,b]=(0,q.useState)({status:`disconnected`,connectedWallet:null,connectError:null,connector:null,connectRetry:O}),[ne,x]=(0,q.useState)({status:`initial`}),[S,C]=(0,q.useState)({status:`initial`}),[w,E]=(0,q.useState)({status:`initial`}),[se,le]=(0,q.useState)({status:`initial`}),[de,me]=(0,q.useState)({status:`initial`}),[A,ge]=(0,q.useState)({status:`initial`}),[j,Ce]=(0,q.useState)(null),we=ie(),{initializationError:Te,setInitializationError:De}=oe(),[M,N]=(0,q.useState)({}),[Oe,ke]=(0,q.useState)(null),Me=(0,q.useRef)(null),Pe=(0,q.useRef)(null),Re=(0,q.useRef)(null),L=(0,q.useRef)(un),R=ze((e=>e.authenticated)),Ue=(0,q.useCallback)((e=>{He(e),!e&&_&&nl[_]().then((e=>{e.default.isUnauthenticatedScreem&&v(null)}))}),[_]);t.onStoreCustomerAccessToken=e=>{e&&G(L,`accessToken`,`onAccessTokenGranted`,{accessToken:e})},t.onDeleteCustomerAccessToken=()=>{I(null),Ue(!1),G(L,`accessToken`,`onAccessTokenRemoved`)};let z=(0,q.useRef)(null),B=(0,q.useRef)(null),We=(0,q.useRef)(!1),Ke=({showWalletUIs:e})=>We.current?We.current:e===void 0?!i.embeddedWallets.showWalletUIs:!e,V=e=>{v(e),setTimeout((()=>{s(!!e)}),15)};(0,q.useEffect)((()=>{j&&Me.current?.(j)}),[j]),(0,q.useEffect)((()=>{if(i.externalWallets.solana.connectors)return i.externalWallets.solana.connectors.onMount(),()=>i.externalWallets.solana.connectors?.onUnmount()}),[i.externalWallets.solana.connectors]),(0,q.useEffect)((()=>{Ul()}),[]),(0,q.useEffect)((()=>{!l&&we&&async function(){let e,n=Je(),r=Ye(),a=vi();t.initializeConnectorManager({walletConnectCloudProjectId:i.walletConnectCloudProjectId,rpcConfig:i.rpcConfig,chains:i.chains,defaultChain:i.defaultChain,store:a,walletList:i.appearance.walletList,shouldEnforceDefaultChainOnConnect:i.shouldEnforceDefaultChainOnConnect,externalWalletConfig:i.externalWallets,appName:i.name??`Privy`,walletChainType:i.appearance.walletChainType,setBaseAccountSdk:p,connectorsDebugLogs:i.connectorsDebugLogs}),t.connectors?.on(`connectorInitialized`,(()=>{e&&clearTimeout(e);let n=t.connectors.walletConnectors.length,r=t.connectors.walletConnectors.reduce(((e,t)=>e+ +!!t.initialized),0);r===n?Ie(!0):e=setTimeout((()=>{console.debug({message:`Unable to initialize all expected connectors before timeout`,initialized:r,expected:n}),Ie(!0)}),1500)})),t.connectors?.initialize().then((()=>{tt()}));let o=await t.getAuthenticatedUser();if(Be(!0),r&&o){let e,n=t.authFlow;if(n.meta.telegramWebAppData?.user)try{e=String(JSON.parse(n.meta.telegramWebAppData.user).id)}catch{}let r=o.telegram?.telegramUserId;e&&r!==e&&(await t.logout(),t.startAuthFlow(n),o=null)}let s=!!o;i.legal.requireUsersAcceptTerms&&o&&!o.hasAcceptedTerms?(await t.logout(),W.setReadyToTrue(!0),G(L,`logout`,`onSuccess`)):(i.customAuth?.enabled||(Ue(!!o),o&&G(L,`login`,`onComplete`,{user:o,isNewUser:!1,wasAlreadyAuthenticated:!0,loginMethod:null,loginAccount:null}),I(o)),n?B.current=s?`link`:`login`:r&&!s||Xe(!!o)&&!s?(B.current=`login`,z.current=`telegram`,N({telegramAuthModalData:{seamlessAuth:!0}}),V(`TelegramAuthScreen`)):W.setReadyToTrue(!!o))}().catch((e=>{let t=e instanceof Error?e:Error(String(e));De(t),console.warn(`Error initializing Privy provider: `,t)}))}),[t,Oe,l,we,De]),(0,q.useEffect)((()=>{t.connectors?.setWalletList(i.appearance.walletList)}),[i.appearance.walletList.join()]);let Je=()=>{let e=zc();return e.inProgress&&e.popupFlow?window.opener.location.origin===window.location.origin?e.authorizationCode===`error`?void window.opener.postMessage({type:`PRIVY_OAUTH_ERROR`,error:`Something went wrong. Try again.`}):void window.opener.postMessage({type:`PRIVY_OAUTH_RESPONSE`,stateCode:e.stateCode,authorizationCode:e.authorizationCode}):void window.opener.postMessage({type:`PRIVY_OAUTH_ERROR`,error:`Origins between parent and child windows do not match.`}):(e.inProgress&&e.provider.startsWith(`privy:`)&&!e.popupFlow&&(new BroadcastChannel(Il).postMessage({type:`PRIVY_OAUTH_RESPONSE`,stateCode:e.stateCode,authorizationCode:e.authorizationCode}),window.close()),!!e.inProgress&&!!e.withPrivyUi&&(t.startAuthFlow(new Yn({...e,customOAuthRedirectUrl:i.customOAuthRedirectUrl})),V(`OAuthStatusScreen`),!0))},Ye=()=>{if(!i.loginConfig.telegramHasHmacCredentials)return;let e=function(){let e;return(e=function(){let e=new URLSearchParams(window.location.search),t=Number(e.get(`id`)||``),n=e.get(`hash`),r=Number(e.get(`auth_date`)||``),i=e.get(`first_name`);if(t&&i&&r&&n)return Object.fromEntries(e.entries())}())?(Qc(),{flowType:`login-url`,authData:e}):(e=function(){let e=window.location.hash;if(!e||!e.startsWith(`#tgWebAppData`))return;let t=Zc(e.replace(`#tgWebAppData=`,``)),{user:n,auth_date:r,hash:i}=t;return n&&r&&i?t:void 0}())?(Qc(),{flowType:`web-app`,authData:e}):void 0}();if(!e||!i.loginMethods.telegram||!i.loginConfig.telegramAuthConfiguration?.seamlessAuthEnabled)return;let n=new Yc;return t.startAuthFlow(n),e.flowType===`login-url`&&(n.meta.telegramWebAppData=void 0,n.meta.telegramAuthResult=e.authData),e.flowType===`web-app`&&(n.meta.telegramAuthResult=void 0,n.meta.telegramWebAppData=e.authData),!0},Xe=e=>{if(!i.loginMethods.telegram||i.loginConfig.telegramHasHmacCredentials||!i.loginConfig.telegramSeamlessAuthEnabled||e)return!1;let n=Yl();if(!n)return!1;let r=function(e){try{let t=e.split(`&`).filter((e=>e.length>0)).map((e=>{let t=e.indexOf(`=`);return t===-1?[decodeURIComponent(e),``]:[decodeURIComponent(e.slice(0,t)),decodeURIComponent(e.slice(t+1))]})),n=Object.fromEntries(t);return n.signature?n:null}catch{return null}}(n);if(!r)return!1;let a=new Yc;return t.startAuthFlow(a),a.meta.telegramAuthResult=void 0,a.meta.telegramWebAppData=r,!0},Ze=async(e,n,r,i)=>{if(e!==`solana_adapter`)Qe(await t.connectors?.createEthereumWalletConnector({connectorType:e,walletClientType:n})||null,n,r,i);else{let e=t.connectors?.findSolanaWalletConnector(n);if(!e)return;Qe(e,n,r,i)}};async function Qe(e,t,n,r){if(!e)return b({status:`disconnected`,connectedWallet:null,connectError:new Ae(`Unable to connect to wallet.`),connector:null,connectRetry:O}),r?.(null,n);b({status:`disconnected`,connectedWallet:null,connectError:null,connector:e,connectRetry:O}),e&&rr(e)&&t&&await e.resetConnection(t),b({connector:e,status:`connecting`,connectedWallet:null,connectError:null,connectRetry:()=>Qe(e,t,n,r)});try{let t=await e.connect({showPrompt:!0});return t&&vr(t)&&await Mr(t,i,(()=>{b((t=>({...t,connector:e,status:`switching_to_supported_chain`,connectedWallet:null,connectError:null,connectRetry:O})))})),b((e=>({...e,status:`connected`,connectedWallet:t,connectError:null,connectRetry:O}))),t&&G(L,`connectWallet`,`onSuccess`,{wallet:t}),r?.(t,n)}catch(e){return e instanceof je?(console.warn(e.cause?e.cause:e.message),G(L,`connectWallet`,`onError`,e.privyErrorCode||F.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),G(L,`connectWallet`,`onError`,F.UNKNOWN_CONNECT_WALLET_ERROR)),b((t=>({...t,status:`disconnected`,connectedWallet:null,connectError:e}))),r?.(null,n)}}let $e=async(e,n,r)=>{if(e===null||!vr(e))return;let i=new Pn(t,e,n,r);t.startAuthFlow(i)},et=async(e,n,r,i=`plain`)=>{let a=sr(Or);if(i===`transaction`&&!a)throw new P(`useSolanaLedger plugin hook must be mounted`);if(e===null||!yr(e))return;let o=new Uc(e,t,n,r,i,a);t.startAuthFlow(o)},tt=async()=>{let e=new URLSearchParams(window.location.search),n=e.get(`privy_connector`),r=e.get(`privy_wallet_client`),i=e.get(`privy_connect_only`)===`true`;if(!n||!r)return;Sr.debug(`Mobile wallet return detected`,{connectorType:n,wallet:r,connectOnly:i});let a=br({connectorType:n,walletClientType:r});if(!a||!a.isInstalled)return Sr.warn(`Wallet not installed on mobile return`,{wallet:r,hasConfig:!!a,isInstalled:a?.isInstalled}),V(`LoginFailedScreen`);if(!t.connectors)throw new P(`Connector not initialized`);await V(i?`ConnectOnlyStatusScreen`:`ConnectionStatusScreen`);let o=new URL(window.location.href);o.searchParams.delete(`privy_connector`),o.searchParams.delete(`privy_wallet_client`),o.searchParams.delete(`privy_connect_only`),window.history.pushState({},``,o),Sr.debug(`Launching connection flow from mobile return`,{wallet:r,connectorType:n,connectOnly:i}),Ze(n,r,void 0,i?void 0:n===`solana_adapter`?et:$e)};(0,q.useEffect)((()=>{l&&R&&d===null&&t.getAuthenticatedUser().then(I)}),[l,R,d,t]);let H=e=>{if(!R)throw G(L,`linkAccount`,`onError`,F.MUST_BE_AUTHENTICATED,{linkMethod:e}),new P(`User must be authenticated before linking an account.`)},nt=e=>{if(!R||!d)return!1;if(e.walletClientType===`privy`)return!0;for(let t of d.linkedAccounts)if(t.type===`wallet`&&t.address===e.address&&t.walletClientType!==`privy`)return!0;return!1},rt=()=>{Ve.setState((e=>{let n=t.connectors?.wallets.filter(vr).map((e=>({...e,linked:nt(e),loginOrLink:async()=>{if(!await e.isConnected())throw new P(`Wallet is not connected`);if(e.connectorType===`embedded`&&e.walletClientType===`privy`)throw new P(`Cannot link or login with embedded wallet`);(async e=>{let n;if(!t.connectors)throw new P(`Connector not initialized`);n=e.type===`ethereum`?t.connectors.findWalletConnector(e.connectorType,e.walletClientType)||null:t.connectors.findSolanaWalletConnector(e.walletClientType)||null,b((t=>({...t,connector:n,status:`connected`,connectedWallet:e,connectError:null,connectRetry:O}))),i.captcha.enabledProvider&&!R?(N({captchaModalData:{callback:t=>vr(e)?$e(e,t):et(e,t),userIntentRequired:!1,onSuccessNavigateTo:`ConnectionStatusScreen`,onErrorNavigateTo:`ErrorScreen`}}),await V(`CaptchaScreen`)):(vr(e)?await $e(e):await et(e),await V(`ConnectionStatusScreen`))})(e)},fund:async t=>{await W.fundWallet(e.address,t)},unlink:async()=>{if(!R)throw new P(`User is not authenticated.`);if(e.connectorType===`embedded`&&e.walletClientType===`privy`)throw new P(`Cannot unlink an embedded wallet`);I(await t.unlinkEthereumWallet(e.address))}})))||[];return zn(e.ethereumExternal,n)?{}:{ethereumExternal:n}}))};(0,q.useEffect)((()=>{rt()}),[d?.linkedAccounts,R,l]),(0,q.useEffect)((()=>{if(l){if(!t.connectors)throw new P(`Connector not initialized`);rt(),t.connectors.on(`walletsUpdated`,rt)}}),[l]),(0,q.useEffect)((()=>{[...i.loginMethodsAndOrder?.primary??[],...i.loginMethodsAndOrder?.overflow??[]].filter((e=>e.startsWith(`privy:`))).forEach((e=>t.getCrossAppProviderDetails(e.replace(`privy:`,``))))}),[!!t]);let it=({transaction:n,sponsor:a,uiOptions:s,fundWalletConfig:c,address:l,signOnly:u})=>new Promise((async(f,p)=>{let{requesterAppId:m}=s||{},g=u?`signTransaction`:`sendTransaction`,_=l?fe(d,l):he(d);if(!_&&l){let e=ye(tu(),l);if(e){if(a)return p(new P(`Cannot sponsor transactions for externally connected wallet.`)),void G(L,g,`onError`,F.TRANSACTION_FAILURE);try{let t=await e.getEthereumProvider(),r=n.data,i=sr(o);i&&(r=i.appendDataSuffix({data:r}));let a={...n,from:l,chainId:n.chainId||Number(e.chainId.replace(`eip155:`,``)),value:n.value===void 0?void 0:Ge(n.value),data:r},s=await t.request({method:g===`sendTransaction`?`eth_sendTransaction`:`eth_signTransaction`,params:[a]});G(L,g,`onSuccess`,{hash:s}),f({hash:s});return}catch(e){G(L,g,`onError`,F.TRANSACTION_FAILURE),p(e??new Cr(`Unable to `+g+e));return}}}if(!_)return G(L,g,`onError`,F.EMBEDDED_WALLET_NOT_FOUND),void p(new P(`No embedded or connected wallet found for address.`));if(!R||!d)return G(L,g,`onError`,F.MUST_BE_AUTHENTICATED),void p(Error(`User must be authenticated before signing with a Privy wallet`));let v=_.address,ee=_.walletIndex??0,{entropyId:y,entropyIdVerifier:te}=Fe(d,_),b=ye(tu(),v);if(!b)return G(L,g,`onError`,F.EMBEDDED_WALLET_NOT_FOUND),void p(Error(`Must have a Privy wallet before signing`));let ne=await(await b.getEthereumProvider()).request({method:`eth_chainId`}),x=n.chainId?Number(n.chainId):on(ne);(e=>{if(!i.chains.map((e=>e.id)).includes(e))throw new Ae(`Chain ID ${e} is not supported. It must be added to the config.supportedChains property of the PrivyProvider.`,F.UNSUPPORTED_CHAIN_ID)})(x);let S=sr(o),C=n.data;S&&!a&&(C=S.appendDataSuffix({data:C}));let w={...n,from:n.from??v,chainId:x,data:C},T=await K();if(!T||!j)return G(L,g,`onError`,F.EMBEDDED_WALLET_NOT_FOUND),void p(Error(`Must have valid access token and Privy wallet to send transaction`));let E=$t(w.chainId,i.chains,i.rpcConfig,{appId:e.appId}),re=D(_),ie=async({transactionRequest:e})=>{try{let t;if(!await W.recoverEmbeddedWallet({address:v}))throw G(L,g,`onError`,F.UNKNOWN_CONNECT_WALLET_ERROR),p(Error(`Unable to connect to wallet`)),Error(`Unable to connect to wallet`);if(a){let t=await(async({transactionRequest:e})=>{if(!re)throw new P(`Sponsoring is only supported for wallets on the TEE stack`);if(u)throw new P(`Cannot sponsor a sign transaction request`);let t=e=>e==null?void 0:Ge(e),n=await h(r,(async({message:e})=>await j.signWithUserSigner({accessToken:T,requesterAppId:m,message:e})),{chain_type:`ethereum`,method:`eth_sendTransaction`,caip2:Nt(Ge(e.chainId)),sponsor:!0,...S?{experimental_data_suffix:S.suffix}:{},params:{transaction:{from:e.from,to:e.to,chain_id:t(e.chainId),data:qe(e.data)?e.data?e.data:Ge(Uint8Array.from(e.data)):void 0,value:t(e.value)}},wallet_id:_.id});if(n.data&&`hash`in n.data)return n.data.hash;throw new Cr(`Unable to sign transaction`)})({transactionRequest:e});return G(L,`sendTransaction`,`onSuccess`,{hash:t}),t}if(re){let n=e=>{if(e!=null)return qe(e)?e:Ge(e)},i=await h(r,(async({message:e})=>await j.signWithUserSigner({accessToken:T,requesterAppId:m,message:e})),{chain_type:`ethereum`,method:`eth_signTransaction`,params:{transaction:{from:e.from,to:e.to,nonce:n(e.nonce),chain_id:n(e.chainId),data:qe(e.data)?e.data?e.data:Ge(Uint8Array.from(e.data)):void 0,value:n(e.value),type:e.type,gas_limit:n(e.gasLimit??e.gas),gas_price:n(e.gasPrice??e.gas),max_fee_per_gas:n(e.maxFeePerGas),max_priority_fee_per_gas:n(e.maxPriorityFeePerGas)}},wallet_id:_.id});if(!i.data||!(`signed_transaction`in i.data))throw new Cr(`Unable to sign transaction`);t=i.data.signed_transaction}else t=await async function({accessToken:e,entropyId:t,entropyIdVerifier:n,transactingWalletIndex:r,walletProxy:i,transactionRequest:a,requesterAppId:o}){return(await i.rpc({entropyId:t,entropyIdVerifier:n,hdWalletIndex:r??0,chainType:`ethereum`,accessToken:e,requesterAppId:o,request:{method:`eth_signTransaction`,params:[a]}})).response.data}({accessToken:T,entropyId:y,entropyIdVerifier:te,transactingWalletIndex:ee,walletProxy:j,transactionRequest:e,requesterAppId:m});if(u)return G(L,`signTransaction`,`onSuccess`,{signature:t}),t;{let e=await E.sendRawTransaction({serializedTransaction:t});return G(L,`sendTransaction`,`onSuccess`,{hash:e}),e}}catch(e){throw G(L,g,`onError`,F.TRANSACTION_FAILURE),e}};if(Ke({showWalletUIs:s?.showWalletUIs}))try{let e=await ie({transactionRequest:u||a?w:await Rn(w,E,w.from)});u?G(L,`signTransaction`,`onSuccess`,{signature:e}):G(L,`sendTransaction`,`onSuccess`,{hash:e}),f({hash:e})}catch(e){G(L,g,`onError`,F.TRANSACTION_FAILURE),p(e)}else{let e={connectingWalletAddress:v,recoveryMethod:_.recoveryMethod,entropyId:y,entropyIdVerifier:te,onCompleteNavigateTo:`SendTransactionScreen`,isUnifiedWallet:re,onFailure:e=>{G(L,g,`onError`,F.UNKNOWN_CONNECT_WALLET_ERROR),p(e)}},n=(e=>!!e.fundingConfig&&ln(e.fundingConfig.options).length>=1)(i)?cn({address:v,appConfig:i,fundWalletConfig:c,methodScreen:`FundingMethodSelectionScreen`,chainIdOverride:w.chainId,comingFromSendTransactionScreen:!0}):void 0;N({connectWallet:e,sendTransaction:{transactionRequest:w,transactingWalletIndex:ee,transactingWalletAddress:v,entropyId:y,entropyIdVerifier:te,signOnly:u,scanTransaction:async()=>{let e=await Rn(w,E,w.from);return await t.scanTransaction({metadata:{domain:i.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:`eth_sendTransaction`,params:[{from:e.from,to:e.to,value:e.value?.toString(),gas:e.gas?.toString(),gasPrice:e.gasPrice?.toString(),nonce:e.nonce?.toString(),data:e.data}]}})},getIsSponsored:async()=>!!a,onConfirm:({transactionRequest:e})=>ie({transactionRequest:e}),onSuccess:e=>{u?G(L,`signTransaction`,`onSuccess`,{signature:e.hash}):G(L,`sendTransaction`,`onSuccess`,{hash:e.hash}),f(e)},onFailure:e=>{G(L,g,`onError`,F.TRANSACTION_FAILURE),p(e)},uiOptions:s||{},fundWalletConfig:c,requesterAppId:m},funding:n}),V(`EmbeddedWalletConnectingScreen`)}}));function at(){return new Promise((async(e,t)=>{if(!d||d.mfaMethods.length===0)return e();let n=await K();if(!n||!j)throw Error(`Must have valid access token to enroll in MFA`);try{await j.verifyMfa({accessToken:n}),e()}catch(e){t(e)}}))}let ot=e=>e?.linkedAccounts.filter((e=>e.latestVerifiedAt!==null&&(e.type!==`wallet`||e.walletClientType!==`privy`))).sort(((e,t)=>t.latestVerifiedAt.getTime()-e.latestVerifiedAt.getTime()))[0],U=e=>{let t=d?.linkedAccounts.filter((t=>t.type===e)).length??0,{displayName:n,loginMethod:r}=Zl(e);if(e===`passkey`&&t>=5||e!==`passkey`&&t>=1)throw G(L,`linkAccount`,`onError`,F.CANNOT_LINK_MORE_OF_TYPE,{linkMethod:r}),new P(`User already has an account of type ${n} linked.`)};async function st({showAutomaticRecovery:e=!1,legacySetWalletPasswordFlow:t=!1}){v(null);let n=t?`setWalletPassword`:`setWalletRecovery`;if(!R||!d)throw G(L,n,`onError`,F.MUST_BE_AUTHENTICATED),Error(`User must be authenticated before adding recovery method to Privy wallet`);let r=ve(d);if(!r||!j)throw G(L,n,`onError`,F.EMBEDDED_WALLET_NOT_FOUND),Error(`Must have a Privy wallet to add a recovery method`);let a=D(r);if(a)throw G(L,n,`onError`,F.UNSUPPORTED_WALLET_TYPE),new P(`User owned wallet recovery is only supported for on-device execution and this app uses TEE execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide`);try{await at()}catch(e){throw G(L,n,`onError`,F.MISSING_MFA_CREDENTIALS),e}return new Promise(((o,s)=>{let c=r.recoveryMethod===`user-passcode`,l=zl({walletAction:`update`,availableRecoveryMethods:i.embeddedWallets.userOwnedRecoveryOptions,legacySetWalletPasswordFlow:t,isResettingPassword:c,showAutomaticRecovery:e}),{entropyId:u,entropyIdVerifier:f}=Fe(d),p={recoveryMethod:r.recoveryMethod,connectingWalletAddress:r.address,onCompleteNavigateTo:l,shouldForceMFA:!1,entropyId:u,isUnifiedWallet:a,entropyIdVerifier:f,onFailure:e=>{G(L,n,`onError`,F.UNKNOWN_CONNECT_WALLET_ERROR),s(e)}};N({setWalletPassword:{onSuccess:e=>{G(L,n,`onSuccess`,{method:`user-passcode`,wallet:e}),o(e)},onFailure:e=>{G(L,n,`onError`,F.USER_EXITED_SET_PASSWORD_FLOW),s(e)},callAuthOnSuccessOnClose:!1},recoverWallet:{entropyId:u,entropyIdVerifier:f,onFailure:s},connectWallet:p,recoverySelection:{isInAccountCreateFlow:!1,isResettingPassword:c,shouldCreateEth:!1,shouldCreateSol:!1}}),V(`EmbeddedWalletConnectingScreen`)}))}let ct={ready:l,authenticated:R,user:d,error:Te,walletConnectors:t.connectors||null,connectWallet:e=>{e&&`target`in e&&e&&(e=void 0),N({externalConnectWallet:{walletList:e?.walletList&&e?.walletList.length>0?e.walletList:void 0,walletChainType:e?.walletChainType,description:e?.description,hideHeader:e?.hideHeader}}),V(`ConnectOnlyLandingScreen`)},linkWallet:e=>(e&&`target`in e&&e&&(e=void 0),H(`siwe`),z.current=`siwe`,B.current=`link`,N({...M,externalConnectWallet:{...M.externalConnectWallet,walletList:e?.walletList,walletChainType:e?.walletChainType,description:e?.description||`Link a wallet to your ${i?.name} account`}}),V(`AuthenticateWithWalletScreen`)),linkEmail:()=>{H(`email`),U(`email`),z.current=`email`,B.current=`link`,V(`LinkEmailScreen`)},linkPhone:()=>{H(`sms`),U(`phone`),z.current=`sms`,B.current=`link`,V(`LinkPhoneScreen`)},linkGoogle:async()=>{H(`google`),U(`google_oauth`),B.current=`link`,await W.initLoginWithOAuth(`google`)},linkTwitter:async()=>{H(`twitter`),U(`twitter_oauth`),B.current=`link`,await W.initLoginWithOAuth(`twitter`)},linkTwitch:async()=>{H(`twitch`),U(`twitch_oauth`),B.current=`link`,await W.initLoginWithOAuth(`twitch`)},linkDiscord:async()=>{H(`discord`),U(`discord_oauth`),B.current=`link`,await W.initLoginWithOAuth(`discord`)},linkGithub:async()=>{H(`github`),U(`github_oauth`),B.current=`link`,await W.initLoginWithOAuth(`github`)},linkSpotify:async()=>{H(`spotify`),U(`spotify_oauth`),B.current=`link`,await W.initLoginWithOAuth(`spotify`)},linkInstagram:async()=>{H(`instagram`),U(`instagram_oauth`),B.current=`link`,await W.initLoginWithOAuth(`instagram`)},linkTiktok:async()=>{H(`tiktok`),U(`tiktok_oauth`),B.current=`link`,await W.initLoginWithOAuth(`tiktok`)},linkLine:async()=>{H(`line`),U(`line_oauth`),B.current=`link`,await W.initLoginWithOAuth(`line`)},linkLinkedIn:async()=>{H(`linkedin`),U(`linkedin_oauth`),B.current=`link`,await W.initLoginWithOAuth(`linkedin`)},linkApple:async()=>{H(`apple`),U(`apple_oauth`),B.current=`link`,await W.initLoginWithOAuth(`apple`)},linkOAuth:async({provider:e})=>{H(e),U(re(e)?e:`${e}_oauth`),B.current=`link`,await W.initLoginWithOAuth(e)},linkPasskey:async e=>{H(`passkey`),U(`passkey`),await W.initLinkWithPasskey(),N({passkeyAuthModalData:{passkeySignupFlow:!1,name:e?.name}}),V(`LinkPasskeyScreen`)},linkTelegram:async e=>{if(H(`telegram`),U(`telegram`),!i.loginConfig.telegramHasHmacCredentials)throw new P(`linkTelegram requires HMAC bot credentials. Use linkWithOAuth("telegram") for OIDC-configured apps.`);if(B.current=`link`,z.current=`telegram`,e?.launchParams){if(e.launchParams.initDataRaw){let n=new Yc;t.startAuthFlow(n),n.meta.telegramAuthResult=void 0,n.meta.telegramWebAppData=Zc(e.launchParams.initDataRaw),N({telegramAuthModalData:{seamlessAuth:!0}}),V(`TelegramAuthScreen`)}else G(L,`linkAccount`,`onError`,F.INVALID_DATA,{linkMethod:`telegram`})}else await W.initLoginWithTelegram();V(`TelegramAuthScreen`)},linkFarcaster:async()=>{H(`farcaster`),U(`farcaster`),await W.initLoginWithFarcaster(),B.current=`link`,z.current=`farcaster`,V(`FarcasterConnectStatusScreen`)},login:async e=>{e&&`target`in e&&e&&(e=void 0);let t="Attempted to log in, but user is already logged in. Use a `link` helper instead.";if(!l){let e=await new Promise((e=>{ke((t=>e.bind(t)))}));if(ke(null),e)return void console.warn(t)}!d||d.isGuest?(B.current=`login`,N({login:e}),V(`LandingScreen`)):console.warn(t)},connectOrCreateWallet:async()=>{l||(await new Promise((e=>{ke((()=>e))})),ke(null)),R?console.warn("User must be unauthenticated to `connectOrCreateWallet`"):(B.current=`connect-or-create`,V(`ConnectOrCreateScreen`))},logout:async()=>{if(B.current=null,z.current=null,d&&t.clearProviderAcccessTokens(d),v(null),await t.logout(),d&&j)try{await j.clearMfa({userId:d.id})}catch{}I(null),Ue(!1),g(!1),C({status:`initial`}),E({status:`initial`}),x({status:`initial`}),le({status:`initial`}),me({status:`initial`}),ge({status:`initial`}),G(L,`logout`,`onSuccess`),s(!1),Xt.del(ue),Xt.del(ce(i.id))},getAccessToken:(0,q.useCallback)((async()=>{let e=await t.getCustomerAccessToken();return e&&!R&&Ue(!0),e}),[t,R]),setWalletRecovery:async e=>st({legacySetWalletPasswordFlow:!1,showAutomaticRecovery:e?.showAutomaticRecovery??!1}),setWalletPassword:async()=>st({legacySetWalletPasswordFlow:!0,showAutomaticRecovery:!1}),signMessage:(e,n)=>new Promise((async(i,a)=>{let{requesterAppId:o}=n?.uiOptions||{},s=e.message,c=n?.address?fe(d,n.address):he(d);if(!c&&n?.address!==void 0){let e=ye(tu(),n.address);if(e)try{let t=await(await e.getEthereumProvider()).request({method:`personal_sign`,params:[s,e.address]});G(L,`signMessage`,`onSuccess`,{signature:t}),i({signature:t});return}catch(e){G(L,`signMessage`,`onError`,F.UNABLE_TO_SIGN),a(e??new Cr(`Unable to sign message`));return}}if(!c)throw new P(`No embedded or connected wallet found for address.`);if(!R||!d)return G(L,`signMessage`,`onError`,F.MUST_BE_AUTHENTICATED),void a(Error(`User must be authenticated before signing with a Privy wallet`));let l=c.address,u=c.walletIndex??0,{entropyId:f,entropyIdVerifier:p}=Fe(d,c),m=D(c);if(typeof s!=`string`||s.length<1)return G(L,`signMessage`,`onError`,F.INVALID_MESSAGE),void a(Error(`Message must be a non-empty string`));let g=async()=>{let n;if(!R)throw Error(`User must be authenticated before signing with a Privy wallet`);let i=await K();if(!j||!i||!await W.recoverEmbeddedWallet({address:l}))throw Error(`Unable to connect to wallet`);if(t.createAnalyticsEvent({eventName:`embedded_wallet_sign_message_started`,payload:{walletAddress:l,requesterAppId:o}}),m){let t=qe(e.message,{strict:!0}),a=await h(r,(async({message:e})=>await j.signWithUserSigner({accessToken:i,requesterAppId:o,message:e})),{chain_type:`ethereum`,method:`personal_sign`,params:t?{message:s.slice(2),encoding:`hex`}:{message:s,encoding:`utf-8`},wallet_id:c.id});if(!a.data||!(`signature`in a.data))throw new Cr(`Unable to sign message`);n=a.data.signature}else{let{response:e}=await j.rpc({accessToken:i,entropyId:f,entropyIdVerifier:p,chainType:`ethereum`,hdWalletIndex:u,requesterAppId:o,request:{method:`personal_sign`,params:[s,l]}});n=e.data}return t.createAnalyticsEvent({eventName:`embedded_wallet_sign_message_completed`,payload:{walletAddress:l,requesterAppId:o}}),n};if(Ke({showWalletUIs:n?.uiOptions?.showWalletUIs}))try{let e=await g();G(L,`signMessage`,`onSuccess`,{signature:e}),i({signature:e})}catch(e){G(L,`signMessage`,`onError`,F.UNABLE_TO_SIGN),a(e??new Cr(`Unable to sign message`))}else N({signMessage:{method:`personal_sign`,data:s,confirmAndSign:g,onSuccess:e=>{G(L,`signMessage`,`onSuccess`,{signature:e}),i({signature:e})},onFailure:e=>{G(L,`signMessage`,`onError`,F.UNABLE_TO_SIGN),a(e)},uiOptions:n?.uiOptions||{}},connectWallet:{recoveryMethod:c.recoveryMethod,connectingWalletAddress:l,entropyId:f,entropyIdVerifier:p,onCompleteNavigateTo:`SignRequestScreen`,isUnifiedWallet:m,onFailure:e=>{G(L,`signMessage`,`onError`,F.UNKNOWN_CONNECT_WALLET_ERROR),a(e)}}}),V(`EmbeddedWalletConnectingScreen`)})),signTypedData:(e,n)=>new Promise((async(i,a)=>{let{requesterAppId:o}=n?.uiOptions||{},s=n?.address?fe(d,n.address):he(d);if(!s&&n?.address){let t=ye(tu(),n.address);if(t)try{let n=await t.getEthereumProvider(),r=en(e),a=await n.request({method:`eth_signTypedData_v4`,params:[t.address,JSON.stringify(r,((e,t)=>typeof t==`bigint`?t.toString():t))]});G(L,`signTypedData`,`onSuccess`,{signature:a}),i({signature:a});return}catch(e){G(L,`signTypedData`,`onError`,F.UNABLE_TO_SIGN),a(e??new Cr(`Unable to sign typed data `+e));return}}if(!s)throw new P(`No embedded or connected wallet found for address.`);if(!R||!d)return G(L,`signTypedData`,`onError`,F.MUST_BE_AUTHENTICATED),void a(Error(`User must be authenticated before signing with a Privy wallet`));let c=s.address,l=s.walletIndex??0,{entropyId:u,entropyIdVerifier:f}=Fe(d,s),p=D(s),m=en(e),g=async()=>{let e;if(!R)throw Error(`User must be authenticated before signing with a Privy wallet`);let i=await K();if(!j||!i||!await W.recoverEmbeddedWallet({address:c}))throw Error(`Unable to connect to wallet`);if(t.createAnalyticsEvent({eventName:`embedded_wallet_sign_typed_data_started`,payload:{walletAddress:c,requesterAppId:o}}),p){let{domain:t,types:a,primaryType:c,message:l}=m,u=await h(r,(async({message:e})=>await j.signWithUserSigner({accessToken:i,requesterAppId:o,message:e})),{chain_type:`ethereum`,method:`eth_signTypedData_v4`,params:{typed_data:{domain:t,types:a,primary_type:c,message:l}},wallet_id:s.id,...n?.signatureOptions?{signature_options:n.signatureOptions}:{},...n?.caip2?{caip2:n.caip2}:{}});if(!u.data||!(`signature`in u.data))throw new Cr(`Unable to sign message`);e=u.data.signature}else{let{response:t}=await j.rpc({accessToken:i,entropyId:u,entropyIdVerifier:f,chainType:`ethereum`,hdWalletIndex:l,requesterAppId:o,request:{method:`eth_signTypedData_v4`,params:[c,m]}});e=t.data}return t.createAnalyticsEvent({eventName:`embedded_wallet_sign_typed_data_completed`,payload:{walletAddress:c,requesterAppId:o}}),e};if(Ke({showWalletUIs:n?.uiOptions?.showWalletUIs}))try{let e=await g();G(L,`signTypedData`,`onSuccess`,{signature:e}),i({signature:e})}catch(e){G(L,`signTypedData`,`onError`,F.UNABLE_TO_SIGN),a(e??new Cr(`Unable to sign message`))}else N({signMessage:{method:`eth_signTypedData_v4`,data:m,confirmAndSign:g,onSuccess:e=>{G(L,`signTypedData`,`onSuccess`,{signature:e}),i({signature:e})},onFailure:e=>{G(L,`signTypedData`,`onError`,F.UNABLE_TO_SIGN),a(e)},uiOptions:n?.uiOptions||{}},connectWallet:{recoveryMethod:s.recoveryMethod,connectingWalletAddress:s.address,entropyId:u,isUnifiedWallet:p,entropyIdVerifier:f,onCompleteNavigateTo:`SignRequestScreen`,onFailure:e=>{G(L,`signMessage`,`onError`,F.UNKNOWN_CONNECT_WALLET_ERROR),a(e)}}}),V(`EmbeddedWalletConnectingScreen`)})),sendTransaction:async(e,t)=>await it({transaction:e,sponsor:t?.sponsor,uiOptions:t?.uiOptions,fundWalletConfig:t?.fundWalletConfig,address:t?.address,signOnly:!1}),signTransaction:async(e,t)=>({signature:(await it({transaction:e,uiOptions:t?.uiOptions,address:t?.address,signOnly:!0})).hash}),promptMfa:at,async init(e){switch(e){case`sms`:await t.initMfaSmsVerification();return;case`passkey`:return await t.initMfaPasskeyVerification();case`totp`:return;default:throw Error(`Unsupported MFA method: ${e}`)}},async submit(e,t){switch(e){case`totp`:case`sms`:if(typeof t!=`string`)throw new P(`Invalid MFA code`);Pe.current?.resolve({mfaMethod:e,mfaCode:t,relyingParty:window.origin}),await new Promise(((e,t)=>{Re.current={resolve:e,reject:t}}));break;case`passkey`:if(typeof t==`string`)throw new P(`Invalid authenticator response`);let r=eu(await(await n(()=>import(`./esm-Ci1ogKuK.js`),[],import.meta.url)).startAuthentication({optionsJSON:t}));Pe.current?.resolve({mfaMethod:e,mfaCode:r,relyingParty:window.origin}),await new Promise(((e,t)=>{Re.current={resolve:e,reject:t}}));break;default:throw Pe.current?.reject(new P(`Unsupported MFA method`)),new P(`Unsupported MFA method: ${e}`)}},cancel(){Pe.current?.reject(new P(`MFA canceled`))},async clear(){if(!d||!j)throw Error(`Must be authenticated to clear MFA`);await j.clearMfa({userId:d.id})},async initEnrollmentWithSms(e){let t=await K();if(!t||!j)throw Error(`Must have valid access token to enroll in MFA`);await j.initEnrollMfa({method:`sms`,accessToken:t,phoneNumber:e.phoneNumber})},enrollInMfa:e=>new Promise(((t,n)=>{if(!e)return W.closePrivyModal(),void t();i.mfa.noPromptOnMfaRequired&&console.warn(`[Privy Warning] Triggering the 'showMfaEnrollmentModal' function when 'noPromptOnMfaRequired' is set to true is unexpected. If this is intentional, ensure that you are building custom UIs for MFA verification.`),N({mfaEnrollmentFlow:{mfaMethods:i.mfa.methods,shouldUnlinkOnUnenrollMfa:i.passkeys.shouldUnlinkOnUnenrollMfa,onSuccess:t,onFailure:n}}),V(`MfaEnrollmentFlowScreen`)})),async initEnrollmentWithTotp(){let e=await K();if(!e||!j)throw Error(`Must have valid access token to enroll in MFA`);let t=await j.initEnrollMfa({method:`totp`,accessToken:e});return{secret:t.secret,authUrl:t.authUrl}},async submitEnrollmentWithSms(e){let n=await K();if(!n||!j)throw Error(`Must have valid access token to enroll in MFA`);await j.submitEnrollMfa({method:`sms`,accessToken:n,phoneNumber:e.phoneNumber,code:e.mfaCode}),I(await t.getAuthenticatedUser())},async submitEnrollmentWithTotp(e){let n=await K();if(!n||!j)throw Error(`Must have valid access token to enroll in MFA`);await j.submitEnrollMfa({method:`totp`,accessToken:n,code:e.mfaCode}),I(await t.getAuthenticatedUser())},async initEnrollmentWithPasskey(){},async submitEnrollmentWithPasskey({credentialIds:e},n={}){let r=await K();if(!r||!j)throw Error(`Must have valid access token to enroll in MFA`);await j.submitEnrollMfa({method:`passkey`,accessToken:r,credentialIds:e,removeForLogin:n.removeForLogin}),I(await t.getAuthenticatedUser())},async unenroll(e,n={}){let r=await K();if(!r||!j)throw Error(`Must have valid access token to remove MFA`);e===`passkey`?await j.submitEnrollMfa({method:`passkey`,accessToken:r,credentialIds:[],removeForLogin:n.removeForLogin}):await j.unenrollMfa({method:e,accessToken:r});let i=await t.getAuthenticatedUser();if(I(i),i&&i.mfaMethods.length===0)try{await j.clearMfa({userId:i.id})}catch{}},isModalOpen:a||!!c,mfaMethods:i.mfa.methods};yu=ct.signMessage,bu=ct.signTypedData,Su=async(e,t)=>await it({transaction:e,...t,signOnly:!1}),xu=async(e,t)=>({signature:(await it({transaction:e,...t,signOnly:!0})).hash});let lt=async e=>{let n,r,a;y(!0),me({status:`loading`}),t.startAuthFlow(new Yn({...e,customOAuthRedirectUrl:i.customOAuthRedirectUrl}));let o=Xt.get(xe),s=e.stateCode;if(o!==s)throw t.createAnalyticsEvent({eventName:`possible_phishing_attempt`,payload:{provider:e.provider,storedStateCode:o??``,returnedStateCode:s??``}}),y(!1),new P(`Unexpected auth flow. This may be a phishing attempt.`,void 0,F.OAUTH_UNEXPECTED);if(await t.getAccessToken()!==null)try{({user:n,oAuthTokens:a}=await t.link()),z.current=e.provider;let r=ot(n);n&&r&&G(L,`linkAccount`,`onSuccess`,{user:n,linkMethod:z.current,linkedAccount:r})}catch(t){throw y(!1),G(L,`linkAccount`,`onError`,t.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:e.provider}),t}else try{({user:n,isNewUser:r,oAuthTokens:a}=await t.authenticate()),z.current=e.provider;let i=ot(n);n&&i&&r!==void 0&&G(L,`login`,`onComplete`,{user:n,isNewUser:r,wasAlreadyAuthenticated:!1,loginMethod:z.current,loginAccount:i})}catch(e){throw y(!1),me({status:`error`,error:e}),G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}return I(n),g(r||!1),Ue(!0),y(!1),me({status:`done`}),a&&n&&G(L,`oAuthAuthorization`,`onOAuthTokenGrant`,{oAuthTokens:a,user:n}),n??void 0},W={privy:r,setAuthenticated:Ue,setUser:I,setIsNewUser:g,isNewUserThisSession:m,pendingTransaction:null,walletConnectionStatus:te,setWalletConnectionStatus:b,connectors:t.connectors?.walletConnectors??[],rpcConfig:i.rpcConfig,chains:i.chains,appId:e.appId,showFiatPrices:i.embeddedWallets.priceDisplay.primary!==`native-token`,clientAnalyticsId:t.clientAnalyticsId,hideWalletUIs:We,isHeadlessSigning:(0,q.useCallback)(Ke,[i.embeddedWallets.showWalletUIs]),emailOtpState:S,setEmailOtpState:C,smsOtpState:w,setSmsOtpState:E,oAuthState:de,setOAuthState:me,telegramAuthState:A,setTelegramAuthState:ge,siweState:se,setSiweState:le,isHeadlessOAuthLoading:ee,baseAccountSdk:f,setBaseAccountSdk:p,nativeTokenSymbolForChainId:e=>i.chains.find((t=>t.id===Number(e)))?.nativeCurrency.symbol,initializeWalletProxy:async e=>{if(j)return j;let t=new Promise((e=>{Me.current=e})),n=new Promise((t=>setTimeout((()=>t(null)),e))),r=await Promise.race([t,n]);return Me.current=null,r},getAuthFlow:()=>t.authFlow,getAuthMeta:()=>t.authFlow?.meta,client:t,closePrivyModal:async(n={shouldCallAuthOnSuccess:!0,isSuccess:!1})=>{let r,a=l&&R&&d;if(a&&z.current&&(r=ot(d)),B.current===`login`)n.shouldCallAuthOnSuccess&&a&&z.current?G(L,`login`,`onComplete`,{user:d,isNewUser:m,wasAlreadyAuthenticated:!1,loginMethod:z.current,loginAccount:r??null}):G(L,`login`,`onError`,F.USER_EXITED_AUTH_FLOW);else if(B.current===`link`&&r)n.isSuccess&&a&&z.current?G(L,`linkAccount`,`onSuccess`,{user:d,linkMethod:z.current,linkedAccount:r}):z.current&&G(L,`linkAccount`,`onError`,F.USER_EXITED_LINK_FLOW,{linkMethod:z.current});else if(B.current===`update`&&r)n.isSuccess&&a&&z.current?G(L,`update`,`onSuccess`,{user:d,updateMethod:z.current,updatedAccount:r}):z.current&&G(L,`update`,`onError`,F.USER_EXITED_UPDATE_FLOW,{linkMethod:z.current});else if(B.current===`connect-or-create`){let e=tu();e[0]?G(L,`connectOrCreateWallet`,`onSuccess`,{wallet:e[0]}):G(L,`connectOrCreateWallet`,`onError`,F.USER_EXITED_AUTH_FLOW)}let o=_&&Kl.has(_),c=_===`ErrorScreen`&&M.errorModalData&&Kl.has(M.errorModalData.previousScreen);if((o||c)&&M.funding){let t,n=Kl.get(_)??null;if(c&&M.funding?.onError){let e=M.errorModalData?.error,t=e?.privyErrorCode||F.UNKNOWN_FUNDING_ERROR,n=new P(e?.message||`Funding failed`,e,t);M.funding?.onError?.(n)}if(M.funding.chainType===`solana`){let e=i.solanaRpcs[M.funding.chain];if(!e)return console.warn(`Unable to load solana rpc, skipping balance`),G(L,`fundSolanaWallet`,`onUserExited`,{address:M.funding.address,fundingMethod:n,chain:M.funding.chain,balance:t}),s(!1),void Wl(M.funding,n);if(sr(kr))try{t=await Jl({rpc:e.rpc,address:M.funding.address})}catch{console.error(`Unable to pull wallet balance`)}else console.warn(`Unable to load solana plugin, skipping balance`);G(L,`fundSolanaWallet`,`onUserExited`,{address:M.funding.address,fundingMethod:n,chain:M.funding.chain,balance:t})}else{let r=$t(M.funding.chain.id,i.chains,i.rpcConfig,{appId:e.appId});try{t=await r.getBalance({address:M.funding.address})}catch{console.error(`Unable to pull wallet balance`)}G(L,`fundWallet`,`onUserExited`,{address:M.funding.address,chain:M.funding.chain,fundingMethod:n,balance:t}),Wl(M.funding,n)}}N((e=>({...e,externalConnectWallet:{}}))),B.current=null,z.current=null,g(!1),s(!1),b({status:`disconnected`,connectedWallet:null,connector:null,connectError:null,connectRetry:()=>{}}),setTimeout((()=>{t.authFlow=void 0}),200)},openPrivyModal:V,connectWallet:Qe,initLoginWithWallet:async(e,t,n,r)=>{vr(e)?(z.current=`siwe`,$e(e,t,n)):(z.current=`siws`,et(e,t,n,r))},loginWithWallet:async()=>{let e,n,r;if(!l)throw new Ne;if(t.authFlow instanceof Pn?e=`siwe`:t.authFlow instanceof Uc&&(e=`siws`),!e)throw new P(`Must initialize SIWE/SIWS flow first.`);if(await t.getAccessToken()!==null)try{({user:n}=await t.link()),z.current=e}catch(t){throw G(L,`linkAccount`,`onError`,t.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:e}),t}else try{({user:n,isNewUser:r}=await t.authenticate()),z.current=e}catch(e){throw G(L,`login`,`onError`,e.privyErrorCode||F.GENERIC_CONNECT_WALLET_ERROR),e}I(n||d||null),g(r||!1),Ue(!0)},delegateWallet:async({address:e,chainType:t,showDelegationUIs:n})=>new Promise((async(r,i)=>{let a=await K();if(!R||!d||!a)throw new P(`User must be authenticated and have an embedded wallet to delegate actions.`);if(t!==`solana`&&t!==`ethereum`)throw new P(`Only Solana and Ethereum embedded wallets are supported for delegation and revocation.`);let o=W.walletProxy??await W.initializeWalletProxy(15e3);if(!o)throw new P(`Wallet proxy not initialized.`);if((({address:e,user:t})=>!!Fl(t).find((t=>t.address===e)))({address:e,user:d}))return r();let s=fe(d,e);if(!s)throw new P(`Address to delegate is not associated with current user.`);if(D(s))throw new P(`useDelegatedActions is only supported for on-device execution and this app uses TEE execution. Use the useSessionSigners hook to provision server side access on behalf of your users. Learn more at https://docs.privy.io/recipes/tee-wallet-migration-guide`);let c=Nl({address:e,user:d}),l=Pl({address:e,user:d}),u=async()=>{await o.createDelegatedAction({accessToken:a,rootWallet:l,delegatedWallets:[c]}),await W.refreshSessionAndUser()};if(await W.recoverEmbeddedWallet({address:e}),n)N({delegatedActions:{consent:{address:e,onDelegate:u,onSuccess:async()=>{r()},onError:async e=>{i(e)}}}}),V(`DelegatedActionsConsentScreen`);else try{await u(),r()}catch(e){i(e)}})),revokeDelegatedWallets:async({showDelegationUIs:e})=>new Promise((async(n,r)=>{if(!R||!d)throw new P(`User must be authenticated and have an embedded wallet to revoke a delegated wallet.`);let i=Fl(d);if(i.length===0)throw new P(`User has no delegated wallets to revoke.`);if(i.some(D))throw new P(`useDelegatedActions is only supported for on-device execution and this app uses TEE execution. Use the useSessionSigners hook to provision server side access on behalf of your users. Learn more at https://docs.privy.io/recipes/tee-wallet-migration-guide`);let a=async()=>{await t.revokeDelegatedWallet(),await W.refreshSessionAndUser()};if(e)N({delegatedActions:{revoke:{onRevoke:a,onSuccess:async()=>{n()},onError:async e=>{r(e)}}}}),V(`DelegatedActionsRevokeScreen`);else try{await a(),n()}catch(e){r(e)}})),initLoginWithFarcaster:async(e,n)=>{let r=new Vc(e,n);t.startAuthFlow(r);try{z.current=`farcaster`,await r.initializeFarcasterConnect()}catch(e){throw B.current===`login`?G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR):B.current===`link`&&G(L,`linkAccount`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`farcaster`}),e}},loginWithFarcaster:async()=>{let e,n;if(!l)throw new Ne;if(!(t.authFlow instanceof Vc))throw new P(`Must initialize Farcaster flow first.`);if(await t.getAccessToken()!==null)try{({user:e}=await t.link()),z.current=`farcaster`}catch(e){throw G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`farcaster`}),e}else try{({user:e,isNewUser:n}=await t.authenticate()),z.current=`farcaster`}catch(e){throw G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}I(e||null),g(n||!1),Ue(!0)},async crossAppAuthFlow({appId:e,popup:n,action:r,disableSignup:i}){let a=`privy:${e}`;z.current=a;let{url:o,stateCode:s,codeVerifier:c}=await hn({api:t.api,appId:e});if(!o)throw t.createAnalyticsEvent({eventName:`cross_app_auth_error`,payload:{error:`Unable to open cross-app auth popup`,appId:e}}),new P(`No authorization URL returned for cross-app auth.`);try{let l=await async function({url:e,popup:t}){return t.location=e,new Promise(((e,n)=>{let r,i=setTimeout((()=>{n(new P(`Authorization request timed out after 2 minutes.`)),a()}),12e4);function a(){t?.close(),window.removeEventListener(`message`,s)}let o=setInterval((()=>{t?.closed&&!r&&(a(),clearInterval(o),clearTimeout(i),n(new P(`User rejected request`)))}),300);function s(t){t.data&&(t.data.type===`PRIVY_OAUTH_RESPONSE`&&t.data.stateCode&&t.data.authorizationCode&&(clearTimeout(i),e(t.data),a()),t.data.type===`PRIVY_OAUTH_ERROR`&&(clearTimeout(i),n(new P(t.data.error)),a()),t.data.type===Ll&&((r=new BroadcastChannel(Il)).onmessage=s))}window.addEventListener(`message`,s)}))}({url:o,popup:n,provider:a}),u=l.stateCode,d=l.authorizationCode;if(u!==s)throw t.createAnalyticsEvent({eventName:`possible_phishing_attempt`,payload:{provider:a,storedStateCode:s??``,returnedStateCode:u??``}}),new P(`Unexpected auth flow. This may be a phishing attempt.`,void 0,F.OAUTH_UNEXPECTED);let f=await mn({appId:e,codeVerifier:c,stateCode:u,authorizationCode:d,action:r,client:t,disableSignup:i});f&&t.storeProviderAccessToken(e,f);let p=await W.refreshSessionAndUser();if(!p)throw new P(`Unable to update user`);return t.createAnalyticsEvent({eventName:`cross_app_auth_completed`,payload:{providerAppId:e}}),p}catch(e){throw t.createAnalyticsEvent({eventName:`cross_app_auth_error`,payload:{error:e.toString(),provider:a}}),e}},async initLoginWithOAuth(e,n,r){if(z.current=e,!Ut()||e===`google`&&!i.allowOAuthInEmbeddedBrowsers&&ql(window.navigator.userAgent))return void V(`InAppBrowserLoginNotPossible`);e===`twitter`&&window.opener&&window.opener.postMessage({type:Ll},`*`),Xt.del(_e),Xt.del(be);let a=new Yn({provider:e,disableSignup:!!r,withPrivyUi:!0,customOAuthRedirectUrl:i.customOAuthRedirectUrl});n&&a.addCaptchaToken(n),t.startAuthFlow(a);let o=await t.authFlow.getAuthorizationUrl();if(o&&o.url){if(e===`twitter`&&Dc.isAndroid&&(o.url=o.url.replace(`x.com`,`twitter.com`)),window.location.protocol===`chrome-extension:`&&Jn())try{let{privyOAuthCode:e,privyOAuthState:t}=await ir(o.url);V(`OAuthStatusScreen`),a.meta.stateCode=t,a.meta.authorizationCode=e}catch(e){throw console.error(`OAuth in chrome extension flow failed:`,e),e}else window.location.assign(o.url)}},async initLoginWithTelegram(e,n){if(!l)throw new Ne;z.current=`telegram`;let r=new Yc(e,n);t.startAuthFlow(r),ge({status:`loading`}),r.meta.telegramWebAppData=void 0,r.meta.telegramAuthResult=await new Promise(((e,t)=>i.loginConfig.telegramAuthConfiguration?window.Telegram?void window.Telegram.Login.auth({bot_id:i.loginConfig.telegramAuthConfiguration.botId,request_access:!0},(n=>n?e(n):(B.current===`link`?G(L,`linkAccount`,`onError`,F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`telegram`}):B.current===`login`?G(L,`login`,`onError`,F.INVALID_CREDENTIALS):B.current===`update`&&G(L,`login`,`onError`,F.FAILED_TO_UPDATE_ACCOUNT),t(new P(`Telegram auth failed or was canceled by the client`))))):t(new P(`Telegram was not initialized`)):t(new P(`Telegram Auth configuration is not loaded`))))},async loginWithTelegram(e){let n,r;if(!(t.authFlow instanceof Yc))throw new P(`Must initialize Telegram flow before calling loginWithTelegram`);t.authFlow.meta.captchaToken||=e?.captchaToken;let i=await K(),a=e?.intent||B.current;if(a===`login`)try{let e=await t.authenticate();n=e.user,r=e.isNewUser,z.current=`telegram`}catch(e){throw G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}else{if(a!==`link`)throw new P(`Unknown auth intent`);try{n=(await t.link()).user,z.current=`telegram`}catch(e){throw G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`telegram`}),e}}I(n),g(r||!1),Ue(!0),ge({status:`done`});let o=n?.linkedAccounts.find((({type:e})=>e===`telegram`))||null;return{user:n,isNewUser:r||!1,wasAlreadyAuthenticated:!!i,loginAccount:o}},async loginWithOAuth(e){let n,r,i;if(!(t.authFlow instanceof Yn))throw new P(`Must initialize OAuth flow before calling loginWithOAuth`);let a=Xt.get(xe),o=t.authFlow.meta.stateCode;if(a!==o)throw t.createAnalyticsEvent({eventName:`possible_phishing_attempt`,payload:{provider:e,storedStateCode:a??``,returnedStateCode:o??``}}),new P(`Unexpected auth flow. This may be a phishing attempt.`,void 0,F.OAUTH_UNEXPECTED);if(await t.getAccessToken()!==null)try{let a=await t.link();n=a.user,r=!1,i=a.oAuthTokens,z.current=e}catch(t){throw G(L,`linkAccount`,`onError`,t.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:e}),t}else try{let a=await t.authenticate();n=a.user,r=a.isNewUser,i=a.oAuthTokens,z.current=e}catch(t){throw B.current===`login`?G(L,`login`,`onError`,t.privyErrorCode||F.UNKNOWN_AUTH_ERROR):B.current===`link`&&G(L,`linkAccount`,`onError`,t.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:e}),t}return I(n),g(r||!1),Ue(!0),i&&n&&G(L,`oAuthAuthorization`,`onOAuthTokenGrant`,{oAuthTokens:i,user:n}),i},passkeyAuthState:ne,setPasskeyAuthState:x,async initSignupWithPasskey({captchaToken:e,withPrivyUi:n}){let r=new Hc({captchaToken:e,setPasskeyAuthState:x,hints:i.passkeys.registration?.hints});t.startAuthFlow(r),B.current=`login`;try{z.current=`passkey`,x({status:`generating-challenge`}),await r.initRegisterFlow(n),x({status:`awaiting-passkey`})}catch(e){throw x({status:`error`,error:e}),G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}},async signupWithPasskey(){let e,n;if(!l)throw new Ne;if(!(t.authFlow instanceof Hc))throw new P(`Must initialize Passkey flow first.`);if(z.current!==`passkey`){let e=new P(`Must init login with Passkey flow first.`);throw x({status:`error`,error:e}),e}let r=await K();try{z.current=`passkey`,x({status:`awaiting-passkey`}),{user:e,isNewUser:n}=await t.authenticate()}catch(e){throw x({status:`error`,error:e}),G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}I(e),g(n||!1),Ue(!0),x({status:`done`});let i=e?.linkedAccounts.find((({type:e})=>e===`passkey`))||null;return{user:e,isNewUser:n||!1,wasAlreadyAuthenticated:!!r,loginAccount:i}},async initLoginWithPasskey({captchaToken:e,withPrivyUi:n}){let r=new Hc({captchaToken:e,setPasskeyAuthState:x,hints:void 0});t.startAuthFlow(r),B.current=`login`;try{z.current=`passkey`,x({status:`generating-challenge`}),await r.initAuthenticationFlow(n),x({status:`awaiting-passkey`})}catch(e){throw x({status:`error`,error:e}),G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}},async loginWithPasskey(e){let n,r;if(!l)throw new Ne;if(!(t.authFlow instanceof Hc))throw new P(`Must initialize Passkey flow first.`);if(e?.credentialIds&&(t.authFlow.meta.allowedCredentialsIds=e.credentialIds),z.current!==`passkey`){let e=new P(`Must init login with Passkey flow first.`);throw x({status:`error`,error:e}),e}let i=await K();try{z.current=`passkey`,x({status:`awaiting-passkey`}),{user:n,isNewUser:r}=await t.authenticate()}catch(e){throw x({status:`error`,error:e}),G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}I(n),g(r||!1),Ue(!0),x({status:`done`});let a=n?.linkedAccounts.find((({type:e})=>e===`passkey`))||null;return{user:n,isNewUser:r||!1,wasAlreadyAuthenticated:!!i,loginAccount:a}},async initLinkWithPasskey(e){let n=new Hc({captchaToken:e,hints:i.passkeys.registration?.hints});t.startAuthFlow(n),B.current=`link`,z.current=`passkey`,x({status:`generating-challenge`});try{await n.initLinkFlow(),x({status:`awaiting-passkey`})}catch(e){throw G(L,`linkAccount`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`passkey`}),x({status:`error`,error:e}),e}},async linkWithPasskey(e){let n;if(!l)throw new Ne;if(!(t.authFlow instanceof Hc))throw new P(`Must initialize Passkey flow first.`);if(z.current!==`passkey`)throw new P(`Must init login with Passkey flow first.`);try{z.current=`passkey`,t.authFlow.meta.name=e?.name,{user:n}=await t.link()}catch(e){throw G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`passkey`}),e}return I(n||d||null),x({status:`done`}),n},async initLoginWithHeadlessOAuth(e,n,r){if(!Ut()||e===`google`&&!i.allowOAuthInEmbeddedBrowsers&&ql(window.navigator.userAgent))throw Error(`It looks like you're using an in-app browser. To log in, please try again using an external browser.`);let a=new Yn({provider:e,withPrivyUi:!1,disableSignup:r??!1,customOAuthRedirectUrl:i.customOAuthRedirectUrl});n&&a.addCaptchaToken(n),me({status:`loading`});let o=await t.startAuthFlow(a).getAuthorizationUrl();if(o?.url){if(window.location.protocol===`chrome-extension:`&&Jn())try{let{privyOAuthCode:e,privyOAuthState:t}=await ir(o.url);a.meta.stateCode=t,a.meta.authorizationCode=e,await lt(a.meta)}catch(e){throw me({status:`error`,error:e}),e}else window.location.assign(o.url)}},loginWithHeadlessOAuth:lt,initLoginWithEmail:async({email:e,captchaToken:n,disableSignup:r,withPrivyUi:i})=>{let a=new qn({email:e,captchaToken:n,disableSignup:r});t.startAuthFlow(a);try{z.current=`email`,C({status:`sending-code`});let e=await a.sendCodeEmail({withPrivyUi:i});if(e?.ssoRedirectUrl)return window.location.href=e.ssoRedirectUrl,void await jt(1e4);C({status:`awaiting-code-input`})}catch(e){throw C({status:`error`,error:e}),B.current===`login`?G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR):B.current===`link`&&G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`email`}),e}},initUpdateEmail:async({oldAddress:e,newAddress:n,captchaToken:r})=>{let i=new Zn(e,n,r);t.startAuthFlow(i);try{await i.sendCodeEmail({withPrivyUi:!0})}catch(e){throw G(L,`update`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:z.current}),e}},initUpdatePhone:async(e,n,r)=>{let i=new Xn(e,n,r);t.startAuthFlow(i);try{await i.sendSmsCode({withPrivyUi:!0})}catch(e){G(L,`update`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:z.current})}},initLoginWithSms:async({phoneNumber:e,captchaToken:n,disableSignup:r,withPrivyUi:i})=>{E({status:`sending-code`});let a=new ar({phoneNumber:e,captchaToken:n,disableSignup:r});t.startAuthFlow(a);try{z.current=`sms`,await a.sendSmsCode({withPrivyUi:i}),E({status:`awaiting-code-input`})}catch(e){throw E({status:`error`,error:e}),B.current===`login`?G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR):B.current===`link`&&G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`sms`}),e}},resendEmailCode:async()=>{await t.authFlow?.sendCodeEmail({withPrivyUi:!0})},resendSmsCode:async()=>{await t.authFlow?.sendSmsCode({withPrivyUi:!0})},loginWithCode:async e=>{let n,r;function i(e){t.authFlow instanceof qn?C(e):t.authFlow instanceof ar&&E(e)}if(i({status:`submitting-code`}),!l){let e=new Ne;throw i({status:`error`,error:e}),e}if(t.authFlow instanceof qn)t.authFlow.meta.emailCode=e.trim();else{if(!(t.authFlow instanceof ar)){let e=new P(`Must initialize a passwordless code flow first`);throw i({status:`error`,error:e}),e}t.authFlow.meta.smsCode=e.trim()}let a=await K();if(B.current===`link`)try{({user:n}=await t.link())}catch(e){throw i({status:`error`,error:e}),G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:z.current}),e}else if(B.current===`update`)try{({user:n}=await t.link())}catch(e){throw i({status:`error`,error:e}),G(L,`update`,`onError`,e.privyErrorCode||F.FAILED_TO_UPDATE_ACCOUNT,{linkMethod:z.current}),e}else try{({user:n,isNewUser:r}=await t.authenticate())}catch(e){throw i({status:`error`,error:e}),G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}let o=n||d;I(o||null),g(r||!1),Ue(!0),i({status:`done`});let s=null;return t.authFlow instanceof qn?s=o?.linkedAccounts.find((({type:e})=>e===`email`))||null:t.authFlow instanceof ar&&(s=o?.linkedAccounts.find((({type:e})=>e===`phone`))||null),{user:o,isNewUser:r||!1,wasAlreadyAuthenticated:!!a,linkedAccount:s}},generateSiweMessage:async({address:e,chainId:n,captchaToken:r})=>{B.current=R?`link`:`login`,z.current=`siwe`,le({status:`generating-message`});let i=await t.generateSiweNonce({address:e,captchaToken:r});return le({status:`awaiting-signature`}),Bn({address:e,chainId:n.replace(`eip155:`,``),nonce:i})},generateSiweMessageForSmartWallet:async({address:e,chainId:n})=>{let r=await t.generateSiweNonce({address:e});return Bn({address:e,chainId:n.replace(`eip155:`,``),nonce:r})},linkSmartWallet:async({message:e,signature:n,smartWalletType:r,smartWalletVersion:i})=>{let a;a=await t.linkSmartWallet({message:e,signature:n,smartWalletType:r,smartWalletVersion:i}),I((a=await W.refreshSessionAndUser()??a)||d||null)},loginWithSiwe:async({message:e,signature:n,captchaToken:r,disableSignup:i,walletClientType:a,connectorType:o})=>{let s,c=null;try{if(d)throw Error(`User already authenticated`);let l=new Pn(t,void 0,r,i,{message:e,signature:n,walletClientType:a,connectorType:o});t.startAuthFlow(l),z.current=`siwe`,B.current=`login`,le({status:`submitting-signature`});let u=await t.authenticate();if({user:c,isNewUser:s}=u,!c)throw Error(`Authentication failed - no user returned`)}catch(e){throw G(L,`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),le({status:`error`,error:e}),e}return I(c),g(s||!1),Ue(!0),le({status:`done`}),B.current=null,z.current=null,{user:c,isNewUser:s||!1}},linkWithSiwe:async({message:e,signature:n,chainId:r,walletClientType:i,connectorType:a})=>{let o;H(`siwe`);let s=null;try{le({status:`submitting-signature`}),o=await t.linkWithSiwe({message:e,signature:n,chainId:r,walletClientType:i,connectorType:a}),o=await W.refreshSessionAndUser()??o,le({status:`done`}),(s=ot(o)||null)&&G(L,`linkAccount`,`onSuccess`,{user:o,linkMethod:`siwe`,linkedAccount:s})}catch(e){throw G(L,`linkAccount`,`onError`,e.privyErrorCode||F.FAILED_TO_LINK_ACCOUNT,{linkMethod:`siwe`}),B.current=null,z.current=null,le({status:`error`,error:e}),e}let c=o||d;return I(c||null),B.current=null,z.current=null,{user:c,linkedAccount:s}},refreshSessionAndUser:async()=>{let e=await t.getAuthenticatedUser();return Ue(!!e),I(e),e},walletProxy:j,createAnalyticsEvent:({eventName:e,payload:n,timestamp:r})=>t.createAnalyticsEvent({eventName:e,payload:n,timestamp:r}),acceptTerms:async()=>{let e=await t.acceptTerms();return I(e),e},getUsdTokenPrice:e=>t.getUsdTokenPrice(e),getUsdPriceForSol:()=>t.getUsdPriceForSol(),getSplTokenMetadata:e=>t.getSplTokenMetadata(e),recoverEmbeddedWallet:async e=>new Promise((async(n,r)=>{if(!d)return void n(!0);let i=e?.address?fe(d,e.address):ve(d)||ae(d).at(0)||k(d).at(0);if(!i||D(i))return void n(!0);let a=await K();if(!a||!j||!i)return void r(Error(`Must have valid access token and Privy wallet to recover wallet`));let{entropyId:o,entropyIdVerifier:s}=Fe(d,i);try{await j.connect({accessToken:a,entropyId:o,entropyIdVerifier:s}),n(!0)}catch(e){if(bl(e)&&i.recoveryMethod===`privy`){let e;t.createAnalyticsEvent({eventName:`embedded_wallet_pinless_recovery_started`,payload:{walletAddress:i.address}});try{e=await j.recover({entropyId:o,entropyIdVerifier:s,accessToken:a})}catch(e){r(e);return}e.entropyId||r(Error(`Unable to recover wallet`)),t.createAnalyticsEvent({eventName:`embedded_wallet_recovery_completed`,payload:{walletAddress:i.address}}),n(!0)}else bl(e)&&i.recoveryMethod!==`privy`&&i.recoveryMethod!==`privy-v2`?(N((e=>({...e,recoverWallet:{entropyId:o,entropyIdVerifier:s,onFailure:r,onSuccess:()=>{n(!0)},onCompleteNavigateTo:e.createWallet?`EmbeddedWalletOnAccountCreateScreen`:void 0},recoveryOAuthStatus:{provider:i.recoveryMethod,action:`recover`,shouldCreateEth:!1,shouldCreateSol:!1,isInAccountCreateFlow:!!e.createWallet}}))),V(Bl(i.recoveryMethod))):r(e)}})),setReadyToTrue:e=>{u(!0),Oe?.(e)},updateWallets:()=>rt(),fundWallet:async(e,t)=>{let n=`FundingMethodSelectionScreen`;return new Promise(((r,a)=>{N({funding:{...cn({address:e,appConfig:i,fundWalletConfig:t,methodScreen:n,onComplete:r,onError:a})}}),V(n)}))},openModal:V,requestFarcasterSignerStatus:async e=>{let n=await K(),r=d?.linkedAccounts.find((e=>e.type===`wallet`&&e.walletClientType===`privy`));if(!n)throw Error(`Must have valid access token to connect with Farcaster`);if(!j||!r)throw Error(`Must have an embedded wallet to use Farcaster signers`);if(!d?.farcaster?.fid)throw Error(`Must have Farcaster account to use Farcaster signers`);let i=await t.requestFarcasterSignerStatus(e);return i.status===`approved`&&I(await t.getAuthenticatedUser()||d||null),i},connectCoinbaseSmartWallet:async()=>{i.externalWallets.coinbaseWallet.config.preference={...i.externalWallets.coinbaseWallet.config.preference,options:`smartWalletOnly`};let e=t.connectors?.findWalletConnector(`coinbase_wallet`,`coinbase_smart_wallet`)||t.connectors?.findWalletConnector(`coinbase_wallet`,`coinbase_wallet`);if(e)return e.updateConnectionPreference(`smartWalletOnly`),Qe(e);await Ze(`coinbase_wallet`,`coinbase_smart_wallet`)},connectBaseAccount:async()=>{let e=t.connectors?.findWalletConnector(`base_account`,`base_account`);if(e)return Qe(e);await Ze(`base_account`,`base_account`)},initiateAccountTransfer:async({nonce:e,account:n,accountType:r,externalWalletMetadata:i,telegramAuthResult:a,telegramWebAppData:o,farcasterEmbeddedAddress:s,oAuthUserInfo:c})=>{let l=await t.sendAccountTransferRequest({nonce:e,account:n,accountType:r,externalWalletMetadata:i,telegramAuthResult:a,telegramWebAppData:o,farcasterEmbeddedAddress:s,oAuthUserInfo:c});return I(l),l},inProgressAuthFlowRef:B,inProgressLoginOrLinkMethodRef:z};Cu=W.recoverEmbeddedWallet,W.recoverEmbeddedWallet;let ut=t.authFlow instanceof Yc,{siteKey:dt,enabledProvider:ft}=i.captcha,pt=!i.headless&&ft&&!R&&(l||ut);return(0,Y.jsx)(Le.Provider,{value:!0,children:(0,Y.jsx)(pe.Provider,{value:ct,children:(0,Y.jsx)(rn.Provider,{value:L,children:(0,Y.jsx)(Kc,{appId:i.id,captchaSiteKey:dt,enabledCaptchaProvider:ft,children:(0,Y.jsxs)(Se.Provider,{value:W,children:[(0,Y.jsx)(Nr,{children:(0,Y.jsxs)(Ee,{data:M,setModalData:N,setInitialScreen:v,initialScreen:_,authenticated:R,open:a,children:[e.children,(0,Y.jsx)(du,{customAuth:i.customAuth}),pt&&(0,Y.jsx)(tl,{delayedExecution:!1}),(0,Y.jsx)(gl,{}),(0,Y.jsx)(vu,{}),(0,Y.jsx)($l,{disabled:i.embeddedWallets.disableAutomaticMigration}),(0,Y.jsx)(kc,{palette:i.appearance.palette||{}}),!i.render.standalone&&(0,Y.jsx)(dl,{open:a})]})}),(0,Y.jsx)(Ml,{appId:e.appId,appClientId:e.clientId,clientAnalyticsId:t.clientAnalyticsId,origin:t.apiUrl,mfaMethods:d?.mfaMethods,mfaPromise:Pe,mfaSubmitPromise:Re,onLoad:Ce,onLoadFailed:()=>null}),i.loginConfig.telegramHasHmacCredentials&&i.loginConfig.telegramAuthConfiguration&&(0,Y.jsx)(jr,{$if:!0,children:(0,Y.jsx)(hl,{scriptHost:e.apiUrl||`https://auth.privy.io`,botUsername:i.loginConfig.telegramAuthConfiguration.botName})})]})})})})})},Tu=(e,t)=>yu(e,t),Eu=(e,t)=>bu(e,t),Du=(e,t)=>xu(e,t),Ou=(e,t)=>Su(e,t),ku=e=>Cu(e),Au=({config:e,...t})=>{L(),function(){if(typeof window>`u`)return;let e=[`localhost`,`127.0.0.1`].includes(window.location.hostname),t=window.location.protocol===`https:`||window.location.protocol===`chrome-extension:`;if(!e&&!t)throw new P(`Embedded wallet is only available over HTTPS`)}(),function(e){if(typeof e!=`string`||e.length!==25)throw new P(`Cannot initialize the Privy provider with an invalid Privy app ID`)}(t.appId),Vn(t);let n=(0,q.useMemo)((()=>new te({appId:t.appId,clientId:t.clientId,storage:Xt,baseUrl:t.apiUrl,sdkVersion:`react-auth:3.47.0`})),[]),r=In(),i=Object.assign({},e);return(0,Y.jsx)(de,{client:n,legacyClient:r,appClientId:t.clientId,clientConfig:i,children:(0,Y.jsx)(cr,{configPlugins:e?.plugins,children:(0,Y.jsx)(wu,{...t,client:r,privy:n})})})};function ju(e,t=Date.now()){return e.expiresAt>t}function Mu(e){let t=crypto.randomUUID(),n=`PRIVY_CROSS_TAB_REFRESH_LOCK:${e}`;function r(){try{let e=localStorage.getItem(n);if(!e)return null;let t=JSON.parse(e);return typeof t==`object`&&t&&typeof t.ownerTabId==`string`&&typeof t.requestId==`string`&&typeof t.startedAt==`number`&&typeof t.expiresAt==`number`&&function(e){let t=e.expiresAt-e.startedAt;return Number.isFinite(t)&&t>=0&&t<=1e4}(t)?t:null}catch{return`unavailable`}}async function i(e){return typeof window>`u`?`timed_out`:await new Promise((t=>{let i=!1,a=e=>{i||(i=!0,window.removeEventListener(`storage`,o),window.clearTimeout(c),t(e))},o=t=>{t.key===n&&(()=>{let t=r();t===`unavailable`?a(`unavailable`):t?t.ownerTabId===e.ownerTabId&&t.requestId===e.requestId||a(ju(t)?`timed_out`:`released`):a(`released`)})()},s=Math.min(1e4,Math.max(0,e.expiresAt-Date.now())),c=window.setTimeout((()=>{let t=r();a(t===`unavailable`?`unavailable`:t&&(t.ownerTabId===e.ownerTabId&&t.requestId===e.requestId||ju(t))?`timed_out`:`released`)}),s);window.addEventListener(`storage`,o)}))}return{async withRefreshLock({onLeader:e,onFollowerReleased:a}){if(typeof window>`u`)return await e();for(;;){let o=function(){let e=r();if(e===`unavailable`)return`unavailable`;if(e&&ju(e))return null;let i={ownerTabId:t,requestId:crypto.randomUUID(),startedAt:Date.now(),expiresAt:Date.now()+1e4};try{localStorage.setItem(n,JSON.stringify(i))}catch{return`unavailable`}let a=r();return a===`unavailable`?`unavailable`:a?.ownerTabId===i.ownerTabId&&a.requestId===i.requestId?i:null}();if(o===`unavailable`)return await e();if(o)try{return await e()}finally{(function(e){let t=r();if(t!==`unavailable`&&t?.ownerTabId===e.ownerTabId&&t.requestId===e.requestId)try{localStorage.removeItem(n)}catch{}})(o)}let s=r();if(s===`unavailable`)return await e();if(!s||!ju(s))continue;let c=await i(s);if(c===`unavailable`)return await e();if(c===`released`)return await a()}}}}var Nu=null,Pu=null,Fu=!1;function Iu(e){if(!e.channelId)throw Error(`[Privy] Cross-tab sync plugin requires a channelId.`);let t=Mu(e.channelId);return typeof BroadcastChannel>`u`||Nu||((Nu=new BroadcastChannel(`PRIVY_CROSS_TAB_CHANNEL:${e.channelId}`)).onmessage=e=>{e.data.eventId!==Pu&&(Pu=e.data.eventId,Fu=!0,I(e.data.user),He(!!e.data.user),Fu=!1)},ze.subscribe(((e,t)=>{if(e.user===t.user||Fu)return;let n=crypto.randomUUID();Pu=n,Nu?.postMessage({user:e.user,eventId:n})}))),{id:Qn,withRefreshLock:t.withRefreshLock}}var Lu=()=>{let{privy:e}=(0,q.useContext)(Se);return e},Ru=()=>{let{user:e}=A(),{walletProxy:t}=C();return{recover:(0,q.useCallback)((async n=>{if(!t)throw Error(`Wallet proxy is not ready`);let r=await K();if(!e||!r)throw new P(`User must be logged in before attempting to modify the recovery method.`);let{entropyId:i,entropyIdVerifier:a}=Fe(e);try{await t.recover({entropyId:i,entropyIdVerifier:a,accessToken:r,...n})}catch{throw new P(`Unable to recover wallets`)}}),[t,e])}};function zu(){let{promptMfa:e,init:t,submit:n,cancel:r,clear:i,mfaMethods:a}=(0,q.useContext)(pe);return{promptMfa:e,init:t,submit:n,cancel:r,clear:i,mfaMethods:a}}function Bu(){let{initEnrollmentWithSms:e,initEnrollmentWithTotp:t,initEnrollmentWithPasskey:n,submitEnrollmentWithSms:r,submitEnrollmentWithTotp:i,submitEnrollmentWithPasskey:a,unenroll:o,enrollInMfa:s}=(0,q.useContext)(pe);return{initEnrollmentWithSms:e,initEnrollmentWithTotp:t,initEnrollmentWithPasskey:n,submitEnrollmentWithSms:r,submitEnrollmentWithTotp:i,submitEnrollmentWithPasskey:a,unenrollWithSms:()=>o(`sms`),unenrollWithTotp:()=>o(`totp`),unenrollWithPasskey:e=>o(`passkey`,e),showMfaEnrollmentModal:()=>s(!0),closeMfaEnrollmentModal:()=>s(!1)}}function Vu(){let e=In();return e?e.getCustomerAccessToken():Promise.resolve(Xt.get(`privy:token`)||null)}var Hu=()=>{let{client:e,setAuthenticated:t,setUser:n}=C();return(0,q.useMemo)((()=>({init:async()=>{if(!e)throw new P(`Must initialize Privy client first.`);let t=new Rc;return e.startAuthFlow(t),await t.init()},login:async({fid:r,message:i,signature:a})=>{if(!e)throw new P(`Must initialize Privy client first.`);if(!(e.authFlow instanceof Rc))throw new P(`Must initialize Farcaster Mini App flow first.`);e.authFlow.setAuthData({message:i,signature:a,fid:r});let{user:o}=await e.authenticate();if(!o)throw new P(`Failed to login with Farcaster V2`);return n(o),t(!0),{user:o}}})),[e,n,t])};function Uu(){let{acceptTerms:e}=C();return{acceptTerms:async()=>({user:await e()})}}var Wu=()=>(0,q.useMemo)((()=>({getAccessTokenForProvider:({appId:e})=>{try{let t=Xt.get(j(e));if(typeof t!=`string`)return{token:null};{let n=new Fn(t);return n.isExpired()?(Xt.del(j(e)),{token:null}):{token:n.value}}}catch(e){return console.error(e),{token:null}}}})),[]),Gu=e=>{sn(`login`,e);let t=qc(),n=ie(),{ready:r,user:i}=A(),{initLoginWithHeadlessOAuth:a,loginWithHeadlessOAuth:o,oAuthState:s,setOAuthState:c,isHeadlessOAuthLoading:l}=C(),u=(0,q.useCallback)((async e=>{try{if(t.enabled&&t.status!==`success`)throw new Gc(t.error,null,F.CAPTCHA_FAILURE);return await a(e.provider,t.token,e.disableSignup)}catch(e){throw c({status:`error`,error:e}),e}}),[a,t]),d=(0,q.useCallback)((async()=>{let e=zc();try{if(!e.inProgress)throw Error(`Cannot login with OAuth because no OAuth flow is in progress`);let t=e.provider;if(re(t)){if(i&&i.linkedAccounts.some((e=>e.type===t)))return console.warn(`User is already logged in with this OAuth provider`),i}else if(i&&t in i&&i[t])return console.warn(`User is already logged in with this OAuth provider`),i;if(e.popupFlow)return}catch(e){throw c({status:`error`,error:e}),e}try{return await o(e)}catch(e){throw c({status:`error`,error:e}),e}finally{Bc()}}),[o]);return(0,q.useEffect)((()=>{let e=zc();r&&n&&e.inProgress&&!e.withPrivyUi&&!e.popupFlow&&d().catch((()=>{}))}),[r,n]),{initOAuth:u,loading:l,state:s}},Ku=e=>re(e)?e:`${e}_oauth`,qu=()=>{let{ready:e,authenticated:t,user:n}=A(),{initLoginWithHeadlessOAuth:r,loginWithHeadlessOAuth:i,oAuthState:a,setOAuthState:o,isHeadlessOAuthLoading:s}=C(),c=(0,q.useCallback)((async({provider:e})=>{try{if(!t)throw new P(`User must be authenticated before linking an OAuth account.`,void 0,F.MUST_BE_AUTHENTICATED);let i=Ku(e);if(n?.linkedAccounts.some((e=>e.type===i)))throw new P(`User already has an account for this OAuth provider linked.`,void 0,F.CANNOT_LINK_MORE_OF_TYPE);return await r(e)}catch(e){throw o({status:`error`,error:e}),e}}),[t,r,o,n]),l=(0,q.useCallback)((async()=>{let e=zc();try{if(!e.inProgress)throw Error(`Cannot login with OAuth because no OAuth flow is in progress`);let t=e.provider;if(re(t)){if(n&&n.linkedAccounts.some((e=>e.type===t)))return console.warn(`User is already logged in with this OAuth provider`),n}else{let e=Ku(t);if(n&&n.linkedAccounts.some((t=>t.type===e)))return console.warn(`User is already logged in with this OAuth provider`),n}if(e.popupFlow)return}catch(e){throw o({status:`error`,error:e}),e}try{return await i(e)}catch(e){throw o({status:`error`,error:e}),e}finally{Bc()}}),[i]);return(0,q.useEffect)((()=>{let n=zc();e&&t&&n.inProgress&&!n.withPrivyUi&&!n.popupFlow&&l().catch((()=>{}))}),[e]),{initOAuth:c,loading:s,state:a}},Ju=e=>{let t=qc(),{emailOtpState:n,setEmailOtpState:r,initLoginWithEmail:i,loginWithCode:a}=C();return{sendCode:(0,q.useCallback)((async({email:n,disableSignup:a})=>{try{if(!n)throw Error(`Email required to send OTP code`);let e=await Jc(t);return await i({email:n,captchaToken:e,disableSignup:a,withPrivyUi:!1})}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[i,t]),loginWithCode:(0,q.useCallback)((async({code:t})=>{try{let{user:n,isNewUser:r,wasAlreadyAuthenticated:i,linkedAccount:o}=await a(t);e?.onComplete?.({user:n,isNewUser:r,wasAlreadyAuthenticated:i,loginMethod:`email`,loginAccount:o})}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[a]),state:n}},Yu=()=>{let e=qc(),{user:t}=gn(),{client:n,loginWithCode:r,emailOtpState:i,setEmailOtpState:a,inProgressAuthFlowRef:o,inProgressLoginOrLinkMethodRef:s}=C();return{sendCode:(0,q.useCallback)((async({email:r})=>{try{if(!t)throw new P(`User must be authenticated before linking an account.`,void 0,F.MUST_BE_AUTHENTICATED);if(t?.linkedAccounts.some((e=>e.type===`email`)))throw new P(`User already has an email account linked.`,void 0,F.CANNOT_LINK_MORE_OF_TYPE);if(!r)throw Error(`Email required to send OTP code`);let i=await Jc(e);o.current=`link`,s.current=`email`,a({status:`sending-code`});let c=new qn({email:r,captchaToken:i});n.startAuthFlow(c),await c.sendCodeEmail({email:r,captchaToken:i,withPrivyUi:!1}),a({status:`awaiting-code-input`})}catch(e){throw a({status:`error`,error:e}),e}}),[t,e,n,o,s,a]),linkWithCode:(0,q.useCallback)((async({code:e})=>{let{user:t}=await r(e);return{user:t}}),[r]),state:i}},Xu=e=>{let t=qc(),{initSignupWithPasskey:n,signupWithPasskey:r,passkeyAuthState:i,setPasskeyAuthState:a}=C();return{signupWithPasskey:(0,q.useCallback)((async()=>{try{let i=await Jc(t);await n({captchaToken:i,withPrivyUi:!1});let{user:a,isNewUser:o,wasAlreadyAuthenticated:s,loginAccount:c}=await r();e?.onComplete?.({user:a,isNewUser:o,wasAlreadyAuthenticated:s,loginMethod:`passkey`,loginAccount:c})}catch(t){throw a({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[r,t]),state:i}},Zu=e=>{let t=qc(),{initLoginWithPasskey:n,loginWithPasskey:r,passkeyAuthState:i,setPasskeyAuthState:a}=C();return{loginWithPasskey:(0,q.useCallback)((async i=>{try{let a=await Jc(t);await n({captchaToken:a,withPrivyUi:!1});let{user:o,isNewUser:s,wasAlreadyAuthenticated:c,loginAccount:l}=await r(i);e?.onComplete?.({user:o,isNewUser:s,wasAlreadyAuthenticated:c,loginMethod:`passkey`,loginAccount:l})}catch(t){throw a({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[r,t]),state:i}},Qu=e=>{let{initLinkWithPasskey:t,linkWithPasskey:n,passkeyAuthState:r,setPasskeyAuthState:i}=C();return{linkWithPasskey:(0,q.useCallback)((async r=>{try{await t();let i=await n(r);if(!i)throw Error(`Error, user not found`);let a=i.linkedAccounts.filter((e=>e.type===`passkey`)).sort(((e,t)=>t.latestVerifiedAt.getTime()-e.latestVerifiedAt.getTime()))[0];e?.onSuccess?.({user:i,linkMethod:`passkey`,linkedAccount:a})}catch(t){throw i({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`passkey`}),t}}),[n]),state:r}},$u=e=>{let t=qc(),{smsOtpState:n,setSmsOtpState:r,initLoginWithSms:i,loginWithCode:a}=C();return{sendCode:(0,q.useCallback)((async({phoneNumber:n,disableSignup:a})=>{try{if(!n)throw Error(`SMS required to send OTP code`);let e=await Jc(t);return await i({phoneNumber:n,captchaToken:e,disableSignup:a,withPrivyUi:!1})}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[i,t]),loginWithCode:(0,q.useCallback)((async({code:t})=>{try{let{user:n,isNewUser:r,wasAlreadyAuthenticated:i,linkedAccount:o}=await a(t);e?.onComplete?.({user:n,isNewUser:r,wasAlreadyAuthenticated:i,loginMethod:`sms`,loginAccount:o})}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[a]),state:n}},ed=()=>{let e=qc(),{user:t}=gn(),{client:n,loginWithCode:r,smsOtpState:i,setSmsOtpState:a,inProgressAuthFlowRef:o,inProgressLoginOrLinkMethodRef:s}=C();return{sendCode:(0,q.useCallback)((async({phoneNumber:r})=>{try{if(!t)throw new P(`User must be authenticated before linking an account.`,void 0,F.MUST_BE_AUTHENTICATED);if(t?.linkedAccounts.some((e=>e.type===`phone`)))throw new P(`User already has a phone account linked.`,void 0,F.CANNOT_LINK_MORE_OF_TYPE);if(!r)throw Error(`Phone number required to send OTP code`);let i=await Jc(e);o.current=`link`,s.current=`sms`,a({status:`sending-code`});let c=new ar({phoneNumber:r,captchaToken:i});n.startAuthFlow(c),await c.sendSmsCode({phoneNumber:r,captchaToken:i,withPrivyUi:!1}),a({status:`awaiting-code-input`})}catch(e){throw a({status:`error`,error:e}),e}}),[t,e,n,o,s,a]),linkWithCode:(0,q.useCallback)((async({code:e})=>{let{user:t}=await r(e);return{user:t}}),[r]),state:i}},td=e=>{let{connectOrCreateWallet:t}=A();return sn(`connectOrCreateWallet`,e),{connectOrCreateWallet:t}},nd=e=>{let t=qc(),{siweState:n,setSiweState:r,linkWithSiwe:i,generateSiweMessage:a}=C();return{generateSiweMessage:(0,q.useCallback)((async({address:t,chainId:n})=>{try{if(!t||!n)throw Error(`wallet address and chainId required to generate nonce`);return await a({address:t,chainId:n}).then((e=>e))}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`siwe`}),t}}),[a]),linkWithSiwe:(0,q.useCallback)((async({signature:n,message:a,chainId:o,walletClientType:s,connectorType:c})=>{try{if(t.enabled&&t.status!==`success`)throw new Gc(t.error,null,F.CAPTCHA_FAILURE);let{user:r,linkedAccount:l}=await i({message:a,signature:n,chainId:o,walletClientType:s,connectorType:c});l&&e?.onSuccess?.({user:r,linkMethod:`siwe`,linkedAccount:l})}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`siwe`}),t}}),[i,t.status]),state:n}},rd=e=>{let t=qc(),{siweState:n,setSiweState:r,client:i,generateSiweMessage:a,loginWithSiwe:o}=C();return{generateSiweNonce:(0,q.useCallback)((async n=>{try{let e=await Jc(t);r({status:`generating-message`});let a=await i.generateSiweNonce({address:n?.address,captchaToken:e});return r({status:`awaiting-signature`}),a}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[i,t]),generateSiweMessage:(0,q.useCallback)((async({address:n,chainId:i})=>{try{let e=await Jc(t);return await a({address:n,chainId:i,captchaToken:e})}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[a,t]),loginWithSiwe:(0,q.useCallback)((async({message:n,signature:i,disableSignup:a,walletClientType:s,connectorType:c})=>{try{let r=await Jc(t),{user:l,isNewUser:u}=await o({message:n,signature:i,captchaToken:r,disableSignup:a,walletClientType:s,connectorType:c});return e?.onComplete?.({user:l,isNewUser:u,wasAlreadyAuthenticated:!1,loginMethod:`siwe`,loginAccount:null}),l}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[o,t]),state:n}},id=()=>{let e=qc(),{client:t,setAuthenticated:n,setUser:r,setIsNewUser:i}=C(),{authenticated:a}=gn();return{generateSiwsMessage:(0,q.useCallback)((async({address:n})=>{let r=await Jc(e),i=await t.generateSiwsNonce({address:n,captchaToken:r});return Er({address:n,nonce:i})}),[e,t]),generateSiwsOffchainMessage:(0,q.useCallback)((({message:e,address:t})=>Dr({message:e,address:t})),[]),loginWithSiws:(0,q.useCallback)((async({message:e,signature:o,disableSignup:s,walletClientType:c,connectorType:l,messageType:u=`plain`})=>{if(a)throw Error(`User already authenticated`);let{user:d,isNewUser:f}=await t.authenticateWithSiws({message:e,signature:o,walletClientType:c,connectorType:l,mode:s?`no-signup`:`login-or-sign-up`,messageType:u});if(!d)throw Error(`Authentication failed - no user returned`);return r(d),i(f||!1),n(!0),d}),[a,t,n,r,i])}},ad=()=>{let e=qc(),{client:t,setUser:n,refreshSessionAndUser:r}=C(),{authenticated:i}=gn();return{generateSiwsMessage:(0,q.useCallback)((async({address:n})=>{let r=await Jc(e),i=await t.generateSiwsNonce({address:n,captchaToken:r});return Er({address:n,nonce:i})}),[e,t]),generateSiwsOffchainMessage:(0,q.useCallback)((({message:e,address:t})=>Dr({message:e,address:t})),[]),linkWithSiws:(0,q.useCallback)((async({signature:a,message:o,walletClientType:s,connectorType:c,messageType:l=`plain`})=>{if(!i)throw Error(`User must be authenticated before linking`);await Jc(e);let u=await t.linkWithSiws({message:o,signature:a,walletClientType:s,connectorType:c,messageType:l}),d=(e=>{if(!e)return;let t=e.linkedAccounts;return t&&t.length!==0?t[t.length-1]:void 0})(u=await r()??u)||null;return n(u||null),{user:u,linkedAccount:d}}),[i,e,t,r,n])}};function od(){let{signTransaction:e}=(0,q.useContext)(pe);return{signTransaction:e}}function sd(e){let{linkEmail:t,linkPhone:n,linkWallet:r,linkGoogle:i,linkApple:a,linkTwitter:o,linkTwitch:s,linkDiscord:c,linkGithub:l,linkLinkedIn:u,linkTiktok:d,linkLine:f,linkSpotify:p,linkInstagram:m,linkTelegram:h,linkFarcaster:g,linkPasskey:_,linkOAuth:v}=(0,q.useContext)(pe);return sn(`linkAccount`,e),{linkEmail:t,linkPhone:n,linkWallet:r,linkGoogle:i,linkApple:a,linkTwitter:o,linkTwitch:s,linkDiscord:c,linkGithub:l,linkLinkedIn:u,linkTiktok:d,linkLine:f,linkSpotify:p,linkInstagram:m,linkFarcaster:g,linkTelegram:h,linkPasskey:_,linkOAuth:v}}var cd=e=>{let{user:t}=A(),{loginWithCode:n,emailOtpState:r,setEmailOtpState:i,client:a,inProgressAuthFlowRef:o,inProgressLoginOrLinkMethodRef:s}=C();return{state:r,sendCode:(0,q.useCallback)((async({newEmailAddress:n})=>{try{if(!t?.email)throw Error(`User is required to have an email address to update it.`);let e=new Zn(t.email.address,n);a.startAuthFlow(e),await e.sendCodeEmail({withPrivyUi:!1})}catch(t){i({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`email`})}}),[t?.email]),verifyCode:(0,q.useCallback)((async({code:r})=>{try{if(!t?.email)throw Error(`User is required to have an email address to update it.`);o.current=`update`,s.current=`email`;let{user:i,linkedAccount:a}=await n(r);return e?.onSuccess?.({user:i,updateMethod:`email`,updatedAccount:a}),{user:i}}catch(t){i({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`email`})}}),[t?.email])}},ld=()=>{let{user:e}=A(),{loginWithCode:t,smsOtpState:n,setSmsOtpState:r,client:i,inProgressAuthFlowRef:a,inProgressLoginOrLinkMethodRef:o}=C();return{state:n,sendCode:(0,q.useCallback)((async({newPhoneNumber:t})=>{try{if(!e?.phone)throw Error(`User is required to have a phone number to update it.`);r({status:`sending-code`});let n=new Xn(e.phone.number,t);i.startAuthFlow(n),await n.sendSmsCode({withPrivyUi:!1}),r({status:`awaiting-code-input`})}catch(e){throw r({status:`error`,error:e}),e}}),[i,r,e?.phone]),verifyCode:(0,q.useCallback)((async({code:n})=>{try{if(!e?.phone)throw Error(`User is required to have a phone number to update it.`);a.current=`update`,o.current=`sms`;let{user:r}=await t(n);return{user:r}}catch(e){throw r({status:`error`,error:e}),e}}),[a,o,t,r,e?.phone])}},ud=()=>{let{fund:e}=mr(),{createDepositAddress:t}=ur(),{openModal:n,closePrivyModal:r}=C(),{navigate:i}=Te();return(0,q.useMemo)((()=>({addFunds:async a=>{if(!a.destination?.address)throw Error(`Invalid input: expected destination.address`);if(!a.destination?.chain)throw Error(`Invalid input: expected destination.chain`);if(!a.destination?.asset)throw Error(`Invalid input: expected destination.asset`);if(!ze.getState().user)throw Error(`User must be authenticated to add funds`);if(hr.getState())throw Error(`Existing funding flow in progress`);if(a.fiat?.source?.assets?.length===0)throw Error(`Invalid input: expected non-empty fiat.source.assets`);let{resolve:o,reject:s,promise:c}=pr();if(!a.fiat&&!a.crypto){let e=Error(`At least one of fiat or crypto config must be provided`);return hr.setState({error:e.message,onCancel:async()=>{fr(),n(null),await r({shouldCallAuthOnSuccess:!1,isSuccess:!1}),s(e)}}),n(`AddFundsSelectionScreen`),await c}let l=async t=>{try{let n=await e({source:a.fiat?.source??{},destination:a.destination,environment:a.fiat?.environment,defaultAmount:a.fiat?.defaultAmount,showBackButton:!(!a.fiat||!a.crypto),paymentMethod:t});fr(),o({method:`fiat`,status:n.status})}catch(e){f(e)}},u=async()=>{try{let e={destinationChain:a.destination.chain,destinationCurrency:a.destination.asset,destinationAddress:a.destination.address,refundAddress:a.crypto?.refundAddress,slippageBps:a.crypto?.slippageBps,showBackButton:!(!a.fiat||!a.crypto),entrySource:`unified_funding`};await t(e),fr(),o({method:`crypto`,status:`completed`})}catch(e){f(e)}},d=()=>{hr.setState({startFiat:l,startCrypto:u,onCancel:async()=>{fr(),n(null),await r({shouldCallAuthOnSuccess:!1,isSuccess:!1}),s(Error(`User cancelled funding`))}})},f=e=>{if((e=>e instanceof dr)(e))return d(),void i(`AddFundsSelectionScreen`);fr(),s(e)};return a.fiat&&!a.crypto?l():a.crypto&&!a.fiat?u():(d(),n(`AddFundsSelectionScreen`)),await c}})),[r,t,e,i,n])},dd=()=>{let{connectCoinbaseSmartWallet:e}=C();return{connectCoinbaseSmartWallet:e}},fd=()=>{let{connectBaseAccount:e}=C();return{connectBaseAccount:e}},pd=()=>{let{baseAccountSdk:e}=C();return{baseAccountSdk:e}},md=()=>{let{setModalData:e}=Te(),{openModal:t,privy:r,closePrivyModal:i}=C(),{user:a}=A();return(0,q.useMemo)((()=>({verify:async({standalone:o=!0}={standalone:!0})=>new Promise(((s,c)=>a?a.mfaMethods.length===0?s():(e((e=>({...e,mfaVerify:{onSuccess:async()=>{o?await i({shouldCallAuthOnSuccess:!1,isSuccess:!0}):il.setState({inProgressMfaFlow:void 0}),s()},onFailure:async e=>{o?await i({shouldCallAuthOnSuccess:!1,isSuccess:!1}):il.setState({inProgressMfaFlow:void 0}),c(e)},sendSmsCode:async()=>{throw Error(`Not enabled`)},verifySmsCode:async()=>{throw Error(`Not enabled`)},verifyTotpCode:async e=>{await r.fetchPrivyRoute(v,{body:{code:e}})},generateOptions:async()=>nr((await r.fetchPrivyRoute(ne,{body:{}})).options),verifyPasskey:async e=>{let t=await(await n(()=>import(`./esm-Ci1ogKuK.js`),[],import.meta.url)).startAuthentication({optionsJSON:e});await r.fetchPrivyRoute(b,{body:{authenticator_response:eu(t)}})}}}))),void(o?t(`MfaAuthVerifyFlowScreen`):il.setState({inProgressMfaFlow:`auth`}))):c(Error(`Must be logged in to verify MFA`))))})),[r,e,t,i])},hd=()=>{let e=T(),{setModalData:t}=Te(),{verify:n}=md(),{openModal:r,privy:i,closePrivyModal:a,refreshSessionAndUser:o,setUser:s}=C();return(0,q.useMemo)((()=>({enroll:async c=>new Promise(((l,u)=>{t({mfaEnroll:{onSuccess:async e=>{await a({shouldCallAuthOnSuccess:!1,isSuccess:!0}),l(e)},onFailure:async e=>{await a({shouldCallAuthOnSuccess:!1,isSuccess:!1}),u(e)},onBack:c?.onBack?async()=>{await a({shouldCallAuthOnSuccess:!1,isSuccess:!1}),u(Error(`User canceled MFA enrollment flow.`)),c.onBack?.()}:void 0,verify:()=>n({standalone:!1}),shouldUnlinkOnUnenrollMfa:!0,mfaMethods:e.mfa.methods,sendSmsCode:async()=>{throw Error(`Not enabled`)},enrollSms:async()=>{throw Error(`Not enabled`)},unenrollSms:async()=>{throw Error(`Not enabled`)},generateTotpSecret:async()=>await i.fetchPrivyRoute(_,{body:{}}),enrollTotp:async e=>{await i.fetchPrivyRoute(m,{body:{code:e}});let t=await o();return s(t),t},unenrollTotp:async()=>{await i.fetchPrivyRoute(f,{body:{}});let e=await o();return s(e),e},enrollPasskey:async e=>{await i.fetchPrivyRoute(ee,{body:{credential_ids:e,remove_for_login:!0}});let t=await o();return s(t),t}}}),r(`MfaAuthEnrollmentFlowScreen`)}))})),[i,t,r,a])},gd=()=>{let{user:e}=A(),{client:t,refreshSessionAndUser:n,initializeWalletProxy:r}=C(),i=an(),a=T();return{importSeedPhrase:(0,q.useCallback)((o=>((e,{mnemonic:t,chainType:n,additionalSigners:r})=>{if(pn(e.appConfig)===`on-device`)throw new P(`Seed phrase imports require TEE wallet execution mode`);return _n(e,{chainType:n,additionalSigners:r},(({proxy:e,accessToken:i})=>e.importSeedPhrase({mnemonic:t,accessToken:i,chainType:n,additionalSigners:r})))})({getAccessToken:()=>t.getAccessToken(),user:e,initializeWalletProxy:r,refreshSessionAndUser:n,emitPrivyEvent:i,appConfig:a},o)),[e,t,n,r,i,a])}},_d=()=>{let{startCrossAppAuthFlow:e,unlinkCrossAppAccount:t,signMessageWithCrossAppWallet:n,signTypedDataWithCrossAppWallet:r,sendTransactionWithCrossAppWallet:i,signTransactionWithCrossAppWallet:a}=vn();return{loginWithCrossAppAccount:({appId:t})=>e({appId:t,action:`login`}),linkCrossAppAccount:({appId:t})=>e({appId:t,action:`link`}),unlinkCrossAppAccount:t,signMessage:n,signTypedData:r,sendTransaction:i,signTransaction:a}};function vd(){let e=T(),t=an(),n=lr(),{client:r,setUser:i,setAuthenticated:a,setIsNewUser:o,initializeWalletProxy:s}=C(),{create:c}=yn();return{createGuestAccount:async()=>{if(!e.id||!r)throw Error(`SDK not yet ready`);r.startAuthFlow(new Gn(e.id));try{let l=await r.authenticate(),u=l.user,d=l.isNewUser??!1;if(!u)throw new P(`Unable to authenticate guest account`);let f=await r.getAccessToken(),p=await s(ge);if(f&&p)try{let t=n(ou)?.shouldCreateWallet({user:u}),r=nu(u,e.embeddedWallets.ethereum.createOnLogin,t),a=iu(u,e.embeddedWallets.solana.createOnLogin,t);r&&a?(u=(await c({chainType:`ethereum`,latestUser:u})).user,u=(await c({chainType:`solana`,latestUser:u})).user):a?u=(await c({chainType:`solana`,latestUser:u})).user:r?u=(await c({chainType:`ethereum`,latestUser:u})).user:i(u)}catch{i(u),console.warn(`Unable to create embedded wallet for guest account`)}return o(d),a(!0),t(`login`,`onComplete`,{user:u,isNewUser:d,wasAlreadyAuthenticated:!1,loginMethod:`guest`,loginAccount:null}),u}catch(e){throw t(`login`,`onError`,e.privyErrorCode||F.UNKNOWN_AUTH_ERROR),e}}}}function yd(e){let{setWalletRecovery:t}=(0,q.useContext)(pe);return sn(`setWalletRecovery`,e),{setWalletRecovery:t}}function bd(e){let{signMessage:t}=(0,q.useContext)(pe);return sn(`signMessage`,e),{signMessage:t}}var xd=()=>{let{ready:e,wallets:t}=Re(),{user:n}=A(),{rpcConfig:r,chains:i,appId:a}=C();return{signAuthorization:(0,q.useCallback)((async(o,s)=>{let c;if(!n)throw Error(`User must be authenticated before signing with a Privy wallet`);if(!e)throw Error(`Wallets are not ready`);let l=s?.address??he(n)?.address??`0x0000000000000000000000000000000000000000`,u=t.find((e=>st(e.address)===st(l)));if(!u)throw Error(`Signing wallet not found.`);let d=o.chainId??Number(u.chainId.split(`:`)[1]);if(d===0)c={chainId:0,address:o.contractAddress,nonce:o.nonce??0};else{let e=i.find((e=>e.id===d));if(!e)throw Error(`Error, chain not configured in PrivyProvider config`);c=await gi({account:l,chain:e,transport:ut(wt(e,r,a))}).prepareAuthorization({...o})}let f=await(await u.getEthereumProvider()).request({method:`secp256k1_sign`,params:[Vt(c)]});return{...c,...Ln(f)}}),[e,t,n,i])}};function Sd(e){let{signTypedData:t}=(0,q.useContext)(pe);return sn(`signTypedData`,e),{signTypedData:t}}var Cd={base:[`0x833589fcd6edb6e08f4c7c32d4f71b54bda02913`],"base-sepolia":[`0x036cbd53842c5426634e7929541ec2318f3dcf7e`],avalanche:[`0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e`],"avalanche-fuji":[`0x5425890298aed601595a70ab815c96711a31bc65`],polygon:[`0x3c499c542cef5e3811e1192ce70d8cc03d5c3359`],"polygon-amoy":[`0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582`],abstract:[`0x84a71ccd554cc1b02749b35d22f684cc8ec987e1`],"abstract-testnet":[`0xe4c7fbb0a626ed208021ccaba6be1566905e2dfc`],sei:[`0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392`],solana:[`EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`],"solana-devnet":[`4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU`]},wd=()=>{let{wallets:e}=Re();return(0,q.useMemo)((()=>({wrapFetchWithPayment:({walletAddress:t,fetch:r,maxValue:i=BigInt(1e5),allowedAssets:a,paymentRequirementsSelector:o,config:s,signatureOptions:c})=>{let l=t||e[0]?.address;if(!l)throw new u(`No wallet available for payment`);let d=e.find((e=>le(e.address,l)));if(!d)throw new u(`Wallet ${l} not found in connected wallets`);return async(e,t)=>{let l=await r(e,t);if(l.status!==402)return l;if(t?.__is402Retry)throw Error(`Payment already attempted for this request`);let{createPaymentHeader:f,selectPaymentRequirements:p}=await n(async()=>{let{createPaymentHeader:e,selectPaymentRequirements:t}=await import(`./client-CZG0ndth.js`);return{createPaymentHeader:e,selectPaymentRequirements:t}},__vite__mapDeps([235,1,24,25,26,27,28,29,30,31,32,33,34,35,36,37,22,236,237,38,52,227,181]),import.meta.url),{x402Version:m,accepts:h}=await l.json(),g=(o??p)(h,void 0,`exact`);if(a!==null){let e=g.asset,t=g.network;if(!function(e,t,n){let r=(n??Cd)[t];return!!r&&typeof e==`string`&&r.some((t=>t.toLowerCase()===e.toLowerCase()))}(e,t,a))throw new u(`Payment asset ${e} on ${t} is not in the allowed assets list`)}if(BigInt(g.maxAmountRequired)>i)throw new u(`Payment amount exceeds maximum allowed`);let _=await f(await er({wallet:d,signatureOptions:c}),m,g,s);return await r(e,{...t,headers:{...t?.headers||{},"X-PAYMENT":_,"Access-Control-Expose-Headers":`X-PAYMENT-RESPONSE`},__is402Retry:!0})}}})),[e])},Td=()=>{let{isModalOpen:e}=(0,q.useContext)(pe);return{isOpen:e}};function Ed(e){let{getAccessToken:t}=(0,q.useContext)(pe);return sn(`accessToken`,e),{getAccessToken:t}}function Dd(e){let{authenticated:t,user:n}=A(),{initLoginWithOAuth:r}=C(),i=an();return sn(`oAuthAuthorization`,e),{reauthorize:e=>Od(t,n,r,i,e.provider)}}var Od=async(e,t,n,r,i)=>{if(!e)throw r(`linkAccount`,`onError`,F.MUST_BE_AUTHENTICATED,{linkMethod:i}),new P(`User must be authenticated before linking an account.`);if(!t?.linkedAccounts.some((e=>e.type.includes(i))))throw new P(`OAuth account of type ${i} not linked to the account.`);await n(i)};function kd(e){let{client:t}=C(),[n,r]=(0,q.useState)({status:`initial`});return{linkWithCustomJwt:(0,q.useCallback)((async n=>{try{r({status:`initial`}),t.startAuthFlow(new $n(n)),r({status:`loading`});let{user:i}=await t.link();if(!i)throw Error(`Error, user not found`);let a=i.linkedAccounts.filter((e=>e.type===`custom_auth`)).sort(((e,t)=>t.latestVerifiedAt.getTime()-e.latestVerifiedAt.getTime())).at(0);return r({status:`done`}),e?.onSuccess?.({user:i,linkMethod:`custom`,linkedAccount:a}),{user:i}}catch(t){throw r({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR,{linkMethod:`custom`}),t}}),[t.startAuthFlow,t.link]),state:n}}var Ad=e=>{let t=uu((e=>e.jwtAuthFlowState));return sn(`customAuth`,e),{status:t}};function jd({isAuthenticated:e,isLoading:t,...n}){let r=(0,q.useRef)(void 0);(0,q.useEffect)((()=>{t||r.current?.()}),[e,t]);let i=(0,q.useCallback)((e=>(r.current=e,()=>{r.current=void 0})),[]);return lu({...n,subscribe:i})}var Md=()=>{let{user:e,getAccessToken:t}=A(),n=C(),{walletProxy:r}=n;return{getFarcasterSignerPublicKey:(0,q.useCallback)((async()=>{let i,a=await t(),o=e?.linkedAccounts.find((e=>e.type===`wallet`&&e.walletClientType===`privy`));if(!a)throw Error(`Must have valid access token to connect with Farcaster`);if(!r||!o)throw Error(`Must have an embedded wallet to use Farcaster signers`);if(D(o))throw new P(`Farcaster signers are only supported for on-device execution and this app uses TEE execution. Learn more at https://docs.privy.io/recipes/tee-wallet-migration-guide`);if(!e?.farcaster?.fid)throw Error(`Must have Farcaster account to use Farcaster signers`);if(!await n.recoverEmbeddedWallet({address:o.address}))throw Error(`Unable to connect to wallet`);if(!e.farcaster?.signerPublicKey)throw Error(`Must have a Farcaster signer public key to sign`);return i=e.farcaster.signerPublicKey.slice(2),Uint8Array.from(i.match(/.{1,2}/g).map((e=>parseInt(e,16))))}),[t,e,r,n])}},Nd=()=>{let{user:e,getAccessToken:t}=A(),n=C(),{client:r,setUser:i,walletProxy:a,openModal:o}=n,{setModalData:s}=Te();return{requestFarcasterSignerFromWarpcast:(0,q.useCallback)((async()=>{let c=await t(),l=e?.linkedAccounts.find((e=>e.type===`wallet`&&e.walletClientType===`privy`));if(!c)throw Error(`Must have valid access token to connect with Farcaster`);if(!a||!l)throw Error(`Must have an embedded wallet to use Farcaster signers`);if(D(l))throw new P(`Farcaster signers are only supported for on-device execution and this app uses TEE execution. Learn more at https://docs.privy.io/recipes/tee-wallet-migration-guide`);if(!e?.farcaster?.fid)throw Error(`Must have Farcaster account to use Farcaster signers`);if(!await n.recoverEmbeddedWallet({address:l.address}))throw Error(`Unable to connect to wallet`);let u=await a.initFarcasterSigner({address:l.address,hdWalletIndex:null,accessToken:c,mfaCode:null,mfaMethod:null,relyingParty:window.origin});u.status===`approved`&&i(await r.getAuthenticatedUser()||e||null),s({farcasterSigner:u}),o(`FarcasterSignerStatusScreen`)}),[t,e,a,n,r,i,s,o])}},Pd=()=>{let{user:e,getAccessToken:t}=A(),r=C(),{walletProxy:i}=r;return{signFarcasterMessage:(0,q.useCallback)((async a=>{let o=await t(),s=e?.linkedAccounts.find((e=>e.type===`wallet`&&e.walletClientType===`privy`));if(!o)throw Error(`Must have valid access token to connect with Farcaster`);if(!i||!s)throw Error(`Must have an embedded wallet to use Farcaster signers`);if(D(s))throw new P(`Farcaster signers are only supported for on-device execution and this app uses TEE execution. Learn more at https://docs.privy.io/recipes/tee-wallet-migration-guide`);if(!e?.farcaster?.fid)throw Error(`Must have Farcaster account to use Farcaster signers`);if(!await r.recoverEmbeddedWallet({address:s.address}))throw Error(`Unable to connect to wallet`);if(!e.farcaster?.signerPublicKey)throw Error(`Must have a Farcaster signer public key to sign`);let c=await n(()=>import(`./esm-Ci1ogKuK.js`),[],import.meta.url),l=await i.signFarcasterMessage({address:s.address,hdWalletIndex:null,accessToken:o,mfaCode:null,mfaMethod:null,payload:{hash:c.bufferToBase64URLString(new Uint8Array(a).buffer)},fid:BigInt(e.farcaster.fid),relyingParty:window.origin});return new Uint8Array(c.base64URLStringToBuffer(l.signature))}),[t,e,i,r])}},Fd=()=>{let{requestFarcasterSignerFromWarpcast:e}=Nd(),{getFarcasterSignerPublicKey:t}=Md(),{signFarcasterMessage:n}=Pd();return{getFarcasterSignerPublicKey:t,signFarcasterMessage:n,requestFarcasterSignerFromWarpcast:e}},Id=()=>{let{revokeDelegatedWallets:e,delegateWallet:t}=C();return{delegateWallet:async({address:e,chainType:n})=>await t({address:e,chainType:n,showDelegationUIs:!0}),revokeWallets:async()=>await e({showDelegationUIs:!0})}},Ld=()=>{let{user:e}=A(),t=C(),{signWithUserSigner:n}=dn(),r=async({wallet:r,additional_signers:i})=>{let a=await t.client.getAccessToken();if(!e||!a)throw new P(`User must be authenticated and have an embedded wallet to delegate actions.`);if(!r.id)throw new P(`Wallet to add signers to must have ID on server`);if(!t.walletProxy)throw new P(`Wallet proxy not initialized.`);await S(t.privy,{wallet_id:r.id},n,{additional_signers:i})};return{addSessionSignersInternal:async({address:n,signers:i})=>{let a=await t.client.getAccessToken();if(!e||!a)throw new P(`User must be authenticated and have an embedded wallet to add a session signer.`);let o=t.walletProxy??await t.initializeWalletProxy(15e3);if(!o)throw new P(`Wallet proxy not initialized.`);let s=fe(e,n);if(!s)throw new P(`Address to add signers too is not associated with current user.`);if(D(s)){if(i.length===0)throw new P(`Must specify at least one signer to add.`);let e=[...(await d(t.privy,{wallet_id:s.id})).additional_signers,...Lt(i)];await r({wallet:s,additional_signers:e})}else{if(s.delegated)return{user:e};if(i.length>0)throw new P(`Specifying signers in addSessionSigners is only supported for TEE execution and this app uses On-device execution. Pass an empty array for signers instead. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide`);let r=Nl({address:n,user:e}),c=Pl({address:n,user:e});await t.recoverEmbeddedWallet({address:n}),await o.createDelegatedAction({accessToken:a,rootWallet:c,delegatedWallets:[r]})}let c=await t.refreshSessionAndUser();if(!c)throw Error(`Could not refresh user`);return{user:c}},removeSessionSignersInternal:async({address:n})=>{let i=await t.client.getAccessToken();if(!e||!i)throw new P(`User must be authenticated and have an embedded wallet to delegate actions.`);if(!(t.walletProxy??await t.initializeWalletProxy(15e3)))throw new P(`Wallet proxy not initialized.`);let a=fe(e,n);if(!a)throw new P(`Address to remove signers from is not associated with current user.`);D(a)?await r({wallet:a,additional_signers:[]}):await t.client.revokeDelegatedWallet();let o=await t.refreshSessionAndUser();if(!o)throw Error(`Could not refresh user`);return{user:o}}}},Rd=()=>{let{addSessionSignersInternal:e,removeSessionSignersInternal:t}=Ld();return{addSessionSigners:async({address:t,signers:n})=>e({address:t,signers:n}),removeSessionSigners:async({address:e})=>t({address:e})}},zd=()=>{let{addSessionSignersInternal:e,removeSessionSignersInternal:t}=Ld();return{addSigners:async({address:t,signers:n})=>e({address:t,signers:n}),removeSigners:async({address:e})=>t({address:e})}},Bd=()=>{let{signWithUserSigner:e}=dn();return(0,q.useMemo)((()=>({async generateAuthorizationSignature(t){if(t instanceof Uint8Array){let{signature:n}=await g(e,t);return{signature:n}}let{targetAppId:n,...r}=t,{signature:i}=await g((async({message:t})=>e({message:t,targetAppId:n})),r);return{signature:i}}})),[e])},Vd=()=>{let{privy:e}=C(),{signWithUserSigner:t}=dn();return(0,q.useMemo)((()=>({transfer:(n,r)=>a(e,t,{wallet_id:n,...r})})),[e,t])},Hd=()=>{let{privy:e}=C();return(0,q.useMemo)((()=>({getAction:(t,n)=>x(e,{wallet_id:t,action_id:n}),listActions:(t,n)=>p(e,{wallet_id:t,...n})})),[e])},Ud=()=>{let{setUser:e,client:t}=(0,q.useContext)(Se),{user:n}=(0,q.useContext)(pe);return{user:n,refreshUser:(0,q.useCallback)((async()=>{let n=await t?.updateUserAndIdToken();return e(n??null),n}),[t,e])}};function Wd(){let{user:e}=A(),{client:t}=C(),n=T(),r=(0,q.useCallback)((async({address:r,recipientPublicKey:i})=>{if(!e)throw new P(`User must be authenticated before exporting their wallet`);let a=await t.getAccessToken();if(!a)throw new P(`Must have valid access token`);let o=fe(e,r);if(!o)throw new P(`User does not have a wallet with this address`);if(!D(o))throw new P(`Client export is only supported for unified stack wallets. On-device wallets are not supported.`);return function(e,t,n){let r=document.createElement(`iframe`);return r.style.display=`none`,r.src=e,document.body.appendChild(r),new Promise(((e,i)=>{let a=null,o=()=>{a!==null&&(clearTimeout(a),a=null),window.removeEventListener(`message`,s),r.parentNode&&r.parentNode.removeChild(r)},s=t=>{var r;t.origin===n&&typeof(r=t.data)==`object`&&r!==null&&`type`in r&&(r.type===`CLIENT_EXPORT_RESPONSE`||r.type===`CLIENT_EXPORT_ERROR`)&&(o(),t.data.type===`CLIENT_EXPORT_ERROR`?i(new P(t.data.error)):e({ciphertext:t.data.ciphertext,encapsulatedKey:t.data.encapsulatedKey,chainType:t.data.chainType}))};window.addEventListener(`message`,s),r.onload=()=>{r.contentWindow?.postMessage({type:`CLIENT_EXPORT_REQUEST`,recipientPublicKey:t},n)},a=setTimeout((()=>{o(),i(new P(`Wallet export timed out`))}),3e4)}))}(Ir({origin:t.apiUrl,path:`/apps/${n.id}/embedded-wallets/export`,query:{v:`1-unified`,wallet_id:o.id,client_id:n.appClientId,mode:`client-export`},hash:{token:a}}),i,t.apiUrl)}),[e,t,n.id,n.appClientId]);return(0,q.useMemo)((()=>({getWalletPrivateKey:r})),[r])}var Gd=e=>{let t=qc(),{initLoginWithTelegram:n,loginWithTelegram:r,telegramAuthState:i,setTelegramAuthState:a}=C();return{login:(0,q.useCallback)((async i=>{try{if(t.enabled&&t.status!==`success`)throw new Gc(t.error,null,F.CAPTCHA_FAILURE);await n(t.token,i?.disableSignup);let{user:a,isNewUser:o,loginAccount:s,wasAlreadyAuthenticated:c}=await r({intent:`login`});e?.onComplete?.({user:a,isNewUser:o,wasAlreadyAuthenticated:c,loginMethod:`telegram`,loginAccount:s})}catch(t){throw a({status:`error`,error:t}),e?.onError?.(t.privyErrorCode||F.UNKNOWN_AUTH_ERROR),t}}),[n,r,t]),state:i}},Kd=()=>{let{revokeDelegatedWallets:e,delegateWallet:t}=C();return{delegateWallet:async({address:e,chainType:n})=>await t({address:e,chainType:n,showDelegationUIs:!1}),revokeWallets:async()=>await e({showDelegationUIs:!1})}},qd=dl;export{El as $,Oo as $t,Dd as A,Pi as An,od as At,Td as B,Bu as Bt,Ru as C,ra as Cn,Zu as Ct,Au as D,Gi as Dn,Xu as Dt,Ad as E,zi as En,tl as Et,_d as F,Oi as Fn,lu as Ft,Wu as G,ns as Gt,Kd as H,Lc as Ht,wd as I,Ei as In,Nd as It,qu as J,qo as Jt,Jl as K,es as Kt,Bl as L,Ci as Ln,_l as Lt,bl as M,J as Mn,X as Mt,gd as N,Ai as Nn,md as Nt,kd as O,Ki as On,Zl as Ot,xl as P,ki as Pn,ld as Pt,Qu as Q,jo as Qt,zd as R,gi as Rn,fd as Rt,Rd as S,aa as Sn,Iu as St,Md as T,Li as Tn,td as Tt,Gl as U,Cs as Ut,ql as V,Gc as Vt,Wd as W,os as Wt,yd as X,Ho as Xt,Cl as Y,Ko as Yt,rl as Z,Mo as Zt,Lu as _,pa as _n,nd as _t,Vd as a,lo as an,pd as at,Xc as b,la as bn,cu as bt,xd as c,Qa as cn,su as ct,vd as d,Ra as dn,Bc as dt,So as en,Sd as et,jd as f,Ha as fn,wl as ft,Rl as g,fa as gn,$u as gt,qc as h,ga as hn,ud as ht,hu as i,Co as in,Yu as it,Ju as j,Mi as jn,ou as jt,Ed as k,Ii as kn,dl as kt,Pd as l,Ka as ln,ed as lt,Hu as m,ya as mn,rd as mt,Uu as n,ho as nn,iu as nt,Vu as o,oo as on,dd as ot,Hd as p,wa as pn,bd as pt,qd as q,ts as qt,hd as r,_o as rn,ad as rt,Tl as s,ao as sn,sd as st,Ud as t,go as tn,id as tt,Sl as u,Ya as un,Fd as ut,Gd as v,da as vn,nu as vt,Uc as w,q as wn,Ql as wt,zl as x,ua as xn,Id as xt,Gu as y,oa as yn,cd as yt,zu as z,Bd as zt};
|