@privy-io/react-auth 1.98.3 → 1.98.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abstract-smart-wallets.js +1 -1
- package/dist/cjs/actions/importWallet.js +1 -1
- package/dist/cjs/client/user.js +1 -1
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/components/ConnectPhoneForm.js +1 -1
- package/dist/cjs/components/LoginModal.js +1 -1
- package/dist/cjs/components/PhoneCountryDropdown.js +1 -1
- package/dist/cjs/components/embedded-wallets/PriceDisplay.js +1 -1
- package/dist/cjs/components/embedded-wallets/SolanaTransactionDetails.js +1 -1
- package/dist/cjs/components/embedded-wallets/TransactionDetails.js +1 -1
- package/dist/cjs/components/embedded-wallets/TransactionDetailsWrapper.js +1 -1
- package/dist/cjs/components/embedded-wallets/TransactionTotal.js +1 -1
- package/dist/cjs/components/embedded-wallets/WalletLink.js +1 -1
- package/dist/cjs/components/embedded-wallets/index.js +1 -1
- package/dist/cjs/connectors/coinbase.js +1 -1
- package/dist/cjs/connectors/embedded.js +1 -1
- package/dist/cjs/connectors/embeddedProvider.js +1 -1
- package/dist/cjs/connectors/errors.js +1 -1
- package/dist/cjs/connectors/ethereum/EthereumNullConnector.js +1 -1
- package/dist/cjs/connectors/ethereum/index.js +1 -1
- package/dist/cjs/connectors/index.js +1 -1
- package/dist/cjs/connectors/injected.js +1 -1
- package/dist/cjs/connectors/metamask.js +1 -1
- package/dist/cjs/connectors/phantom-solana.js +1 -1
- package/dist/cjs/connectors/phantom.js +1 -1
- package/dist/cjs/connectors/privyProxyProvider.js +1 -1
- package/dist/cjs/connectors/solana/SolanaNullConnector.js +1 -1
- package/dist/cjs/connectors/solana/index.js +1 -1
- package/dist/cjs/connectors/solana/toSolanaWalletConnectors.js +1 -1
- package/dist/cjs/connectors/walletconnect-v2.js +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/embedded-wallets/EmbeddedWalletIframe.js +1 -1
- package/dist/cjs/embedded-wallets/eventCallbacksQueue.js +1 -1
- package/dist/cjs/embedded-wallets/rpc/index.js +1 -1
- package/dist/cjs/embedded-wallets/solana/provider.js +1 -1
- package/dist/cjs/hooks/privy-provider.js +1 -1
- package/dist/cjs/hooks/smart-wallets-provider.js +1 -1
- package/dist/cjs/hooks/useFormattedBalances.js +1 -1
- package/dist/cjs/hooks/useFundSolanaWallet.js +1 -1
- package/dist/cjs/hooks/useImportSolanaWallet.js +1 -0
- package/dist/cjs/hooks/useImportWallet.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/lib/abstract-smart-wallets.js +1 -1
- package/dist/cjs/lib/ethers.js +1 -1
- package/dist/cjs/lib/funding/coinbase/triggerCoinbaseFlow.js +1 -1
- package/dist/cjs/lib/funding/prepareFundingMethods.js +1 -1
- package/dist/cjs/lib/smart-wallets-shared.js +1 -1
- package/dist/cjs/lib/smart-wallets.js +1 -1
- package/dist/cjs/plugins/solana-funding/plugin.js +1 -1
- package/dist/cjs/plugins/solana-funding/useSolanaFundingPlugin.js +1 -1
- package/dist/cjs/privy-components/user-pill/PrimaryWallet.js +1 -1
- package/dist/cjs/privy-components/user-pill/UserMenu.js +1 -1
- package/dist/cjs/privy-components/user-pill/UserPill.js +2 -2
- package/dist/cjs/privy-components/user-pill/UserPill.test.js +1 -1
- package/dist/cjs/privy-components/user-pill/screens/AccountScreen.js +1 -1
- package/dist/cjs/privy-components/user-pill/screens/MenuScreen.js +1 -1
- package/dist/cjs/privy-components/user-pill/screens/WalletActionsScreen.js +1 -1
- package/dist/cjs/privy-components/wallets-pill/ActiveWalletCard.js +1 -1
- package/dist/cjs/privy-components/wallets-pill/ConnectWalletView.js +1 -1
- package/dist/cjs/privy-components/wallets-pill/SelectActiveWalletView.js +1 -1
- package/dist/cjs/privy-components/wallets-pill/WalletCardView.js +1 -1
- package/dist/cjs/privy-components/wallets-pill/WalletsDialog.js +1 -1
- package/dist/cjs/privy-provider-zFh8lpI0.js +2 -0
- package/dist/cjs/screens/ConnectOnlyStatusScreen.js +1 -1
- package/dist/cjs/screens/ConnectionStatusScreen.js +2 -2
- package/dist/cjs/screens/Funding/AwaitingEvmToSolBridgingScreen.js +1 -1
- package/dist/cjs/screens/Funding/AwaitingExternalTransferScreen.js +2 -2
- package/dist/cjs/screens/Funding/BridgeNetworkSelectionView.js +1 -1
- package/dist/cjs/screens/Funding/FundingEditAmountScreen.js +1 -1
- package/dist/cjs/screens/Funding/FundingMethodSelectionScreen.js +1 -1
- package/dist/cjs/screens/Funding/ManualTransferScreen.js +1 -1
- package/dist/cjs/screens/LandingScreen/ConnectOrCreateScreen.js +1 -1
- package/dist/cjs/screens/LandingScreen/CustomLandingScreenView.js +1 -1
- package/dist/cjs/screens/LandingScreen/LandingScreen.js +1 -1
- package/dist/cjs/screens/LandingScreen/LandingScreenView.js +1 -1
- package/dist/cjs/screens/LandingScreen/SmsButton.js +1 -1
- package/dist/cjs/screens/LinkPhoneScreen.js +1 -1
- package/dist/cjs/screens/MfaScreens/EnrollSms.js +1 -1
- package/dist/cjs/screens/MfaScreens/MfaEnrollmentFlowScreen.js +1 -1
- package/dist/cjs/screens/MfaScreens/MfaVerifyFlowScreen.js +1 -1
- package/dist/cjs/screens/MfaScreens/VerifyWithPasskey.js +1 -1
- package/dist/cjs/screens/SendSolanaTransactionScreen/SendSolanaTransactionScreen.js +1 -1
- package/dist/cjs/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.js +1 -1
- package/dist/cjs/screens/SendTransactionScreen/SendTransactionScreen.js +1 -1
- package/dist/cjs/screens/SendTransactionScreen/TransactionReceiptView.js +1 -1
- package/dist/cjs/screens/SendTransactionScreen/index.js +1 -1
- package/dist/cjs/screens/SendTransactionScreen/usePrepareTransaction.js +1 -1
- package/dist/cjs/screens/SignRequestScreen.js +1 -1
- package/dist/cjs/screens/UpdatePhoneScreen.js +1 -1
- package/dist/cjs/smart-wallets.js +1 -1
- package/dist/cjs/solana.js +1 -1
- package/dist/cjs/ui.js +1 -1
- package/dist/dts/index.d.mts +10 -10
- package/dist/dts/index.d.ts +10 -10
- package/dist/dts/solana.d.mts +24 -1
- package/dist/dts/solana.d.ts +24 -1
- package/dist/esm/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/actions/importWallet.mjs +1 -1
- package/dist/esm/client/user.mjs +1 -1
- package/dist/esm/client.mjs +1 -1
- package/dist/esm/components/ConnectPhoneForm.mjs +1 -1
- package/dist/esm/components/LoginModal.mjs +1 -1
- package/dist/esm/components/PhoneCountryDropdown.mjs +1 -1
- package/dist/esm/components/embedded-wallets/PriceDisplay.mjs +3 -3
- package/dist/esm/components/embedded-wallets/SolanaTransactionDetails.mjs +1 -1
- package/dist/esm/components/embedded-wallets/TransactionDetails.mjs +2 -2
- package/dist/esm/components/embedded-wallets/TransactionDetailsWrapper.mjs +1 -1
- package/dist/esm/components/embedded-wallets/TransactionTotal.mjs +1 -1
- package/dist/esm/components/embedded-wallets/WalletLink.mjs +1 -1
- package/dist/esm/components/embedded-wallets/index.mjs +1 -1
- package/dist/esm/connectors/coinbase.mjs +1 -1
- package/dist/esm/connectors/embedded.mjs +1 -1
- package/dist/esm/connectors/embeddedProvider.mjs +1 -1
- package/dist/esm/connectors/errors.mjs +1 -1
- package/dist/esm/connectors/ethereum/EthereumNullConnector.mjs +1 -1
- package/dist/esm/connectors/ethereum/index.mjs +1 -1
- package/dist/esm/connectors/index.mjs +1 -1
- package/dist/esm/connectors/injected.mjs +1 -1
- package/dist/esm/connectors/metamask.mjs +1 -1
- package/dist/esm/connectors/phantom-solana.mjs +1 -1
- package/dist/esm/connectors/phantom.mjs +1 -1
- package/dist/esm/connectors/privyProxyProvider.mjs +1 -1
- package/dist/esm/connectors/solana/SolanaNullConnector.mjs +1 -1
- package/dist/esm/connectors/solana/index.mjs +1 -1
- package/dist/esm/connectors/solana/toSolanaWalletConnectors.mjs +1 -1
- package/dist/esm/connectors/walletconnect-v2.mjs +1 -1
- package/dist/esm/constants.mjs +1 -1
- package/dist/esm/embedded-wallets/EmbeddedWalletIframe.mjs +1 -1
- package/dist/esm/embedded-wallets/eventCallbacksQueue.mjs +1 -1
- package/dist/esm/embedded-wallets/rpc/index.mjs +1 -1
- package/dist/esm/embedded-wallets/solana/provider.mjs +1 -1
- package/dist/esm/hooks/privy-provider.mjs +1 -1
- package/dist/esm/hooks/smart-wallets-provider.mjs +1 -1
- package/dist/esm/hooks/useFormattedBalances.mjs +1 -1
- package/dist/esm/hooks/useFundSolanaWallet.mjs +1 -1
- package/dist/esm/hooks/useImportSolanaWallet.mjs +1 -0
- package/dist/esm/hooks/useImportWallet.mjs +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/lib/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/lib/ethers.mjs +1 -1
- package/dist/esm/lib/funding/coinbase/triggerCoinbaseFlow.mjs +1 -1
- package/dist/esm/lib/funding/prepareFundingMethods.mjs +1 -1
- package/dist/esm/lib/smart-wallets-shared.mjs +1 -1
- package/dist/esm/lib/smart-wallets.mjs +1 -1
- package/dist/esm/plugins/solana-funding/plugin.mjs +1 -1
- package/dist/esm/plugins/solana-funding/useSolanaFundingPlugin.mjs +1 -1
- package/dist/esm/privy-components/user-pill/PrimaryWallet.mjs +1 -1
- package/dist/esm/privy-components/user-pill/UserMenu.mjs +1 -1
- package/dist/esm/privy-components/user-pill/UserPill.mjs +2 -2
- package/dist/esm/privy-components/user-pill/UserPill.test.mjs +1 -1
- package/dist/esm/privy-components/user-pill/screens/AccountScreen.mjs +1 -1
- package/dist/esm/privy-components/user-pill/screens/MenuScreen.mjs +1 -1
- package/dist/esm/privy-components/user-pill/screens/WalletActionsScreen.mjs +1 -1
- package/dist/esm/privy-components/wallets-pill/ActiveWalletCard.mjs +1 -1
- package/dist/esm/privy-components/wallets-pill/ConnectWalletView.mjs +1 -1
- package/dist/esm/privy-components/wallets-pill/SelectActiveWalletView.mjs +1 -1
- package/dist/esm/privy-components/wallets-pill/WalletCardView.mjs +1 -1
- package/dist/esm/privy-components/wallets-pill/WalletsDialog.mjs +1 -1
- package/dist/esm/privy-provider-BnF-KW5M.mjs +2 -0
- package/dist/esm/screens/ConnectOnlyStatusScreen.mjs +1 -1
- package/dist/esm/screens/ConnectionStatusScreen.mjs +1 -1
- package/dist/esm/screens/Funding/AwaitingEvmToSolBridgingScreen.mjs +1 -1
- package/dist/esm/screens/Funding/AwaitingExternalTransferScreen.mjs +1 -1
- package/dist/esm/screens/Funding/BridgeNetworkSelectionView.mjs +1 -1
- package/dist/esm/screens/Funding/FundingEditAmountScreen.mjs +1 -1
- package/dist/esm/screens/Funding/FundingMethodSelectionScreen.mjs +1 -1
- package/dist/esm/screens/Funding/ManualTransferScreen.mjs +1 -1
- package/dist/esm/screens/LandingScreen/ConnectOrCreateScreen.mjs +1 -1
- package/dist/esm/screens/LandingScreen/CustomLandingScreenView.mjs +1 -1
- package/dist/esm/screens/LandingScreen/LandingScreen.mjs +1 -1
- package/dist/esm/screens/LandingScreen/LandingScreenView.mjs +1 -1
- package/dist/esm/screens/LandingScreen/SmsButton.mjs +1 -1
- package/dist/esm/screens/LinkPhoneScreen.mjs +1 -1
- package/dist/esm/screens/MfaScreens/EnrollSms.mjs +1 -1
- package/dist/esm/screens/MfaScreens/MfaEnrollmentFlowScreen.mjs +1 -1
- package/dist/esm/screens/MfaScreens/MfaVerifyFlowScreen.mjs +1 -1
- package/dist/esm/screens/MfaScreens/VerifyWithPasskey.mjs +1 -1
- package/dist/esm/screens/SendSolanaTransactionScreen/SendSolanaTransactionScreen.mjs +1 -1
- package/dist/esm/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.mjs +1 -1
- package/dist/esm/screens/SendTransactionScreen/SendTransactionScreen.mjs +1 -1
- package/dist/esm/screens/SendTransactionScreen/TransactionReceiptView.mjs +1 -1
- package/dist/esm/screens/SendTransactionScreen/index.mjs +1 -1
- package/dist/esm/screens/SendTransactionScreen/usePrepareTransaction.mjs +1 -1
- package/dist/esm/screens/SignRequestScreen.mjs +1 -1
- package/dist/esm/screens/UpdatePhoneScreen.mjs +1 -1
- package/dist/esm/smart-wallets.mjs +1 -1
- package/dist/esm/solana.mjs +1 -1
- package/dist/esm/ui.mjs +1 -1
- package/package.json +3 -2
- package/dist/cjs/PhoneCountryDropdown-JNQITU4K.js +0 -1
- package/dist/cjs/errors-3fxlG6WB.js +0 -1
- package/dist/cjs/ethers-De6TACnn.js +0 -1
- package/dist/cjs/formatters-DnPKmSM4.js +0 -1
- package/dist/cjs/index-DNFBYH7-.js +0 -1
- package/dist/cjs/privy-provider-D0xgmci9.js +0 -2
- package/dist/esm/PhoneCountryDropdown-BXDwBRL5.mjs +0 -1
- package/dist/esm/errors-9ucGZPEs.mjs +0 -1
- package/dist/esm/ethers-Cz-frLvN.mjs +0 -1
- package/dist/esm/formatters--YjgN2Dw.mjs +0 -1
- package/dist/esm/index-B3QfI7v9.mjs +0 -1
- package/dist/esm/privy-provider-BUtSVRxn.mjs +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useEffect as r}from"react";import{isMobile as i}from"react-device-detect";import{styled as c}from"styled-components";import{SiweFlow as s}from"../auth-flows/siwe.mjs";import{SiwsFlow as a}from"../auth-flows/siws.mjs";import{shouldProceedtoEmbeddedWalletCreationFlow as l}from"../client/user.mjs";import{PrimaryButton as m}from"../components/Button.mjs";import{FixedGappedContainer as p}from"../components/Layouts.mjs";import{ConnectionLoader as d}from"../components/Loader.mjs";import{ModalFooter as h}from"../components/ModalFooter.mjs";import{ModalHeader as u}from"../components/ModalHeader.mjs";import{ConnectorErrors as j,PrivyProviderRpcError as f,WalletTimeoutError as g,UserRejectedConnectionError as w}from"../connectors/errors.mjs";import{isCoinbaseWalletInstalled as E}from"../connectors/is-wallet-installed.mjs";import{userAlreadyHasConnectedCoinbaseWallet as y}from"../connectors/userAlreadyHasConnectedCoinbaseWallet.mjs";import{WalletConnectV2WalletConnector as C}from"../connectors/walletconnect-v2.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as _}from"../constants.mjs";import{PrivyErrorCode as v,PrivyUserLimitReachedError as b}from"../errors.mjs";import T from"../hook-utils/useInterval.mjs";import{useCaptcha as R}from"../hooks/captcha-context.mjs";import{usePrivyInternal as S}from"../hooks/internal-context.mjs";import{usePrivyModal as N}from"../hooks/modal-context.mjs";import{usePrivyContext as k}from"../hooks/privy-context.mjs";import{WALLET_UI_MAP as A}from"../lib/external-wallets/displayHelpers.mjs";import{useHasTabbedAway as O}from"../lib/useHasTabbedAway.mjs";import{BrowserExtensionWallet as x}from"../svg/browser-extension-wallet-icon.mjs";import{sleep as I}from"../utils/index.mjs";import{ModalScreen as L}from"./index.mjs";import"../effect.mjs";import"../lib/siwe.mjs";import"../lib/siws.mjs";import"@ethersproject/address";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"@ethersproject/logger";import"../errors-9ucGZPEs.mjs";import"../connectors/get-legacy-injected-providers.mjs";import"viem";import"@walletconnect/ethereum-provider";import"../svg/metamask.mjs";import"../svg/wallet-connect.mjs";import"../connectors/ethereum/index.mjs";import"@ethersproject/providers";import"../storage.mjs";import"../connectors/areWalletArraysEqual.mjs";import"../connectors/isBaseConnectedEthereumWallet.mjs";import"../connectors/base.mjs";import"eventemitter3";import"../connectors/getRpcTimeout.mjs";import"../connectors/privyProxyProvider.mjs";import"../connectors/walletconnect-registry.mjs";import"ofetch";import"../hooks/index.mjs";import"../components/PrefetchedImage.mjs";import"../svg/brave-browser-icon.mjs";import"../svg/bybit.mjs";import"../svg/coinbase-wallet.mjs";import"../svg/cryptocom.mjs";import"../svg/phantom.mjs";import"../svg/rabby.mjs";import"../svg/rainbow.mjs";import"../svg/safe.mjs";import"../svg/uniswap.mjs";import"../svg/universal-profile.mjs";import"../svg/zerion.mjs";const U=e=>e?.privyErrorCode===v.LINKED_TO_ANOTHER_USER?j.ERROR_USER_EXISTS:e instanceof f&&!e.details.default?e.details:e instanceof g?j.ERROR_TIMED_OUT:e instanceof w?j.ERROR_USER_REJECTED_CONNECTION:e?.privyErrorCode===v.CANNOT_LINK_MORE_OF_TYPE?j.ERROR_USER_LIMIT_REACHED:j.ERROR_WALLET_CONNECTION,W=()=>{let c,[d,f]=n(!1),[g,w]=n(!1),[W,D]=n(void 0),{authenticated:H,logout:B}=k(),{app:P,navigate:z,navigateBack:X,lastScreen:q,currentScreen:J,setModalData:K,data:$}=N(),{getAuthFlow:Q,walletConnectionStatus:Y,closePrivyModal:G,initLoginWithWallet:V,loginWithWallet:Z,updateWallets:ee,createAnalyticsEvent:oe}=S(),{walletConnectors:te}=k(),[ne,re]=n(0),{user:ie}=k(),[ce]=n(ie?.linkedAccounts.length||0),[se,ae]=n(""),[le,me]=n(""),[pe,de]=n(!1),{hasTabbedAway:he}=O(),{enabled:ue,token:je}=R(),fe=i&&"wallet_connect_v2"===Y?.connector?.connectorType||i&&"coinbase_wallet"===Y?.connector?.connectorType||i&&"injected"===Y?.connector?.connectorType&&"phantom"===Y?.connector?.walletClientType,ge="connected"===Y?.status,we="switching_to_supported_chain"===Y?.status;r((()=>{let e=Q(),o=e instanceof s||e instanceof a?e:void 0;ge&&!o&&(!ue||je||H?V(Y.connectedWallet,je,$?.login?.disableSignup).then((()=>{de(!0)})):(K({captchaModalData:{callback:e=>V(Y.connectedWallet,e,$?.login?.disableSignup).then((()=>{de(!0)})),userIntentRequired:!1,onSuccessNavigateTo:L.AWAITING_CONNECTION,onErrorNavigateTo:L.ERROR_SCREEN}}),z(L.CAPTCHA_SCREEN,!1))),o&&fe&&ge&&!o.preparedMessage?o.buildMessage():o&&!fe&&ge&&(g||(async()=>{w(!0),D(void 0);try{"wallet_connect_v2"===Y?.connector?.connectorType&&"metamask"===Y?.connector?.walletClientType&&await I(2500),await ye()}catch(e){console.warn("Auto-prompted signature failed",e)}finally{w(!1)}})())}),[ne,ge,pe]),r((()=>{if(ie&&d){let e=_-500;if(P?.legal.requireUsersAcceptTerms&&!ie.hasAcceptedTerms){let o=setTimeout((()=>{z(L.AFFIRMATIVE_CONSENT_SCREEN)}),e);return()=>clearTimeout(o)}if(l(ie,P?.embeddedWallets?.createOnLogin)){let o=setTimeout((()=>{K({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),oe({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"ConnectionStatusScreen"}}),B()},callAuthOnSuccessOnClose:!0}}),z(L.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),e);return()=>clearTimeout(o)}ee();let o=setTimeout((()=>G({shouldCallAuthOnSuccess:!0,isSuccess:!0})),_);return()=>clearTimeout(o)}}),[ie,d]);let Ee=e=>{if(e?.privyErrorCode!==v.ALLOWLIST_REJECTED){if(e?.privyErrorCode===v.USER_LIMIT_REACHED)return console.error(new b(e).toString()),void z(L.USER_LIMIT_REACHED_SCREEN);if(e?.privyErrorCode!==v.USER_DOES_NOT_EXIST)return e?.privyErrorCode===v.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce?(K({accountTransfer:{nonce:e.data?.data?.nonce,account:Q()?.meta.address,displayName:e.data?.data?.account?.displayName,externalWalletMetadata:{walletClientType:Q()?.meta.walletClientType,chainId:Q()?.meta.chainId,connectorType:Q()?.meta.connectorType},linkMethod:"siwe",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void z(L.LINK_CONFLICT_SCREEN)):void D(U(e));z(L.ACCOUNT_NOT_FOUND_SCREEN)}else z(L.ALLOWLIST_REJECTION_SCREEN)};async function ye(){try{await Z(),f(!0)}catch(e){Ee(e)}finally{w(!1)}}r((()=>{Y?.connectError&&Ee(Y?.connectError)}),[Y]),T((()=>{let e="wallet_connect_v2"===Ce&&Y?.connector instanceof C?Y.connector.redirectUri:void 0;e&&ae(e);let o="wallet_connect_v2"===Ce&&Y?.connector instanceof C?Y.connector.fallbackUniversalRedirectUri:void 0;o&&me(o)}),Y?.connector instanceof C&&!se?500:null);let Ce=Y?.connector?.connectorType||"injected",_e=Y?.connector?.walletClientType||"unknown",ve=A[_e]?.displayName||Y?.connector?.walletBranding.name||"Browser Extension",be=A[_e]?.logo||Y?.connector?.walletBranding.icon||(o=>/*#__PURE__*/e(x,{...o})),Te="Browser Extension"===ve?ve.toLowerCase():ve;c=d?`Successfully connected with ${Te}`:W?W.message:we?"Switching networks":ge?g&&fe?"Signing":"Sign to verify":`Waiting for ${Te}`;let Re="Don’t see your wallet? Check your other browser windows.";d?Re=ce===(ie?.linkedAccounts.length||0)?"Wallet was already linked.":"You’re good to go!":ne>=2&&W?Re="Unable to connect wallet":W?Re=W.detail:we?Re="Switch your wallet to the requested network.":ge&&fe?Re="Sign the message in your wallet to verify it belongs to you.":"metamask"===_e&&i?Re="Click continue to open and connect MetaMask.":"metamask"===_e?Re="For the best experience, connect only one wallet at a time.":"wallet_connect"===Ce?Re="Open your mobile wallet app to continue":"coinbase_wallet"!==Ce||E()||(Re=y(ie)?"Continue with the Coinbase app. Not the right wallet? Reset your connection below.":"Open the Coinbase app on your phone to continue.");let Se=te?.walletConnectors?.find((e=>"coinbase_wallet"===e.walletClientType)),Ne="coinbase_wallet"===_e&&(y(ie)||W===j.ERROR_USER_EXISTS);/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(u,{backFn:q&&J!==q?X:void 0}),/*#__PURE__*/o(M,{children:[/*#__PURE__*/e(F,{walletLogo:be,success:d,fail:!!W}),/*#__PURE__*/o(p,{children:[/*#__PURE__*/e("h3",{children:c}),/*#__PURE__*/e("p",{children:Re}),ge||!se||he?null:/*#__PURE__*/o("p",{children:["Still here?"," ",/*#__PURE__*/e("a",{href:se,target:"_blank",style:{textDecoration:"underline"},children:"Try connecting again"}),le&&/*#__PURE__*/o(t,{children:[" ","or"," ",/*#__PURE__*/e("a",{href:le,target:"_blank",style:{textDecoration:"underline"},children:"use this different link"})]})]})]}),Ne?/*#__PURE__*/e(m,{onClick:()=>Se&&Se?.disconnect(),disabled:d,children:"Use a different wallet"}):W==j.ERROR_USER_EXISTS&&J!==q?/*#__PURE__*/e(m,{onClick:X,children:"Use a different wallet"}):ge&&!d&&fe?/*#__PURE__*/e(m,{onClick:()=>{w(!0),ye()},disabled:g,children:g?"Signing":"Sign with your wallet"}):!d&&W?.retryable&&ne<2?/*#__PURE__*/e(m,{onClick:()=>{re(ne+1),D(void 0),ge?(w(!0),ye()):Y?.connectRetry()},disabled:!d&&(!W?.retryable||ne>=2),children:"Retry"}):d||W?null:/*#__PURE__*/e(m,{onClick:()=>{},disabled:!0,children:"Connecting"})]}),/*#__PURE__*/e(h,{})]})};let M=/*#__PURE__*/c.div.withConfig({displayName:"ConnectContainer",componentId:"sc-afad057-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%;"]),D=/*#__PURE__*/c.div.withConfig({displayName:"StackedContainer",componentId:"sc-afad057-1"})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:82px;> div{position:relative;}> div > span{position:absolute;left:-41px;top:-41px;}> div > :last-child{position:absolute;left:-19px;top:-19px;}"]);const F=n=>{let r=n.walletLogo;/*#__PURE__*/return e(t,{children:/*#__PURE__*/e(D,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/e(d,{success:n.success,fail:n.fail}),"string"==typeof r?
|
|
1
|
+
import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useEffect as r}from"react";import{isMobile as i}from"react-device-detect";import{styled as c}from"styled-components";import{SiweFlow as s}from"../auth-flows/siwe.mjs";import{SiwsFlow as a}from"../auth-flows/siws.mjs";import{shouldProceedtoEmbeddedWalletCreationFlow as l}from"../client/user.mjs";import{PrimaryButton as m}from"../components/Button.mjs";import{FixedGappedContainer as p}from"../components/Layouts.mjs";import{ConnectionLoader as d}from"../components/Loader.mjs";import{ModalFooter as h}from"../components/ModalFooter.mjs";import{ModalHeader as u}from"../components/ModalHeader.mjs";import{ConnectorErrors as j,PrivyProviderRpcError as f,WalletTimeoutError as g,UserRejectedConnectionError as w}from"../connectors/errors.mjs";import{isCoinbaseWalletInstalled as y}from"../connectors/is-wallet-installed.mjs";import{userAlreadyHasConnectedCoinbaseWallet as E}from"../connectors/userAlreadyHasConnectedCoinbaseWallet.mjs";import{WalletConnectV2WalletConnector as C}from"../connectors/walletconnect-v2.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as _}from"../constants.mjs";import{PrivyErrorCode as v,PrivyUserLimitReachedError as b}from"../errors.mjs";import T from"../hook-utils/useInterval.mjs";import{useCaptcha as R}from"../hooks/captcha-context.mjs";import{usePrivyInternal as S}from"../hooks/internal-context.mjs";import{usePrivyModal as N}from"../hooks/modal-context.mjs";import{usePrivyContext as k}from"../hooks/privy-context.mjs";import{WALLET_UI_MAP as A}from"../lib/external-wallets/displayHelpers.mjs";import{useHasTabbedAway as O}from"../lib/useHasTabbedAway.mjs";import{BrowserExtensionWallet as x}from"../svg/browser-extension-wallet-icon.mjs";import{sleep as I}from"../utils/index.mjs";import{ModalScreen as L}from"./index.mjs";import"../effect.mjs";import"../lib/siwe.mjs";import"../lib/siws.mjs";import"@ethersproject/address";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"@ethersproject/logger";import"@privy-io/js-sdk-core";import"../connectors/get-legacy-injected-providers.mjs";import"viem";import"@walletconnect/ethereum-provider";import"../svg/metamask.mjs";import"../svg/wallet-connect.mjs";import"../connectors/ethereum/index.mjs";import"@ethersproject/providers";import"../storage.mjs";import"../connectors/areWalletArraysEqual.mjs";import"../connectors/isBaseConnectedEthereumWallet.mjs";import"../connectors/base.mjs";import"eventemitter3";import"../connectors/getRpcTimeout.mjs";import"../connectors/privyProxyProvider.mjs";import"../connectors/walletconnect-registry.mjs";import"ofetch";import"../hooks/index.mjs";import"../components/PrefetchedImage.mjs";import"../svg/brave-browser-icon.mjs";import"../svg/bybit.mjs";import"../svg/coinbase-wallet.mjs";import"../svg/cryptocom.mjs";import"../svg/phantom.mjs";import"../svg/rabby.mjs";import"../svg/rainbow.mjs";import"../svg/safe.mjs";import"../svg/uniswap.mjs";import"../svg/universal-profile.mjs";import"../svg/zerion.mjs";const U=e=>e?.privyErrorCode===v.LINKED_TO_ANOTHER_USER?j.ERROR_USER_EXISTS:e instanceof f&&!e.details.default?e.details:e instanceof g?j.ERROR_TIMED_OUT:e instanceof w?j.ERROR_USER_REJECTED_CONNECTION:e?.privyErrorCode===v.CANNOT_LINK_MORE_OF_TYPE?j.ERROR_USER_LIMIT_REACHED:j.ERROR_WALLET_CONNECTION,W=()=>{let c,[d,f]=n(!1),[g,w]=n(!1),[W,D]=n(void 0),{authenticated:H,logout:B}=k(),{app:P,navigate:z,navigateBack:X,lastScreen:q,currentScreen:J,setModalData:K,data:$}=N(),{getAuthFlow:Q,walletConnectionStatus:Y,closePrivyModal:G,initLoginWithWallet:V,loginWithWallet:Z,updateWallets:ee,createAnalyticsEvent:oe}=S(),{walletConnectors:te}=k(),[ne,re]=n(0),{user:ie}=k(),[ce]=n(ie?.linkedAccounts.length||0),[se,ae]=n(""),[le,me]=n(""),[pe,de]=n(!1),{hasTabbedAway:he}=O(),{enabled:ue,token:je}=R(),fe=i&&"wallet_connect_v2"===Y?.connector?.connectorType||i&&"coinbase_wallet"===Y?.connector?.connectorType||i&&"injected"===Y?.connector?.connectorType&&"phantom"===Y?.connector?.walletClientType,ge="connected"===Y?.status,we="switching_to_supported_chain"===Y?.status;r((()=>{let e=Q(),o=e instanceof s||e instanceof a?e:void 0;ge&&!o&&(!ue||je||H?V(Y.connectedWallet,je,$?.login?.disableSignup).then((()=>{de(!0)})):(K({captchaModalData:{callback:e=>V(Y.connectedWallet,e,$?.login?.disableSignup).then((()=>{de(!0)})),userIntentRequired:!1,onSuccessNavigateTo:L.AWAITING_CONNECTION,onErrorNavigateTo:L.ERROR_SCREEN}}),z(L.CAPTCHA_SCREEN,!1))),o&&fe&&ge&&!o.preparedMessage?o.buildMessage():o&&!fe&&ge&&(g||(async()=>{w(!0),D(void 0);try{"wallet_connect_v2"===Y?.connector?.connectorType&&"metamask"===Y?.connector?.walletClientType&&await I(2500),await Ee()}catch(e){console.warn("Auto-prompted signature failed",e)}finally{w(!1)}})())}),[ne,ge,pe]),r((()=>{if(ie&&d){let e=_-500;if(P?.legal.requireUsersAcceptTerms&&!ie.hasAcceptedTerms){let o=setTimeout((()=>{z(L.AFFIRMATIVE_CONSENT_SCREEN)}),e);return()=>clearTimeout(o)}if(l(ie,P?.embeddedWallets?.createOnLogin)){let o=setTimeout((()=>{K({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),oe({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"ConnectionStatusScreen"}}),B()},callAuthOnSuccessOnClose:!0}}),z(L.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),e);return()=>clearTimeout(o)}ee();let o=setTimeout((()=>G({shouldCallAuthOnSuccess:!0,isSuccess:!0})),_);return()=>clearTimeout(o)}}),[ie,d]);let ye=e=>{if(e?.privyErrorCode!==v.ALLOWLIST_REJECTED){if(e?.privyErrorCode===v.USER_LIMIT_REACHED)return console.error(new b(e).toString()),void z(L.USER_LIMIT_REACHED_SCREEN);if(e?.privyErrorCode!==v.USER_DOES_NOT_EXIST)return e?.privyErrorCode===v.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce?(K({accountTransfer:{nonce:e.data?.data?.nonce,account:Q()?.meta.address,displayName:e.data?.data?.account?.displayName,externalWalletMetadata:{walletClientType:Q()?.meta.walletClientType,chainId:Q()?.meta.chainId,connectorType:Q()?.meta.connectorType},linkMethod:"siwe",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void z(L.LINK_CONFLICT_SCREEN)):void D(U(e));z(L.ACCOUNT_NOT_FOUND_SCREEN)}else z(L.ALLOWLIST_REJECTION_SCREEN)};async function Ee(){try{await Z(),f(!0)}catch(e){ye(e)}finally{w(!1)}}r((()=>{Y?.connectError&&ye(Y?.connectError)}),[Y]),T((()=>{let e="wallet_connect_v2"===Ce&&Y?.connector instanceof C?Y.connector.redirectUri:void 0;e&&ae(e);let o="wallet_connect_v2"===Ce&&Y?.connector instanceof C?Y.connector.fallbackUniversalRedirectUri:void 0;o&&me(o)}),Y?.connector instanceof C&&!se?500:null);let Ce=Y?.connector?.connectorType||"injected",_e=Y?.connector?.walletClientType||"unknown",ve=A[_e]?.displayName||Y?.connector?.walletBranding.name||"Browser Extension",be=A[_e]?.logo||Y?.connector?.walletBranding.icon||(o=>/*#__PURE__*/e(x,{...o})),Te="Browser Extension"===ve?ve.toLowerCase():ve;c=d?`Successfully connected with ${Te}`:W?W.message:we?"Switching networks":ge?g&&fe?"Signing":"Sign to verify":`Waiting for ${Te}`;let Re="Don’t see your wallet? Check your other browser windows.";d?Re=ce===(ie?.linkedAccounts.length||0)?"Wallet was already linked.":"You’re good to go!":ne>=2&&W?Re="Unable to connect wallet":W?Re=W.detail:we?Re="Switch your wallet to the requested network.":ge&&fe?Re="Sign the message in your wallet to verify it belongs to you.":"metamask"===_e&&i?Re="Click continue to open and connect MetaMask.":"metamask"===_e?Re="For the best experience, connect only one wallet at a time.":"wallet_connect"===Ce?Re="Open your mobile wallet app to continue":"coinbase_wallet"!==Ce||y()||(Re=E(ie)?"Continue with the Coinbase app. Not the right wallet? Reset your connection below.":"Open the Coinbase app on your phone to continue.");let Se=te?.walletConnectors?.find((e=>"coinbase_wallet"===e.walletClientType)),Ne="coinbase_wallet"===_e&&(E(ie)||W===j.ERROR_USER_EXISTS);/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(u,{backFn:q&&J!==q?X:void 0}),/*#__PURE__*/o(M,{children:[/*#__PURE__*/e(F,{walletLogo:be,success:d,fail:!!W}),/*#__PURE__*/o(p,{children:[/*#__PURE__*/e("h3",{children:c}),/*#__PURE__*/e("p",{children:Re}),ge||!se||he?null:/*#__PURE__*/o("p",{children:["Still here?"," ",/*#__PURE__*/e("a",{href:se,target:"_blank",style:{textDecoration:"underline"},children:"Try connecting again"}),le&&/*#__PURE__*/o(t,{children:[" ","or"," ",/*#__PURE__*/e("a",{href:le,target:"_blank",style:{textDecoration:"underline"},children:"use this different link"})]})]})]}),Ne?/*#__PURE__*/e(m,{onClick:()=>Se&&Se?.disconnect(),disabled:d,children:"Use a different wallet"}):W==j.ERROR_USER_EXISTS&&J!==q?/*#__PURE__*/e(m,{onClick:X,children:"Use a different wallet"}):ge&&!d&&fe?/*#__PURE__*/e(m,{onClick:()=>{w(!0),Ee()},disabled:g,children:g?"Signing":"Sign with your wallet"}):!d&&W?.retryable&&ne<2?/*#__PURE__*/e(m,{onClick:()=>{re(ne+1),D(void 0),ge?(w(!0),Ee()):Y?.connectRetry()},disabled:!d&&(!W?.retryable||ne>=2),children:"Retry"}):d||W?null:/*#__PURE__*/e(m,{onClick:()=>{},disabled:!0,children:"Connecting"})]}),/*#__PURE__*/e(h,{})]})};let M=/*#__PURE__*/c.div.withConfig({displayName:"ConnectContainer",componentId:"sc-afad057-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%;"]),D=/*#__PURE__*/c.div.withConfig({displayName:"StackedContainer",componentId:"sc-afad057-1"})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:82px;> div{position:relative;}> div > span{position:absolute;left:-41px;top:-41px;}> div > :last-child{position:absolute;left:-19px;top:-19px;}"]);const F=n=>{let r=n.walletLogo;/*#__PURE__*/return e(t,{children:/*#__PURE__*/e(D,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/e(d,{success:n.success,fail:n.fail}),"string"==typeof r?
|
|
2
2
|
/*#__PURE__*/e("span",{style:{background:`url('${r}')`,height:"38px",width:"38px",borderRadius:"6px",margin:"auto",backgroundSize:"cover"}}):/*#__PURE__*/e(r,{style:{width:"38px",height:"38px"}})]})})})};export{W as ConnectionStatusScreen,F as WalletLoading,U as getErrorDetails};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as i,useEffect as r}from"react";import{createWalletClient as s,custom as a,publicActions as m,createPublicClient as c,http as l}from"viem";import{RefactorSpacerTop as p,CenteredItemWithGap as d,RefactorSpacerBottom as u}from"../../components/Layouts.mjs";import{BlobbyFooter as h}from"../../components/ModalFooter.mjs";import{CenteredScreenHeader as g}from"../../components/ScreenHeader.mjs";import j from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as f}from"../../components/primitives/NeutralSpinner/index.mjs";import{addToDefaultChains as v}from"../../connectors/chains/utils.mjs";import{DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS as y}from"../../constants.mjs";import{PrivyClientError as w,PrivyErrorCode as b}from"../../errors.mjs";import{usePrivyInternal as I}from"../../hooks/internal-context.mjs";import{usePrivyModal as C}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as S}from"../../hooks/useGetTokenPrice.mjs";import{useWallets as T}from"../../hooks/useWallets.mjs";import{toDisplayName as k}from"../../lib/external-wallets/displayHelpers.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as N}from"../../lib/funding/analytics.mjs";import{getQuote as x,toGetQuoteInput as A,toEvmTransactionRequestInfoFromQuote as E}from"../../lib/funding/reservoir.mjs";import{RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID as F,RELAY_SOLANA_NATIVE_CURRENCY_ID as L}from"../../lib/solana/index.mjs";import{getNativeCurrencyFromLamports as B,getSolanaFormattedAmounts as P}from"../../lib/solana/transaction.mjs";import{getBalanceForChains as M}from"../../lib/wallets/actions/getBalanceForChains.mjs";import{usePlugins as U}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as R}from"../../plugins/solana-funding/id.mjs";import{formatWalletAddress as W,getJsonRpcEndpointFromChain as _}from"../../utils/index.mjs";import{ModalScreen as q}from"../index.mjs";import{BridgeNetworkSelectionView as O}from"./BridgeNetworkSelectionView.mjs";import{TransferOrBridgeLoadingScreen as H}from"./TransferOrBridgeLoadingScreen.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"ofetch";import"../../components/PrefetchedImage.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Subtitle.mjs";import"../../components/ui/typography/Title.mjs";import"../../components/ui/wallet/NetworkBalanceCard.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/wallet/NetworkIcon.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../../components/ui/icons/Arbitum.mjs";import"../../components/ui/icons/Avalanche.mjs";import"../../components/ui/icons/Base.mjs";import"../../components/ui/icons/Celo.mjs";import"../../components/ui/icons/Linea.mjs";import"../../components/ui/icons/Mainnnet.mjs";import"../../components/ui/icons/Optimism.mjs";import"../../components/ui/icons/Polygon.mjs";import"../../components/ui/icons/Solana.mjs";import"../../components/ui/icons/Zora.mjs";import"../../components/ui/wallet/shared.mjs";import"../../components/ui/wallet/NetworkSelectorPanel.mjs";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../lib/ethers.mjs";import"@ethersproject/bignumber";import"@ethersproject/units";import"../../ethers-Cz-frLvN.mjs";import"./styles.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../formatters--YjgN2Dw.mjs";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";const $=()=>{let{rpcConfig:$,appId:z,closePrivyModal:D,createAnalyticsEvent:G}=I(),{navigate:V,setModalData:Q,app:X,data:Y}=C(),{wallets:Z}=T(),J=U(),[K,oo]=i(null),[to,eo]=i(null),[no,io]=i([]),[ro,so]=i(0),[ao,mo]=i(!1),[co,lo]=i(!1),[po,uo]=i(!1),[ho,go]=i(!1);if(!Y?.funding||"solana"!==Y.funding.chainType)throw Error("Invalid funding data");let{address:jo,cluster:fo,connectedWalletAddress:vo}=Y.funding,[yo,wo]=i(Y.funding.amount),bo=vo?Z.find((({address:o})=>o===vo)):Z[0],[Io,Co]=i(null);r((()=>{(async()=>{if(!bo)return;let o=await bo.getEthereumProvider();Co(s({account:bo.address,transport:a(o)}).extend(m))})().catch(console.error)}),[bo]);let[So,To]=i(0n),ko=B(So);r((()=>{let o=J(R);o?o.getBalance({address:jo,cluster:fo}).then((o=>To(BigInt(o)))):console.warn("Unable to load solana plugin, skipping balance")}),[]);let[No,xo]=i(),{tokenPrice:Ao}=S("solana"),{fundingAmountInBaseUnit:Eo,fundingAmountInUsd:Fo}=P({amount:yo,fee:0n,tokenPrice:Ao});r((()=>{(async()=>{if(!Io||!bo)return;let o=["testnet","devnet"].includes(fo.name);o&&console.warn("Solana testnets are not supported for bridging");let t=v(X.chains).filter((({testnet:t})=>!!t===o)),e=(await M({chains:t,address:bo.address,appId:z,rpcConfig:$})).filter((o=>o.balance>0n));if(e.length<1)return void oo(new w(`Wallet ${W(bo.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));e.sort(((o,t)=>Number(t.balance-o.balance)));let n=(await Promise.allSettled(e.map((async o=>({...o,quote:await x({isTestnet:!1,input:A({amount:Eo.toString(),user:bo.address,recipient:jo,destinationChainId:F,destinationCurrency:L,originChainId:o.chain.id})})}))))).filter((o=>"fulfilled"===o.status)).map((o=>o.value));if(n.length<1)return void oo(new w(`Unable to fetch quotes for bridging. Wallet ${W(bo.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));let i=n.map((({quote:o,balance:t,chain:e})=>({bridgeTx:E(o),balance:t,chain:e}))).filter((({bridgeTx:o})=>!!o));if(i.length>1)return void io(i);let r=i.at(0);r?(lo(!0),xo({data:r.bridgeTx.data,to:r.bridgeTx.to,value:r.bridgeTx.value,chain:r.chain})):oo(new w(`Unable to select bridge option from quotes. Wallet ${W(bo.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE))})().catch(console.error)}),[Io]),r((()=>{(async()=>{let o,t;if(!Io||!bo||ao||po||!No)return;mo(!0);let e=c({chain:No.chain,transport:l(_(No.chain,$,z))});try{o=await e.prepareTransactionRequest({account:bo.address,to:No.to,chain:No.chain,data:No.data,value:BigInt(No.value??0)})}catch(o){console.error(o),no.length>1&&eo(o.shortMessage??"Something went wrong")}if(o){mo(!1),uo(!0);try{await Io.switchChain({id:No.chain.id})}catch(o){await Io.addChain({chain:No.chain}),await Io.switchChain({id:No.chain.id})}try{t=await Io.sendTransaction(o),G({eventName:N,payload:{provider:"external",status:"success",address:bo.address,chainId:No.chain.id,value:No.value?.toString(),txHash:t}})}catch(o){console.error(o),"TransactionExecutionError"===o.name&&(no.length<1?oo(new w(o.shortMessage,void 0,b.TRANSACTION_FAILURE)):eo(o.shortMessage??"Something went wrong"))}t?(await Io.waitForTransactionReceipt({hash:t}),uo(!1),go(!0)):uo(!1)}else mo(!1)})().catch(console.error)}),[Io,No]),r((()=>{if(!K)return;let o={error:K,previousScreen:q.FUNDING_TRANSFER_FROM_WALLET_SCREEN};Q({funding:Y?.funding,sendTransaction:Y?.sendTransaction,errorModalData:o}),V(q.ERROR_SCREEN,!1)}),[K]);let Lo=bo?k(bo.walletClientType,bo.connectorType,bo.walletClientType)||"wallet":null;if(r((()=>{if(!ho)return;let o=setTimeout(D,y);return()=>clearTimeout(o)}),[ho]),ho/*#__PURE__*/)return o(t,{children:[/*#__PURE__*/e(j,{}),/*#__PURE__*/e(p,{}),/*#__PURE__*/o(d,{children:[/*#__PURE__*/e(n,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e(g,{title:"Success!",description:`You’ve successfully added ${yo} SOL to your ${X.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e(u,{}),/*#__PURE__*/e(h,{})]});let Bo=no[ro];return no.length>1&&Bo?/*#__PURE__*/e(O,{displayName:Lo,configuredFundingChain:fo,formattedBalance:ko,fundingAmount:yo,fundingCurrency:"SOL",fundingAmountInUsd:Fo,options:no,selectedOption:Bo,isPreparing:ao,isSubmitting:po,addressToFund:jo,fundingWalletAddress:bo?.address||"",errorMessage:to,onSubmit:()=>{Y.funding?.amount!==yo?async function(){if(bo&&Bo)try{let o=await x({isTestnet:!1,input:A({amount:Eo.toString(),user:bo.address,recipient:jo,destinationChainId:F,destinationCurrency:L,originChainId:Bo.chain.id})}),t=E(o);if(!t)throw Error("Invalid transaction request");lo(!0),xo({data:t.data,to:t.to,value:t.value,chain:Bo.chain})}catch(o){console.error(o),oo(new w("Unable to fetch quotes for bridging",o,b.INSUFFICIENT_BALANCE))}}().catch(console.error):xo({to:Bo.bridgeTx.to,data:Bo.bridgeTx.data,value:Bo.bridgeTx.value,chain:Bo.chain})},onSelect:o=>{o!==ro&&(eo(null),so(o))},onAmountChange:wo}):po&&bo?/*#__PURE__*/e(H,{wallet:bo,displayName:Lo,addressToFund:jo,isBridging:co,isErc20Flow:!1,chainId:"solana",chainName:fo.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
|
|
1
|
+
import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as i,useEffect as r}from"react";import{createWalletClient as s,custom as a,publicActions as m,createPublicClient as c,http as l}from"viem";import{RefactorSpacerTop as p,CenteredItemWithGap as d,RefactorSpacerBottom as u}from"../../components/Layouts.mjs";import{BlobbyFooter as h}from"../../components/ModalFooter.mjs";import{CenteredScreenHeader as g}from"../../components/ScreenHeader.mjs";import j from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as f}from"../../components/primitives/NeutralSpinner/index.mjs";import{addToDefaultChains as v}from"../../connectors/chains/utils.mjs";import{DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS as y}from"../../constants.mjs";import{PrivyClientError as w,PrivyErrorCode as b}from"../../errors.mjs";import{usePrivyInternal as I}from"../../hooks/internal-context.mjs";import{usePrivyModal as C}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as S}from"../../hooks/useGetTokenPrice.mjs";import{useWallets as T}from"../../hooks/useWallets.mjs";import{toDisplayName as k}from"../../lib/external-wallets/displayHelpers.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as N}from"../../lib/funding/analytics.mjs";import{getQuote as x,toGetQuoteInput as A,toEvmTransactionRequestInfoFromQuote as E}from"../../lib/funding/reservoir.mjs";import{RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID as F,RELAY_SOLANA_NATIVE_CURRENCY_ID as L}from"../../lib/solana/index.mjs";import{getNativeCurrencyFromLamports as B,getSolanaFormattedAmounts as P}from"../../lib/solana/transaction.mjs";import{getBalanceForChains as M}from"../../lib/wallets/actions/getBalanceForChains.mjs";import{usePlugins as U}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as R}from"../../plugins/solana-funding/id.mjs";import{formatWalletAddress as W,getJsonRpcEndpointFromChain as _}from"../../utils/index.mjs";import{ModalScreen as q}from"../index.mjs";import{BridgeNetworkSelectionView as O}from"./BridgeNetworkSelectionView.mjs";import{TransferOrBridgeLoadingScreen as H}from"./TransferOrBridgeLoadingScreen.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"ofetch";import"../../components/PrefetchedImage.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"@privy-io/js-sdk-core";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Subtitle.mjs";import"../../components/ui/typography/Title.mjs";import"../../components/ui/wallet/NetworkBalanceCard.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/wallet/NetworkIcon.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../../components/ui/icons/Arbitum.mjs";import"../../components/ui/icons/Avalanche.mjs";import"../../components/ui/icons/Base.mjs";import"../../components/ui/icons/Celo.mjs";import"../../components/ui/icons/Linea.mjs";import"../../components/ui/icons/Mainnnet.mjs";import"../../components/ui/icons/Optimism.mjs";import"../../components/ui/icons/Polygon.mjs";import"../../components/ui/icons/Solana.mjs";import"../../components/ui/icons/Zora.mjs";import"../../components/ui/wallet/shared.mjs";import"../../components/ui/wallet/NetworkSelectorPanel.mjs";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../lib/ethers.mjs";import"@ethersproject/bignumber";import"@ethersproject/units";import"./styles.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";const $=()=>{let{rpcConfig:$,appId:z,closePrivyModal:D,createAnalyticsEvent:G}=I(),{navigate:V,setModalData:Q,app:X,data:Y}=C(),{wallets:Z}=T(),J=U(),[K,oo]=i(null),[to,eo]=i(null),[no,io]=i([]),[ro,so]=i(0),[ao,mo]=i(!1),[co,lo]=i(!1),[po,uo]=i(!1),[ho,go]=i(!1);if(!Y?.funding||"solana"!==Y.funding.chainType)throw Error("Invalid funding data");let{address:jo,cluster:fo,connectedWalletAddress:vo}=Y.funding,[yo,wo]=i(Y.funding.amount),bo=vo?Z.find((({address:o})=>o===vo)):Z[0],[Io,Co]=i(null);r((()=>{(async()=>{if(!bo)return;let o=await bo.getEthereumProvider();Co(s({account:bo.address,transport:a(o)}).extend(m))})().catch(console.error)}),[bo]);let[So,To]=i(0n),ko=B(So);r((()=>{let o=J(R);o?o.getBalance({address:jo,cluster:fo}).then((o=>To(BigInt(o)))):console.warn("Unable to load solana plugin, skipping balance")}),[]);let[No,xo]=i(),{tokenPrice:Ao}=S("solana"),{fundingAmountInBaseUnit:Eo,fundingAmountInUsd:Fo}=P({amount:yo,fee:0n,tokenPrice:Ao});r((()=>{(async()=>{if(!Io||!bo)return;let o=["testnet","devnet"].includes(fo.name);o&&console.warn("Solana testnets are not supported for bridging");let t=v(X.chains).filter((({testnet:t})=>!!t===o)),e=(await M({chains:t,address:bo.address,appId:z,rpcConfig:$})).filter((o=>o.balance>0n));if(e.length<1)return void oo(new w(`Wallet ${W(bo.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));e.sort(((o,t)=>Number(t.balance-o.balance)));let n=(await Promise.allSettled(e.map((async o=>({...o,quote:await x({isTestnet:!1,input:A({amount:Eo.toString(),user:bo.address,recipient:jo,destinationChainId:F,destinationCurrency:L,originChainId:o.chain.id})})}))))).filter((o=>"fulfilled"===o.status)).map((o=>o.value));if(n.length<1)return void oo(new w(`Unable to fetch quotes for bridging. Wallet ${W(bo.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));let i=n.map((({quote:o,balance:t,chain:e})=>({bridgeTx:E(o),balance:t,chain:e}))).filter((({bridgeTx:o})=>!!o));if(i.length>1)return void io(i);let r=i.at(0);r?(lo(!0),xo({data:r.bridgeTx.data,to:r.bridgeTx.to,value:r.bridgeTx.value,chain:r.chain})):oo(new w(`Unable to select bridge option from quotes. Wallet ${W(bo.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE))})().catch(console.error)}),[Io]),r((()=>{(async()=>{let o,t;if(!Io||!bo||ao||po||!No)return;mo(!0);let e=c({chain:No.chain,transport:l(_(No.chain,$,z))});try{o=await e.prepareTransactionRequest({account:bo.address,to:No.to,chain:No.chain,data:No.data,value:BigInt(No.value??0)})}catch(o){console.error(o),no.length>1&&eo(o.shortMessage??"Something went wrong")}if(o){mo(!1),uo(!0);try{await Io.switchChain({id:No.chain.id})}catch(o){await Io.addChain({chain:No.chain}),await Io.switchChain({id:No.chain.id})}try{t=await Io.sendTransaction(o),G({eventName:N,payload:{provider:"external",status:"success",address:bo.address,chainId:No.chain.id,value:No.value?.toString(),txHash:t}})}catch(o){console.error(o),"TransactionExecutionError"===o.name&&(no.length<1?oo(new w(o.shortMessage,void 0,b.TRANSACTION_FAILURE)):eo(o.shortMessage??"Something went wrong"))}t?(await Io.waitForTransactionReceipt({hash:t}),uo(!1),go(!0)):uo(!1)}else mo(!1)})().catch(console.error)}),[Io,No]),r((()=>{if(!K)return;let o={error:K,previousScreen:q.FUNDING_TRANSFER_FROM_WALLET_SCREEN};Q({funding:Y?.funding,sendTransaction:Y?.sendTransaction,errorModalData:o}),V(q.ERROR_SCREEN,!1)}),[K]);let Lo=bo?k(bo.walletClientType,bo.connectorType,bo.walletClientType)||"wallet":null;if(r((()=>{if(!ho)return;let o=setTimeout(D,y);return()=>clearTimeout(o)}),[ho]),ho/*#__PURE__*/)return o(t,{children:[/*#__PURE__*/e(j,{}),/*#__PURE__*/e(p,{}),/*#__PURE__*/o(d,{children:[/*#__PURE__*/e(n,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e(g,{title:"Success!",description:`You’ve successfully added ${yo} SOL to your ${X.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e(u,{}),/*#__PURE__*/e(h,{})]});let Bo=no[ro];return no.length>1&&Bo?/*#__PURE__*/e(O,{displayName:Lo,configuredFundingChain:fo,formattedBalance:ko,fundingAmount:yo,fundingCurrency:"SOL",fundingAmountInUsd:Fo,options:no,selectedOption:Bo,isPreparing:ao,isSubmitting:po,addressToFund:jo,fundingWalletAddress:bo?.address||"",errorMessage:to,onSubmit:()=>{Y.funding?.amount!==yo?async function(){if(bo&&Bo)try{let o=await x({isTestnet:!1,input:A({amount:Eo.toString(),user:bo.address,recipient:jo,destinationChainId:F,destinationCurrency:L,originChainId:Bo.chain.id})}),t=E(o);if(!t)throw Error("Invalid transaction request");lo(!0),xo({data:t.data,to:t.to,value:t.value,chain:Bo.chain})}catch(o){console.error(o),oo(new w("Unable to fetch quotes for bridging",o,b.INSUFFICIENT_BALANCE))}}().catch(console.error):xo({to:Bo.bridgeTx.to,data:Bo.bridgeTx.data,value:Bo.bridgeTx.value,chain:Bo.chain})},onSelect:o=>{o!==ro&&(eo(null),so(o))},onAmountChange:wo}):po&&bo?/*#__PURE__*/e(H,{wallet:bo,displayName:Lo,addressToFund:jo,isBridging:co,isErc20Flow:!1,chainId:"solana",chainName:fo.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
|
|
2
2
|
/*#__PURE__*/o(t,{children:[/*#__PURE__*/e(j,{}),/*#__PURE__*/e(f,{}),/*#__PURE__*/e("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e(h,{})]})};export{$ as AwaitingEvmToSolBridgingScreen};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as i,useEffect as r}from"react";import{parseEther as s,createWalletClient as a,custom as c,publicActions as m,createPublicClient as l,http as p,encodeFunctionData as d}from"viem";import{RefactorSpacerTop as u,CenteredItemWithGap as h,RefactorSpacerBottom as j}from"../../components/Layouts.mjs";import{BlobbyFooter as g}from"../../components/ModalFooter.mjs";import{CenteredScreenHeader as f}from"../../components/ScreenHeader.mjs";import v from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as y}from"../../components/primitives/NeutralSpinner/index.mjs";import{addToDefaultChains as b}from"../../connectors/chains/utils.mjs";import{DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS as w}from"../../constants.mjs";import{PrivyClientError as I,PrivyErrorCode as C}from"../../errors.mjs";import{usePrivyInternal as T}from"../../hooks/internal-context.mjs";import{usePrivyModal as S}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as N}from"../../hooks/useGetTokenPrice.mjs";import{useWallets as A}from"../../hooks/useWallets.mjs";import{ERC20_TRANSFER_ABI_STUB as k}from"../../lib/erc20/actions/abis/transfer.mjs";import{formatErc20TokenAmount as E}from"../../lib/erc20/formatErc20TokenAmount.mjs";import{getDollarsFromStringFloat as x,sumWeiQuantitiesToHexString as F,getDollarsFromWei as B,getNativeCurrencyFromWei as L}from"../../lib/ethers.mjs";import{toDisplayName as M}from"../../lib/external-wallets/displayHelpers.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as P}from"../../lib/funding/analytics.mjs";import{getQuote as R,toGetQuoteInput as U,toEvmTransactionRequestInfoFromQuote as W}from"../../lib/funding/reservoir.mjs";import{getBalanceForChains as _}from"../../lib/wallets/actions/getBalanceForChains.mjs";import{getErc20Balance as q}from"../../lib/wallets/actions/getErc20Balance.mjs";import{getJsonRpcEndpointFromChain as $,formatWalletAddress as H}from"../../utils/index.mjs";import{ModalScreen as O}from"../index.mjs";import{BridgeNetworkSelectionView as z}from"./BridgeNetworkSelectionView.mjs";import{TransferOrBridgeLoadingScreen as D}from"./TransferOrBridgeLoadingScreen.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"ofetch";import"../../components/PrefetchedImage.mjs";import"../../hooks/useGetSolPrice.mjs";import"@ethersproject/bignumber";import"@ethersproject/units";import"../../ethers-Cz-frLvN.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Subtitle.mjs";import"../../components/ui/typography/Title.mjs";import"../../components/ui/wallet/NetworkBalanceCard.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/wallet/NetworkIcon.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../../components/ui/icons/Arbitum.mjs";import"../../components/ui/icons/Avalanche.mjs";import"../../components/ui/icons/Base.mjs";import"../../components/ui/icons/Celo.mjs";import"../../components/ui/icons/Linea.mjs";import"../../components/ui/icons/Mainnnet.mjs";import"../../components/ui/icons/Optimism.mjs";import"../../components/ui/icons/Polygon.mjs";import"../../components/ui/icons/Solana.mjs";import"../../components/ui/icons/Zora.mjs";import"../../components/ui/wallet/shared.mjs";import"../../components/ui/wallet/NetworkSelectorPanel.mjs";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"./styles.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../formatters--YjgN2Dw.mjs";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";const G=()=>{let{rpcConfig:G,appId:V,closePrivyModal:Q,createAnalyticsEvent:X}=T(),{navigate:Y,setModalData:Z,app:J,data:K}=S(),{wallets:oo}=A(),[eo,to]=i(!1),[no,io]=i(0n),[ro,so]=i(!1),[ao,co]=i(null),[mo,lo]=i(null),[po,uo]=i([]),[ho,jo]=i(0),[go,fo]=i(!1),[vo,yo]=i(!1),[bo,wo]=i(!1),[Io,Co]=i(!1);if(!K?.funding||"ethereum"!==K.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:To,chain:So,connectedWalletAddress:No}=K.funding,Ao=K.funding.address,ko=K.funding.erc20Address,[Eo,xo]=i(K.funding.amount);r((()=>{ko&&!To&&co(Error("Unable to fetch token details"))}),[]);let Fo=!!ko&&!!To,Bo=Fo?BigInt(parseFloat(Eo)*10**To.decimals):s(Eo),Lo=No?oo.find((({address:o})=>o===No)):oo[0],[Mo,Po]=i(null);r((()=>{(async()=>{if(!Lo)return;let o=await Lo.getEthereumProvider();Po(a({account:Lo.address,transport:c(o)}).extend(m))})().catch(console.error)}),[Lo]);let[Ro,Uo]=i(0n);r((()=>{l({chain:So,transport:p($(So,G,V))}).getBalance({address:Ao}).then(Uo).catch(console.error)}),[]);let[Wo,_o]=i(0n);r((()=>{Fo&&q({chain:So,address:Ao,appId:V,rpcConfig:G,erc20Address:ko}).then((o=>_o(o.balance))).catch(console.error)}),[]);let{tokenPrice:qo}=N(So.id),[$o,Ho]=i({to:Ao,chain:So,value:Bo,data:void 0});r((()=>{(async()=>{let o,e;if(!Mo||!Lo||go||bo)return;fo(!0);let t=l({chain:$o.chain,transport:p($($o.chain,G,V))});if(Fo&&!$o.data)return await t.simulateContract({address:ko,chain:$o.chain,abi:k,functionName:"transfer",args:[Ao,Bo],account:Lo.address}).catch((o=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",o)}))?(fo(!1),void Ho({to:ko,chain:$o.chain,data:d({abi:k,functionName:"transfer",args:[Ao,Bo]}),value:"0x0"})):(fo(!1),void so(!0));try{o=await t.prepareTransactionRequest({account:Lo.address,to:$o.to,chain:$o.chain,data:$o.data,value:BigInt($o.value??0)})}catch(o){if(console.error(o),po.length>1)lo(o.shortMessage??"Something went wrong");else if(vo&&0===po.length)return void co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE))}if(!o)return fo(!1),void so(!0);fo(!1),wo(!0),to(!0),io(o.gas);try{await Mo.switchChain({id:$o.chain.id})}catch(o){await Mo.addChain({chain:$o.chain}),await Mo.switchChain({id:$o.chain.id})}try{e=await Mo.sendTransaction(o),X({eventName:P,payload:{provider:"external",status:"success",address:Lo.address,chainId:$o.chain.id,value:$o.value?.toString(),txHash:e}})}catch(o){if(console.error(o),"TransactionExecutionError"===o.name)if(po.length<1){let e=o.shortMessage;(o.shortMessage.includes("rejected the request")||o.details.includes("rejected the request"))&&(e="User rejected the request."),co(new I(e,void 0,C.TRANSACTION_FAILURE))}else lo(o.shortMessage??"Something went wrong")}e?(await Mo.waitForTransactionReceipt({hash:e}),wo(!1),Co(!0)):wo(!1)})().catch(console.error)}),[Mo,$o]),r((()=>{(async()=>{if(!ro||!Mo||!Lo)return;let o=b(J.chains).filter((o=>o.id!==So.id&&!!o.testnet==!!So.testnet));Fo&&o.unshift(So);let e=await _({chains:o,address:Lo.address,appId:V,rpcConfig:G}),t=Fo?e.filter((o=>o.balance>0n)):e.filter((o=>o.balance>Bo));if(t.length<1)return void co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE));t.sort(((o,e)=>Number(e.balance-o.balance)));let n=(await Promise.allSettled(t.map((async o=>({quote:await R({isTestnet:!!So.testnet,input:U({amount:Bo.toString(),user:Lo.address,recipient:Ao,destinationChainId:So.id,destinationCurrency:ko,originChainId:o.chain.id})}),...o}))))).filter((o=>"fulfilled"===o.status)).map((o=>o.value));if(n.length<1)return void co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE));let i=n.map((o=>({bridgeTx:W(o.quote),balance:o.balance,chain:o.chain}))).filter((o=>!!o.bridgeTx));if(i.length>1)return void uo(i);let r=i[0];r?(yo(!0),Ho({data:r.bridgeTx.data,to:r.bridgeTx.to,value:r.bridgeTx.value,chain:r.chain})):co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE))})().catch(console.error)}),[ro]),r((()=>{if(!ao)return;let o={error:ao,previousScreen:O.FUNDING_TRANSFER_FROM_WALLET_SCREEN};Z({funding:K?.funding,sendTransaction:K?.sendTransaction,errorModalData:o}),Y(O.ERROR_SCREEN,!1)}),[ao]);let Oo=Lo?M(Lo.walletClientType,Lo.connectorType,Lo.walletClientType)||"wallet":null,zo=!Fo&&qo?x(Eo??"0",qo):void 0,Do=Fo?no:F([no,Bo]),Go=Do&&qo?B(Do,qo):void 0,Vo=Do?L(Do,"ETH"):void 0,Qo=no&&qo?B(no,qo):void 0,Xo=no?L(no,"ETH"):void 0;if(r((()=>{if(!Io)return;let o=setTimeout(Q,w);return()=>clearTimeout(o)}),[Io]),Io/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/t(v,{}),/*#__PURE__*/t(u,{}),/*#__PURE__*/o(h,{children:[/*#__PURE__*/t(n,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/t(f,{title:"Success!",description:`You’ve successfully added ${Eo} ${Fo?To.symbol:So.nativeCurrency.symbol} to your ${J.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/t(j,{}),/*#__PURE__*/t(g,{})]});let Yo=Fo?`${E({amount:Wo,decimals:To.decimals})} ${To.symbol}`:L(Ro,So.nativeCurrency.symbol,3,!0),Zo=po[ho];return po.length>1&&Zo?/*#__PURE__*/t(z,{displayName:Oo,configuredFundingChain:So,formattedBalance:Yo,fundingAmount:Eo,fundingCurrency:Fo?To.symbol:So.nativeCurrency.symbol,fundingAmountInUsd:zo,options:po,selectedOption:Zo,isPreparing:go,isSubmitting:bo,addressToFund:Ao,fundingWalletAddress:Lo?.address||"",errorMessage:mo,onSubmit:()=>{K.funding?.amount!==Eo?async function(){if(Lo&&Zo)try{let o=await R({isTestnet:!!So.testnet,input:U({amount:Bo.toString(),user:Lo.address,recipient:Ao,destinationChainId:So.id,destinationCurrency:ko,originChainId:Zo.chain.id})}),e=W(o);if(!e)throw Error("Invalid transaction request");yo(!0),Ho({data:e.data,to:e.to,value:e.value,chain:Zo.chain})}catch(o){console.error(o),co(new I("Unable to fetch quotes for bridging",o,C.INSUFFICIENT_BALANCE))}}().catch(console.error):Ho({to:Zo.bridgeTx.to,data:Zo.bridgeTx.data,value:Zo.bridgeTx.value,chain:Zo.chain})},onSelect:o=>{o!==ho&&(lo(null),jo(o))},onAmountChange:xo}):eo&&no&&Lo&&K?.funding?/*#__PURE__*/t(D,{wallet:Lo,displayName:Oo,addressToFund:Ao,isBridging:vo,isErc20Flow:Fo,totalPriceInUsd:Go,totalPriceInNativeCurrency:Vo,gasPriceInUsd:Qo,gasPriceInNativeCurrency:Xo,chainId:So.id,chainName:So.name}):
|
|
1
|
+
import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as i,useEffect as r}from"react";import{parseEther as s,createWalletClient as a,custom as c,publicActions as m,createPublicClient as l,http as p,encodeFunctionData as d}from"viem";import{RefactorSpacerTop as u,CenteredItemWithGap as h,RefactorSpacerBottom as j}from"../../components/Layouts.mjs";import{BlobbyFooter as g}from"../../components/ModalFooter.mjs";import{CenteredScreenHeader as f}from"../../components/ScreenHeader.mjs";import v from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as y}from"../../components/primitives/NeutralSpinner/index.mjs";import{addToDefaultChains as b}from"../../connectors/chains/utils.mjs";import{DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS as w}from"../../constants.mjs";import{PrivyClientError as I,PrivyErrorCode as C}from"../../errors.mjs";import{usePrivyInternal as T}from"../../hooks/internal-context.mjs";import{usePrivyModal as S}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as N}from"../../hooks/useGetTokenPrice.mjs";import{useWallets as k}from"../../hooks/useWallets.mjs";import{ERC20_TRANSFER_ABI_STUB as A}from"../../lib/erc20/actions/abis/transfer.mjs";import{formatErc20TokenAmount as E}from"../../lib/erc20/formatErc20TokenAmount.mjs";import{getDollarsFromStringFloat as x,sumWeiQuantitiesToHexString as F,getDollarsFromWei as B,getNativeCurrencyFromWei as L}from"../../lib/ethers.mjs";import{toDisplayName as M}from"../../lib/external-wallets/displayHelpers.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as P}from"../../lib/funding/analytics.mjs";import{getQuote as R,toGetQuoteInput as U,toEvmTransactionRequestInfoFromQuote as W}from"../../lib/funding/reservoir.mjs";import{getBalanceForChains as _}from"../../lib/wallets/actions/getBalanceForChains.mjs";import{getErc20Balance as q}from"../../lib/wallets/actions/getErc20Balance.mjs";import{getJsonRpcEndpointFromChain as $,formatWalletAddress as H}from"../../utils/index.mjs";import{ModalScreen as O}from"../index.mjs";import{BridgeNetworkSelectionView as z}from"./BridgeNetworkSelectionView.mjs";import{TransferOrBridgeLoadingScreen as D}from"./TransferOrBridgeLoadingScreen.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"ofetch";import"../../components/PrefetchedImage.mjs";import"../../hooks/useGetSolPrice.mjs";import"@ethersproject/bignumber";import"@ethersproject/units";import"@privy-io/js-sdk-core";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Subtitle.mjs";import"../../components/ui/typography/Title.mjs";import"../../components/ui/wallet/NetworkBalanceCard.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/wallet/NetworkIcon.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../../components/ui/icons/Arbitum.mjs";import"../../components/ui/icons/Avalanche.mjs";import"../../components/ui/icons/Base.mjs";import"../../components/ui/icons/Celo.mjs";import"../../components/ui/icons/Linea.mjs";import"../../components/ui/icons/Mainnnet.mjs";import"../../components/ui/icons/Optimism.mjs";import"../../components/ui/icons/Polygon.mjs";import"../../components/ui/icons/Solana.mjs";import"../../components/ui/icons/Zora.mjs";import"../../components/ui/wallet/shared.mjs";import"../../components/ui/wallet/NetworkSelectorPanel.mjs";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"./styles.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";const G=()=>{let{rpcConfig:G,appId:V,closePrivyModal:Q,createAnalyticsEvent:X}=T(),{navigate:Y,setModalData:Z,app:J,data:K}=S(),{wallets:oo}=k(),[eo,to]=i(!1),[no,io]=i(0n),[ro,so]=i(!1),[ao,co]=i(null),[mo,lo]=i(null),[po,uo]=i([]),[ho,jo]=i(0),[go,fo]=i(!1),[vo,yo]=i(!1),[bo,wo]=i(!1),[Io,Co]=i(!1);if(!K?.funding||"ethereum"!==K.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:To,chain:So,connectedWalletAddress:No}=K.funding,ko=K.funding.address,Ao=K.funding.erc20Address,[Eo,xo]=i(K.funding.amount);r((()=>{Ao&&!To&&co(Error("Unable to fetch token details"))}),[]);let Fo=!!Ao&&!!To,Bo=Fo?BigInt(parseFloat(Eo)*10**To.decimals):s(Eo),Lo=No?oo.find((({address:o})=>o===No)):oo[0],[Mo,Po]=i(null);r((()=>{(async()=>{if(!Lo)return;let o=await Lo.getEthereumProvider();Po(a({account:Lo.address,transport:c(o)}).extend(m))})().catch(console.error)}),[Lo]);let[Ro,Uo]=i(0n);r((()=>{l({chain:So,transport:p($(So,G,V))}).getBalance({address:ko}).then(Uo).catch(console.error)}),[]);let[Wo,_o]=i(0n);r((()=>{Fo&&q({chain:So,address:ko,appId:V,rpcConfig:G,erc20Address:Ao}).then((o=>_o(o.balance))).catch(console.error)}),[]);let{tokenPrice:qo}=N(So.id),[$o,Ho]=i({to:ko,chain:So,value:Bo,data:void 0});r((()=>{(async()=>{let o,e;if(!Mo||!Lo||go||bo)return;fo(!0);let t=l({chain:$o.chain,transport:p($($o.chain,G,V))});if(Fo&&!$o.data)return await t.simulateContract({address:Ao,chain:$o.chain,abi:A,functionName:"transfer",args:[ko,Bo],account:Lo.address}).catch((o=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",o)}))?(fo(!1),void Ho({to:Ao,chain:$o.chain,data:d({abi:A,functionName:"transfer",args:[ko,Bo]}),value:"0x0"})):(fo(!1),void so(!0));try{o=await t.prepareTransactionRequest({account:Lo.address,to:$o.to,chain:$o.chain,data:$o.data,value:BigInt($o.value??0)})}catch(o){if(console.error(o),po.length>1)lo(o.shortMessage??"Something went wrong");else if(vo&&0===po.length)return void co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE))}if(!o)return fo(!1),void so(!0);fo(!1),wo(!0),to(!0),io(o.gas);try{await Mo.switchChain({id:$o.chain.id})}catch(o){await Mo.addChain({chain:$o.chain}),await Mo.switchChain({id:$o.chain.id})}try{e=await Mo.sendTransaction(o),X({eventName:P,payload:{provider:"external",status:"success",address:Lo.address,chainId:$o.chain.id,value:$o.value?.toString(),txHash:e}})}catch(o){if(console.error(o),"TransactionExecutionError"===o.name)if(po.length<1){let e=o.shortMessage;(o.shortMessage.includes("rejected the request")||o.details.includes("rejected the request"))&&(e="User rejected the request."),co(new I(e,void 0,C.TRANSACTION_FAILURE))}else lo(o.shortMessage??"Something went wrong")}e?(await Mo.waitForTransactionReceipt({hash:e}),wo(!1),Co(!0)):wo(!1)})().catch(console.error)}),[Mo,$o]),r((()=>{(async()=>{if(!ro||!Mo||!Lo)return;let o=b(J.chains).filter((o=>o.id!==So.id&&!!o.testnet==!!So.testnet));Fo&&o.unshift(So);let e=await _({chains:o,address:Lo.address,appId:V,rpcConfig:G}),t=Fo?e.filter((o=>o.balance>0n)):e.filter((o=>o.balance>Bo));if(t.length<1)return void co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE));t.sort(((o,e)=>Number(e.balance-o.balance)));let n=(await Promise.allSettled(t.map((async o=>({quote:await R({isTestnet:!!So.testnet,input:U({amount:Bo.toString(),user:Lo.address,recipient:ko,destinationChainId:So.id,destinationCurrency:Ao,originChainId:o.chain.id})}),...o}))))).filter((o=>"fulfilled"===o.status)).map((o=>o.value));if(n.length<1)return void co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE));let i=n.map((o=>({bridgeTx:W(o.quote),balance:o.balance,chain:o.chain}))).filter((o=>!!o.bridgeTx));if(i.length>1)return void uo(i);let r=i[0];r?(yo(!0),Ho({data:r.bridgeTx.data,to:r.bridgeTx.to,value:r.bridgeTx.value,chain:r.chain})):co(new I(`Wallet ${H(Lo.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE))})().catch(console.error)}),[ro]),r((()=>{if(!ao)return;let o={error:ao,previousScreen:O.FUNDING_TRANSFER_FROM_WALLET_SCREEN};Z({funding:K?.funding,sendTransaction:K?.sendTransaction,errorModalData:o}),Y(O.ERROR_SCREEN,!1)}),[ao]);let Oo=Lo?M(Lo.walletClientType,Lo.connectorType,Lo.walletClientType)||"wallet":null,zo=!Fo&&qo?x(Eo??"0",qo):void 0,Do=Fo?no:F([no,Bo]),Go=Do&&qo?B(Do,qo):void 0,Vo=Do?L(Do,"ETH"):void 0,Qo=no&&qo?B(no,qo):void 0,Xo=no?L(no,"ETH"):void 0;if(r((()=>{if(!Io)return;let o=setTimeout(Q,w);return()=>clearTimeout(o)}),[Io]),Io/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/t(v,{}),/*#__PURE__*/t(u,{}),/*#__PURE__*/o(h,{children:[/*#__PURE__*/t(n,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/t(f,{title:"Success!",description:`You’ve successfully added ${Eo} ${Fo?To.symbol:So.nativeCurrency.symbol} to your ${J.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/t(j,{}),/*#__PURE__*/t(g,{})]});let Yo=Fo?`${E({amount:Wo,decimals:To.decimals})} ${To.symbol}`:L(Ro,So.nativeCurrency.symbol,3,!0),Zo=po[ho];return po.length>1&&Zo?/*#__PURE__*/t(z,{displayName:Oo,configuredFundingChain:So,formattedBalance:Yo,fundingAmount:Eo,fundingCurrency:Fo?To.symbol:So.nativeCurrency.symbol,fundingAmountInUsd:zo,options:po,selectedOption:Zo,isPreparing:go,isSubmitting:bo,addressToFund:ko,fundingWalletAddress:Lo?.address||"",errorMessage:mo,onSubmit:()=>{K.funding?.amount!==Eo?async function(){if(Lo&&Zo)try{let o=await R({isTestnet:!!So.testnet,input:U({amount:Bo.toString(),user:Lo.address,recipient:ko,destinationChainId:So.id,destinationCurrency:Ao,originChainId:Zo.chain.id})}),e=W(o);if(!e)throw Error("Invalid transaction request");yo(!0),Ho({data:e.data,to:e.to,value:e.value,chain:Zo.chain})}catch(o){console.error(o),co(new I("Unable to fetch quotes for bridging",o,C.INSUFFICIENT_BALANCE))}}().catch(console.error):Ho({to:Zo.bridgeTx.to,data:Zo.bridgeTx.data,value:Zo.bridgeTx.value,chain:Zo.chain})},onSelect:o=>{o!==ho&&(lo(null),jo(o))},onAmountChange:xo}):eo&&no&&Lo&&K?.funding?/*#__PURE__*/t(D,{wallet:Lo,displayName:Oo,addressToFund:ko,isBridging:vo,isErc20Flow:Fo,totalPriceInUsd:Go,totalPriceInNativeCurrency:Vo,gasPriceInUsd:Qo,gasPriceInNativeCurrency:Xo,chainId:So.id,chainName:So.name}):
|
|
2
2
|
/*#__PURE__*/o(e,{children:[/*#__PURE__*/t(v,{}),/*#__PURE__*/t(y,{}),/*#__PURE__*/t("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/t(g,{})]})};export{G as AwaitingExternalTransferScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as n,jsx as t}from"react/jsx-runtime";import{useRef as i}from"react";import{
|
|
1
|
+
import{jsxs as o,Fragment as n,jsx as t}from"react/jsx-runtime";import{useRef as i}from"react";import{formatWalletAddress as e}from"@privy-io/js-sdk-core";import{PrimaryButtonWithoutGray as r}from"../../components/Button.mjs";import{RefactorSpacerTop as s,RefactorSpacerBottom as m}from"../../components/Layouts.mjs";import{BlobbyFooter as c}from"../../components/ModalFooter.mjs";import p from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{Row as a}from"../../components/ui/layout/Row.mjs";import{ErrorMessage as l}from"../../components/ui/typography/ErrorMessage.mjs";import{LabelSm as h}from"../../components/ui/typography/LabelSm.mjs";import{Subtitle as j}from"../../components/ui/typography/Subtitle.mjs";import{Title as u}from"../../components/ui/typography/Title.mjs";import{NetworkBalanceCard as d}from"../../components/ui/wallet/NetworkBalanceCard.mjs";import{NetworkSelectorPanel as g}from"../../components/ui/wallet/NetworkSelectorPanel.mjs";import{getNativeCurrencyFromWei as f}from"../../lib/ethers.mjs";import{FundingQuantityWrapper as y,FundingQuantity as b,FundingAmountInput as k,FundingCurrency as C,FundingDollars as w}from"./styles.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"../../hooks/modal-context.mjs";import"../../components/PrefetchedImage.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../index.mjs";import"../../hooks/index.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/wallet/NetworkIcon.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../../components/ui/icons/Arbitum.mjs";import"../../components/ui/icons/Avalanche.mjs";import"../../components/ui/icons/Base.mjs";import"../../components/ui/icons/Celo.mjs";import"../../components/ui/icons/Linea.mjs";import"../../components/ui/icons/Mainnnet.mjs";import"../../components/ui/icons/Optimism.mjs";import"../../components/ui/icons/Polygon.mjs";import"../../components/ui/icons/Solana.mjs";import"../../components/ui/icons/Zora.mjs";import"../../components/ui/wallet/shared.mjs";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"@ethersproject/bignumber";import"@ethersproject/units";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";const v=({displayName:v,errorMessage:S,configuredFundingChain:I,formattedBalance:A,fundingAmount:T,fundingCurrency:x,fundingAmountInUsd:M,options:L,selectedOption:B,isPreparing:F,isSubmitting:P,addressToFund:N,fundingWalletAddress:z,onSubmit:H,onSelect:W,onAmountChange:O})=>{let R=i(null);/*#__PURE__*/return o(n,{children:[/*#__PURE__*/t(p,{}),/*#__PURE__*/t(s,{}),/*#__PURE__*/t(u,{children:"Transfer from another network"}),/*#__PURE__*/o(j,{children:["You need more funds on the ",I.name," network. Bridge from another blockchain network."]}),/*#__PURE__*/o(y,{style:{marginTop:"2rem"},children:[/*#__PURE__*/o(b,{onClick:()=>R.current?.focus(),children:[/*#__PURE__*/t(k,{ref:R,value:T,onChange:o=>{let n=o.target.value;/^[0-9.]*$/.test(n)&&n.split(".").length-1<=1&&O(n)}}),/*#__PURE__*/t(C,{children:x})]}),M&&/*#__PURE__*/t(w,{children:M})]}),/*#__PURE__*/o(a,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/t(h,{children:"From"}),/*#__PURE__*/t(h,{children:e(z)})]}),/*#__PURE__*/t(g,{selected:{chain:B.chain,balance:f(B.balance,B.chain.nativeCurrency.symbol,3,!0)},options:L.map((({chain:o,balance:n})=>({chain:o,balance:f(n,o.nativeCurrency.symbol,3,!0)}))),onSelect:W}),/*#__PURE__*/o(a,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/t(h,{children:"To"}),/*#__PURE__*/t(h,{children:e(N)})]}),/*#__PURE__*/t(d,{chain:I,balance:A}),/*#__PURE__*/t(l,{style:{marginTop:"1rem"},children:S}),/*#__PURE__*/o(r,{style:{marginTop:"1rem"},loading:P||F,disabled:F||P,onClick:H,children:["Confirm with ",v]}),/*#__PURE__*/t(m,{}),/*#__PURE__*/t(c,{})]})};export{v as BridgeNetworkSelectionView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as t,jsx as r}from"react/jsx-runtime";import{useRef as n}from"react";import{PrimaryButtonWithoutGray as i}from"../../components/Button.mjs";import{FlexContainer as e}from"../../components/Layouts.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import m from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as c}from"../../components/primitives/NeutralSpinner/index.mjs";import{Title as a}from"../../components/ui/typography/Title.mjs";import{usePrivyModal as p}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as l}from"../../hooks/useGetTokenPrice.mjs";import{getDollarsFromStringFloat as h}from"../../lib/ethers.mjs";import{FundingQuantityWrapper as j,FundingQuantity as d,FundingAmountInputLarge as u,FundingCurrency as f,FundingDollars as g}from"./styles.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"../index.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../../hooks/useGetSolPrice.mjs";import"@ethersproject/bignumber";import"@ethersproject/units";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"
|
|
1
|
+
import{jsxs as o,Fragment as t,jsx as r}from"react/jsx-runtime";import{useRef as n}from"react";import{PrimaryButtonWithoutGray as i}from"../../components/Button.mjs";import{FlexContainer as e}from"../../components/Layouts.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import m from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as c}from"../../components/primitives/NeutralSpinner/index.mjs";import{Title as a}from"../../components/ui/typography/Title.mjs";import{usePrivyModal as p}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as l}from"../../hooks/useGetTokenPrice.mjs";import{getDollarsFromStringFloat as h}from"../../lib/ethers.mjs";import{FundingQuantityWrapper as j,FundingQuantity as d,FundingAmountInputLarge as u,FundingCurrency as f,FundingDollars as g}from"./styles.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"../index.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../../hooks/useGetSolPrice.mjs";import"@ethersproject/bignumber";import"@ethersproject/units";import"@privy-io/js-sdk-core";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";const y=()=>{let{data:y,setModalData:k}=p(),C=y?.funding,b="solana"===C.chainType,v=n(null),{tokenPrice:x}=l(b?"solana":C.chain.id),I=b?void 0:C,S=!(!I?.erc20Address||I?.erc20ContractInfo),T=b?"SOL":C.erc20Address?C.erc20ContractInfo?.symbol:C.chain.nativeCurrency.symbol||"ETH",A=parseFloat(C.amount),M=!isNaN(A)&&A>0,L=x?h(C.amount,x):void 0;/*#__PURE__*/return o(t,{children:[/*#__PURE__*/r(m,{}),/*#__PURE__*/r(a,{children:"Confirm or edit amount"}),/*#__PURE__*/o(e,{style:{marginTop:"32px"},children:[/*#__PURE__*/r(j,{children:S?/*#__PURE__*/r(c,{size:"50px"}):/*#__PURE__*/o(t,{children:[/*#__PURE__*/o(d,{onClick:()=>v.current?.focus(),children:[/*#__PURE__*/r(u,{ref:v,value:C.amount,onChange:o=>{let t=o.target.value;/^[0-9.]*$/.test(t)&&t.split(".").length-1<=1&&k({...y,funding:{...C,amount:t}})}}),/*#__PURE__*/r(f,{children:T})]}),!I?.erc20Address&&/*#__PURE__*/r(g,{children:L&&M?`${L} USD`:""})]})}),/*#__PURE__*/r(i,{style:{marginTop:"1rem"},disabled:!M,onClick:C.onContinueWithExternalWallet,children:"Continue"})]}),/*#__PURE__*/r(s,{})]})};export{y as FundingAmountEditScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as n,jsx as
|
|
1
|
+
import{jsxs as o,Fragment as n,jsx as i}from"react/jsx-runtime";import{getAddress as e}from"@ethersproject/address";import r from"@heroicons/react/24/outline/CreditCardIcon";import t from"@heroicons/react/24/outline/QrCodeIcon";import s from"@heroicons/react/24/solid/ArrowsRightLeftIcon";import{useMemo as m,useEffect as c}from"react";import{BlobbyFooter as a}from"../../components/ModalFooter.mjs";import l from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{ErrorBanner as p}from"../../components/ui/banners/ErrorBanner.mjs";import{InfoBanner as d}from"../../components/ui/banners/InfoBanner.mjs";import{ApplePay as h}from"../../components/ui/icons/ApplePay.mjs";import{GooglePay as j}from"../../components/ui/icons/GooglePay.mjs";import{useAppConfig as u}from"../../configuration/context.mjs";import{useAsyncValue as f}from"../../hook-utils/useAsyncValue.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as b}from"../../hooks/modal-context.mjs";import{useWallets as y}from"../../hooks/useWallets.mjs";import{WalletCards as C}from"../../icons/WalletCards.mjs";import{getErc20TokenInfo as v}from"../../lib/erc20/actions/getErc20TokenInfo.mjs";import{toDisplayName as w}from"../../lib/external-wallets/displayHelpers.mjs";import{prepareFundingMethods as F}from"../../lib/funding/prepareFundingMethods.mjs";import{isApplePayPotentiallyAvailable as k,isGooglePayPotentiallyAvailable as I}from"../../payment-request/isPaymentRequestAvailable.mjs";import{LoginMethodButton as W}from"../LandingScreen/styles.mjs";import{ModalScreen as x}from"../index.mjs";import{FundingMethodContainer as A,IconContainer as M,InfoButtonText as S,InfoButtonLink as T}from"./styles.mjs";import{useSolanaWallets as E}from"../../hooks/useSolanaWallets.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/InformationCircleIcon";import"../../components/PrefetchedImage.mjs";import"viem";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/funding/coinbase/isSupportedChainIdForCoinbaseOnramp.mjs";import"../../lib/funding/coinbase/triggerCoinbaseFlow.mjs";import"@privy-io/js-sdk-core";import"../../lib/popup/triggerPopup.mjs";import"../../lib/funding/coinbase/toCoinbaseBlockchainFromChainId.mjs";import"../../lib/funding/moonpay/index.mjs";import"../../lib/funding/analytics.mjs";import"../../lib/funding/moonpay/triggerMoonpayFlow.mjs";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../client/user.mjs";const L=()=>{let{wallets:L}=y(),{wallets:N}=E(),{navigate:R,data:P,setModalData:_}=b(),{client:B}=g(),D=u(),H=P?.funding,z=f(k),U=f(I),G="solana"===H.chainType,q=G?void 0:H,Q=m((()=>F(D,B,H,_,R,P)),[D,B,H,P,_,R]);c((()=>{if(H?.defaultFundingMethod&&H.usingDefaultFundingMethod)switch(_({funding:{...H,usingDefaultFundingMethod:!1}}),H?.defaultFundingMethod){case"card":Q.onFundWithCard[0]&&Q.onFundWithCard[0]();break;case"exchange":Q.onFundWithExchange&&Q.onFundWithExchange();break;case"wallet":Q.onFundWithWallet&&Q.onFundWithWallet();break;case"manual":R(x.FUNDING_MANUAL_TRANSFER_SCREEN)}}),[]),c((()=>{q?.erc20Address&&!q.erc20ContractInfo&&v({address:q.erc20Address,chain:q.chain,rpcConfig:D.rpcConfig,privyAppId:D.id}).then((o=>{_({...P,funding:{...q,erc20ContractInfo:o?{symbol:o.symbol,decimals:o.decimals}:void 0}})})).catch(console.error)}),[q?.erc20Address,q?.chain]);let O=G?N.find((({address:o})=>o===H.address)):L.find((({address:o})=>e(o)===e(H.address))),V=O&&"privy"!==O.walletClientType?w(O.walletClientType,O.connectorType,O.walletClientType):D.name,X=!(!q?.erc20Address||q?.erc20ContractInfo);/*#__PURE__*/return o(n,{children:[/*#__PURE__*/i(l,{}),/*#__PURE__*/o("h3",{children:["Add funds to your"," ",V?.toLowerCase().endsWith("wallet")?V:V+" wallet"]}),/*#__PURE__*/o(A,{children:[H.errorMessage&&/*#__PURE__*/i(p,{theme:D.appearance.palette.colorScheme,children:H.errorMessage}),Q.onFundWithCard?.[0]&&/*#__PURE__*/o(W,{disabled:X,onClick:Q.onFundWithCard[0],children:[/*#__PURE__*/i(M,{children:/*#__PURE__*/i(r,{style:{width:24}})}),"Pay with card",z?/*#__PURE__*/i(h,{style:{marginLeft:"auto",maxWidth:"100%",width:"auto",height:"0.875rem"}}):U?/*#__PURE__*/i(j,{style:{marginLeft:"auto",maxWidth:"100%",width:"auto",height:"0.875rem"}}):null]}),Q.onFundWithExchange&&/*#__PURE__*/o(W,{disabled:X,onClick:Q.onFundWithExchange,children:[/*#__PURE__*/i(M,{children:/*#__PURE__*/i(s,{style:{width:24}})}),"Transfer from an exchange"]}),Q.onFundWithWallet&&/*#__PURE__*/o(W,{disabled:X,onClick:Q.onFundWithWallet,children:[/*#__PURE__*/i(M,{children:/*#__PURE__*/i(C,{style:{width:24}})}),"Transfer from wallet"]}),/*#__PURE__*/o(W,{disabled:X,onClick:()=>R(x.FUNDING_MANUAL_TRANSFER_SCREEN),children:[/*#__PURE__*/i(M,{children:/*#__PURE__*/i(t,{style:{width:24}})}),"Receive funds"]}),H?.showAlternateFundingMethod&&Q.onFundWithCard?.[1]&&/*#__PURE__*/i(d,{theme:D.appearance.palette.colorScheme,children:/*#__PURE__*/o(S,{children:["Having trouble or facing location restrictions?"," ",/*#__PURE__*/i(T,{onClick:Q.onFundWithCard[1],children:"Try a different provider."})]})})]}),/*#__PURE__*/i(a,{})]})};export{L as FundingMethodSelectionScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,Fragment as e,jsxs as n}from"react/jsx-runtime";import{useState as
|
|
1
|
+
import{jsx as o,Fragment as e,jsxs as n}from"react/jsx-runtime";import{useState as r,useEffect as t,useMemo as s}from"react";import{formatTokenAmount as i,formatWeiAmount as a}from"@privy-io/js-sdk-core";import{PrimaryButton as m}from"../../components/Button.mjs";import{FlexContainer as c}from"../../components/Layouts.mjs";import{BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{QrCode as l}from"../../components/QrCode.mjs";import d from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{InfoBanner as u}from"../../components/ui/banners/InfoBanner.mjs";import{Subtitle as h}from"../../components/ui/typography/Subtitle.mjs";import{Title as j}from"../../components/ui/typography/Title.mjs";import{WalletInfoCard as f}from"../../components/ui/wallet/WalletInfoCard.mjs";import{useAppConfig as g}from"../../configuration/context.mjs";import{usePrivyInternal as y}from"../../hooks/internal-context.mjs";import{usePrivyModal as v}from"../../hooks/modal-context.mjs";import{useWalletBalance as b}from"../../hooks/useWalletBalance.mjs";import{useWallets as C}from"../../hooks/useWallets.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as I}from"../../lib/funding/analytics.mjs";import{getNativeCurrencyFromLamports as S}from"../../lib/solana/transaction.mjs";import{getErc20Balance as k}from"../../lib/wallets/actions/getErc20Balance.mjs";import{usePlugins as w}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as T}from"../../plugins/solana-funding/id.mjs";import{Blobby as E}from"../../svg/blobby.mjs";import{formatWalletAddress as x}from"../../utils/index.mjs";import{ModalScreen as A}from"../index.mjs";import{useSolanaWallets as M}from"../../hooks/useSolanaWallets.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/InformationCircleIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../../components/ui/wallet/shared.mjs";import"../../components/PrefetchedImage.mjs";import"viem";import"../../utils/buffer/readBigInt64LE.mjs";import"../../client/user.mjs";import"@ethersproject/address";import"../../hooks/privy-context.mjs";const L=()=>{let{wallets:E}=C(),{wallets:L}=M(),{data:R,setModalData:D,navigate:F,lastScreen:O}=v(),{rpcConfig:P,appId:W,createAnalyticsEvent:q,closePrivyModal:z}=y(),H=g(),[_,U]=r(void 0),[Q,X]=r(!1),$=w(),G=R?.funding,{reloadBalance:Y}=b({rpcConfig:P,appId:W,address:"ethereum"===G.chainType?G.address:void 0,chain:"ethereum"===G.chainType?G.chain:void 0}),J="solana"===G.chainType,K=J?"SOL":G.erc20Address?G.erc20ContractInfo?.symbol:G.chain.nativeCurrency.symbol,V=J?L.find((({address:o})=>o===G.address)):E.find((({address:o})=>x(o)===x(G.address)));if(!G)return D({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:O||A.FUNDING_METHOD_SELECTION_SCREEN},funding:R?.funding,sendTransaction:R?.sendTransaction}),F(A.ERROR_SCREEN),/*#__PURE__*/o(e,{});t((()=>{let o=J?async function(){if("solana"!==G.chainType)return;let o=$(T);o?o.getBalance({address:G.address,cluster:G.cluster}).then((o=>{let e=BigInt(o);_&&e>_&&(X(!0),q({eventName:I,payload:{provider:"manual",status:"success",chainType:"solana",address:V?.address,value:(e-_).toString()}})),U(e)})):console.warn("Unable to load solana plugin, skipping balance")}:async function(){"ethereum"===G.chainType&&(async()=>{if(!G.erc20Address)return await Y()??BigInt(0);{let{balance:o}=await k({chain:G.chain,address:G.address,erc20Address:G.erc20Address,rpcConfig:P,appId:W});return o}})().then((o=>{_&&o>_&&(X(!0),q({eventName:I,payload:{provider:"manual",status:"success",chainType:"ethereum",address:V?.address,value:(o-_).toString()}})),U(o)})).catch((()=>U(void 0)))},e=setInterval(o,2e3);return o(),()=>clearInterval(e)}),[_]);let Z=s((()=>void 0!==_&&_>=parseFloat(G.amount)),[_,G.amount]),oo=s((()=>null==_?"":G.isUSDC?i({amount:_,decimals:6}):J?S(_,3,!0,!0):null!=G.erc20ContractInfo?.decimals?i({amount:_,decimals:G.erc20ContractInfo.decimals}):a({wei:_})),[_,J,G]),eo="ethereum"===G.chainType?G.chain.name:N[G.cluster.name];/*#__PURE__*/return n(e,{children:[/*#__PURE__*/o(d,{}),/*#__PURE__*/n(j,{children:["Receive ",G.amount," ",K]}),/*#__PURE__*/n(h,{children:["Scan this code or copy your wallet address to receive funds on ",eo,"."]}),/*#__PURE__*/n(c,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/o(l,{url:G.address,size:200,squareLogoElement:B}),/*#__PURE__*/n(u,{theme:H.appearance.palette.colorScheme,children:["Make sure to send funds on ",eo,"."]}),/*#__PURE__*/o(f,{title:"Your wallet",errMsg:void 0,showIcon:!0,isLoading:!G||void 0===_,isPulsing:!Z,balance:`${oo} ${K}`,address:G.address,statusColor:Z?"green":"gray"}),Q&&/*#__PURE__*/o(m,{onClick:()=>z({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/o(p,{})]})};let B=({...e})=>/*#__PURE__*/o(E,{color:"black",...e}),N={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};export{L as ManualTransferScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{usePrivyModal as t}from"../../hooks/modal-context.mjs";import{CustomLandingScreenView as m}from"./CustomLandingScreenView.mjs";import{LandingScreenView as s}from"./LandingScreenView.mjs";import"react";import"../../components/PrefetchedImage.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../index.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/UserCircleIcon";import"styled-components";import"../../components/ModalFooter.mjs";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../lib/toDisplayFromAccountType.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"./AppLogoHeader.mjs";import"../../components/AppLogo.mjs";import"./CrossAppButton.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"./styles.mjs";import"./EmailButton.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"./FarcasterButton.mjs";import"../../svg/farcaster.mjs";import"./PasskeyLink.mjs";import"./SmsButton.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"../../PhoneCountryDropdown
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{usePrivyModal as t}from"../../hooks/modal-context.mjs";import{CustomLandingScreenView as m}from"./CustomLandingScreenView.mjs";import{LandingScreenView as s}from"./LandingScreenView.mjs";import"react";import"../../components/PrefetchedImage.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../index.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/UserCircleIcon";import"styled-components";import"../../components/ModalFooter.mjs";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../lib/toDisplayFromAccountType.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"./AppLogoHeader.mjs";import"../../components/AppLogo.mjs";import"./CrossAppButton.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"./styles.mjs";import"./EmailButton.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"./FarcasterButton.mjs";import"../../svg/farcaster.mjs";import"./PasskeyLink.mjs";import"./SmsButton.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"@privy-io/js-sdk-core";import"../../components/PhoneCountryDropdown.mjs";import"./SocialButton.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"./TelegramButton.mjs";import"../../svg/telegram.mjs";import"./WalletButtonList.mjs";import"./EmptyWalletView.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"./Web2OverflowButton.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"../../svg/email-or-phone.mjs";import"./WalletOverflowButton.mjs";const i=()=>{let{app:i}=t();return i.loginMethodsAndOrder&&i.loginMethodsAndOrder.primary.length>0?/*#__PURE__*/o(m,{connectOnly:!0}):/*#__PURE__*/o(s,{connectOnly:!0})};export{i as ConnectOrCreateScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/UserCircleIcon";import{useState as i,useEffect as s}from"react";import{styled as n}from"styled-components";import{TermsAndConditions as m,BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{useAppConfig as c}from"../../configuration/context.mjs";import{usePrivyInternal as l}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as d}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as h}from"../../recent-login/context.mjs";import{splitAtIndex as g}from"../../utils/index.mjs";import{AppLogoHeader as f}from"./AppLogoHeader.mjs";import{CrossAppButton as u}from"./CrossAppButton.mjs";import{EmailButton as v}from"./EmailButton.mjs";import{FarcasterButton as y}from"./FarcasterButton.mjs";import{PasskeyLink as b}from"./PasskeyLink.mjs";import{SmsButton as w}from"./SmsButton.mjs";import{SocialButton as k}from"./SocialButton.mjs";import{TelegramButton as x}from"./TelegramButton.mjs";import{toWalletButtons as C}from"./WalletButtonList.mjs";import{Web2OverflowButton as M}from"./Web2OverflowButton.mjs";import{Subtitle as I,AlignBottom as A,LoginMethodContainerWithScrollShadows as E}from"./styles.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../components/AppLogo.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../svg/farcaster.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"../../PhoneCountryDropdown
|
|
1
|
+
import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/UserCircleIcon";import{useState as i,useEffect as s}from"react";import{styled as n}from"styled-components";import{TermsAndConditions as m,BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{useAppConfig as c}from"../../configuration/context.mjs";import{usePrivyInternal as l}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as d}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as h}from"../../recent-login/context.mjs";import{splitAtIndex as g}from"../../utils/index.mjs";import{AppLogoHeader as f}from"./AppLogoHeader.mjs";import{CrossAppButton as u}from"./CrossAppButton.mjs";import{EmailButton as v}from"./EmailButton.mjs";import{FarcasterButton as y}from"./FarcasterButton.mjs";import{PasskeyLink as b}from"./PasskeyLink.mjs";import{SmsButton as w}from"./SmsButton.mjs";import{SocialButton as k}from"./SocialButton.mjs";import{TelegramButton as x}from"./TelegramButton.mjs";import{toWalletButtons as C}from"./WalletButtonList.mjs";import{Web2OverflowButton as M}from"./Web2OverflowButton.mjs";import{Subtitle as I,AlignBottom as A,LoginMethodContainerWithScrollShadows as E}from"./styles.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../components/AppLogo.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../svg/farcaster.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"@privy-io/js-sdk-core";import"../../components/PhoneCountryDropdown.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"../../svg/telegram.mjs";import"./EmptyWalletView.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";let L=o=>`${o.props.provider}:${o.props.displayName}`;const S=({connectOnly:n})=>{let{closePrivyModal:f,connectors:S}=l(),{app:W,onUserCloseViaDialogOrKeybindRef:O,data:F}=j(),{appearance:{palette:{colorScheme:H}}}=c(),{accountType:P,walletClientType:z,chainType:V}=h(),D=P?d(P):null,R=W.loginMethodsAndOrder?.primary??[],$=W.loginMethodsAndOrder?.overflow??[],N=[...R,...$],U=W.loginMethods.passkey,K=F?.login,Q=[];z&&N.includes(z)?Q.push(z):P&&N.includes(D?.loginMethod)&&Q.push(D?.loginMethod);let[X,Y]=i("default"),[q,G]=i("phone"===P?"sms":"email");s((()=>{"phone"===P&&G("sms");let o=N.indexOf("sms"),t=N.indexOf("email");o>-1&&o<t&&G("sms")}),[P,R,$]);let J=()=>{f({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{Y("default")}),150)};O.current=J;let Z=o=>"email"===o?/*#__PURE__*/e(v,{isEditable:"email"===q,setIsEditable:()=>{G("email")},defaultValue:"email"===K?.prefill?.type?K.prefill.value:void 0},o):"sms"===o?/*#__PURE__*/e(w,{isEditable:"sms"===q,setIsEditable:()=>{G("sms")},defaultValue:"phone"===K?.prefill?.type?K.prefill.value:void 0},o):"apple"===o?/*#__PURE__*/e(k,{provider:"apple"},o):"discord"===o?/*#__PURE__*/e(k,{provider:"discord"},o):"farcaster"===o?/*#__PURE__*/e(y,{},o):"github"===o?/*#__PURE__*/e(k,{provider:"github"},o):"google"===o?/*#__PURE__*/e(k,{provider:"google"},o):"linkedin"===o?/*#__PURE__*/e(k,{provider:"linkedin"},o):"spotify"===o?/*#__PURE__*/e(k,{provider:"spotify"},o):"instagram"===o?/*#__PURE__*/e(k,{provider:"instagram"},o):"tiktok"===o?/*#__PURE__*/e(k,{provider:"tiktok"},o):"twitter"===o?/*#__PURE__*/e(k,{provider:"twitter"},o):"telegram"===o?/*#__PURE__*/e(x,{},o):o.startsWith("privy:")?/*#__PURE__*/e(u,{appId:o.replace("privy:","")},o):C({walletList:W.appearance.walletList,walletChainType:W.appearance.walletChainType,connectors:S,connectOnly:n,ignore:[],walletConnectEnabled:W.externalWallets.walletConnect.enabled,forceWallet:{wallet:o,chainType:V??"ethereum"}}),_=Q.flatMap(Z),oo=R.filter((o=>o!==z&&o!==D?.loginMethod)).flatMap(Z),to=$.filter((o=>o!==z&&o!==D?.loginMethod)).flatMap(Z),eo=to.filter((o=>!oo.map(L).includes(L(o)))),[ro,io]=g([..._,...oo,...eo],T({primary:oo.length+_.length,overflow:to.length}));/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(a,{title:W.appearance.landingHeader,onClose:J,backFn:"default"===X?void 0:()=>{Y("default")}}),"default"===X&&/*#__PURE__*/e(B,{}),"default"===X&&("string"==typeof W.appearance.loginMessage?/*#__PURE__*/e(I,{children:W.appearance.loginMessage}):W.appearance.loginMessage),/*#__PURE__*/e(A,{style:{overflow:"hidden"},children:/*#__PURE__*/o(E,{$colorScheme:H,style:{maxHeight:400,overflowY:"scroll",padding:2},children:["default"===X&&/*#__PURE__*/o(t,{children:[ro,io.length>0&&/*#__PURE__*/e(M,{text:"More options",icon:/*#__PURE__*/e(r,{}),onClick:()=>Y("overflow")})]}),"overflow"===X&&/*#__PURE__*/e(t,{children:io}),U&&"default"===X&&/*#__PURE__*/e(b,{})]})}),W&&/*#__PURE__*/e(m,{app:W}),/*#__PURE__*/e(p,{})]})};let T=({primary:o,overflow:t})=>o<5?o:5===o&&0===t?5:4,B=/*#__PURE__*/n(f).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-5bf511fb-0"})(["margin-bottom:16px;"]);export{S as CustomLandingScreenView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{usePrivyModal as t}from"../../hooks/modal-context.mjs";import{CustomLandingScreenView as m}from"./CustomLandingScreenView.mjs";import{LandingScreenView as s}from"./LandingScreenView.mjs";import"react";import"../../components/PrefetchedImage.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../index.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/UserCircleIcon";import"styled-components";import"../../components/ModalFooter.mjs";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../lib/toDisplayFromAccountType.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"./AppLogoHeader.mjs";import"../../components/AppLogo.mjs";import"./CrossAppButton.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"./styles.mjs";import"./EmailButton.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"./FarcasterButton.mjs";import"../../svg/farcaster.mjs";import"./PasskeyLink.mjs";import"./SmsButton.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"../../PhoneCountryDropdown
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{usePrivyModal as t}from"../../hooks/modal-context.mjs";import{CustomLandingScreenView as m}from"./CustomLandingScreenView.mjs";import{LandingScreenView as s}from"./LandingScreenView.mjs";import"react";import"../../components/PrefetchedImage.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../index.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/UserCircleIcon";import"styled-components";import"../../components/ModalFooter.mjs";import"../../svg/protected-by-privy.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../lib/toDisplayFromAccountType.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"./AppLogoHeader.mjs";import"../../components/AppLogo.mjs";import"./CrossAppButton.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"./styles.mjs";import"./EmailButton.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"./FarcasterButton.mjs";import"../../svg/farcaster.mjs";import"./PasskeyLink.mjs";import"./SmsButton.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"@privy-io/js-sdk-core";import"../../components/PhoneCountryDropdown.mjs";import"./SocialButton.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"./TelegramButton.mjs";import"../../svg/telegram.mjs";import"./WalletButtonList.mjs";import"./EmptyWalletView.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"./Web2OverflowButton.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"../../svg/email-or-phone.mjs";import"./WalletOverflowButton.mjs";const i=()=>{let{app:i}=t();return i.loginMethodsAndOrder&&i.loginMethodsAndOrder.primary.length>0?/*#__PURE__*/o(m,{connectOnly:!1}):/*#__PURE__*/o(s,{connectOnly:!1})};export{i as LandingScreen};
|