@privy-io/react-auth 1.96.2 → 1.97.0

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.
Files changed (111) hide show
  1. package/dist/cjs/client.js +1 -1
  2. package/dist/cjs/components/LoginModal.js +1 -1
  3. package/dist/cjs/connectors/embeddedProvider.js +1 -1
  4. package/dist/cjs/connectors/ethereum/EthereumNullConnector.js +1 -0
  5. package/dist/cjs/connectors/index.js +1 -1
  6. package/dist/cjs/connectors/is-wallet-installed.js +1 -1
  7. package/dist/cjs/connectors/phantom-solana.js +1 -0
  8. package/dist/cjs/connectors/phantom.js +1 -1
  9. package/dist/cjs/connectors/solana/SolanaNullConnector.js +1 -0
  10. package/dist/cjs/constants.js +1 -1
  11. package/dist/cjs/embedded-wallets/EmbeddedWalletIframe.js +1 -1
  12. package/dist/cjs/embedded-wallets/solana/provider.js +1 -1
  13. package/dist/cjs/formatters-DnPKmSM4.js +1 -0
  14. package/dist/cjs/hooks/internal-context.js +1 -1
  15. package/dist/cjs/hooks/privy-provider.js +1 -1
  16. package/dist/cjs/hooks/useFundSolanaWallet.js +1 -1
  17. package/dist/cjs/index.js +1 -1
  18. package/dist/cjs/lib/funding/reservoir.js +1 -1
  19. package/dist/cjs/lib/smart-wallets-shared.js +1 -1
  20. package/dist/cjs/plugins/context/PrivyPluginContext.js +1 -0
  21. package/dist/cjs/plugins/models.js +1 -0
  22. package/dist/cjs/plugins/solana-funding/id.js +1 -0
  23. package/dist/cjs/plugins/solana-funding/plugin.js +1 -0
  24. package/dist/cjs/plugins/solana-funding/type.js +1 -0
  25. package/dist/cjs/plugins/solana-funding/useSolanaFundingPlugin.js +1 -0
  26. package/dist/cjs/privy-components/user-pill/AddFundsButton.js +1 -1
  27. package/dist/cjs/privy-components/user-pill/UserMenu.js +1 -1
  28. package/dist/cjs/privy-components/user-pill/UserPill.js +2 -2
  29. package/dist/cjs/privy-components/user-pill/UserPill.test.js +1 -1
  30. package/dist/cjs/privy-components/user-pill/screens/AccountScreen.js +1 -1
  31. package/dist/cjs/privy-components/user-pill/screens/MenuScreen.js +1 -1
  32. package/dist/cjs/privy-components/user-pill/screens/WalletActionsScreen.js +1 -1
  33. package/dist/cjs/privy-provider-CCAJu2BJ.js +2 -0
  34. package/dist/cjs/screens/DelegatedActionsConsentScreen.js +1 -1
  35. package/dist/cjs/screens/DelegatedActionsRevokeScreen.js +1 -1
  36. package/dist/cjs/screens/Funding/AwaitingEvmToSolBridgingScreen.js +1 -1
  37. package/dist/cjs/screens/Funding/AwaitingExternalSolanaTransferScreen.js +1 -1
  38. package/dist/cjs/screens/Funding/AwaitingExternalTransferScreen.js +1 -1
  39. package/dist/cjs/screens/Funding/AwaitingSolToEvmBridgingScreen.js +1 -1
  40. package/dist/cjs/screens/Funding/BridgeNetworkSelectionView.js +1 -1
  41. package/dist/cjs/screens/Funding/FundingEditAmountScreen.js +1 -1
  42. package/dist/cjs/screens/Funding/ManualTransferScreen.js +1 -1
  43. package/dist/cjs/screens/Funding/TransferFromWalletScreen.js +1 -1
  44. package/dist/cjs/screens/Funding/styles.js +1 -1
  45. package/dist/cjs/screens/LandingScreen/LandingScreenView.js +1 -1
  46. package/dist/cjs/screens/LandingScreen/WalletButtonList.js +1 -1
  47. package/dist/cjs/solana.js +1 -1
  48. package/dist/cjs/ui.js +1 -1
  49. package/dist/dts/index.d.mts +4 -4
  50. package/dist/dts/index.d.ts +4 -4
  51. package/dist/dts/solana.d.mts +6 -2
  52. package/dist/dts/solana.d.ts +6 -2
  53. package/dist/dts/{types-2a5Pf2GX.d.mts → types-DIHtez5D.d.mts} +1 -1
  54. package/dist/dts/{types-2a5Pf2GX.d.ts → types-DIHtez5D.d.ts} +1 -1
  55. package/dist/dts/ui.d.mts +1 -1
  56. package/dist/dts/ui.d.ts +1 -1
  57. package/dist/dts/{solana-D7kL9lA8.d.mts → useFundSolanaWallet-BQJ4tqWZ.d.mts} +1 -1
  58. package/dist/dts/{solana-D7kL9lA8.d.ts → useFundSolanaWallet-BQJ4tqWZ.d.ts} +1 -1
  59. package/dist/esm/client.mjs +1 -1
  60. package/dist/esm/components/LoginModal.mjs +1 -1
  61. package/dist/esm/connectors/embeddedProvider.mjs +1 -1
  62. package/dist/esm/connectors/ethereum/EthereumNullConnector.mjs +1 -0
  63. package/dist/esm/connectors/index.mjs +1 -1
  64. package/dist/esm/connectors/is-wallet-installed.mjs +1 -1
  65. package/dist/esm/connectors/phantom-solana.mjs +1 -0
  66. package/dist/esm/connectors/phantom.mjs +1 -1
  67. package/dist/esm/connectors/solana/SolanaNullConnector.mjs +1 -0
  68. package/dist/esm/constants.mjs +1 -1
  69. package/dist/esm/embedded-wallets/EmbeddedWalletIframe.mjs +2 -2
  70. package/dist/esm/embedded-wallets/solana/provider.mjs +1 -1
  71. package/dist/esm/formatters--YjgN2Dw.mjs +1 -0
  72. package/dist/esm/hooks/internal-context.mjs +1 -1
  73. package/dist/esm/hooks/privy-provider.mjs +1 -1
  74. package/dist/esm/hooks/useFundSolanaWallet.mjs +1 -1
  75. package/dist/esm/index.mjs +1 -1
  76. package/dist/esm/lib/funding/reservoir.mjs +1 -1
  77. package/dist/esm/lib/smart-wallets-shared.mjs +1 -1
  78. package/dist/esm/plugins/context/PrivyPluginContext.mjs +1 -0
  79. package/dist/esm/plugins/models.mjs +1 -0
  80. package/dist/esm/plugins/solana-funding/id.mjs +1 -0
  81. package/dist/esm/plugins/solana-funding/plugin.mjs +1 -0
  82. package/dist/esm/plugins/solana-funding/type.mjs +1 -0
  83. package/dist/esm/plugins/solana-funding/useSolanaFundingPlugin.mjs +1 -0
  84. package/dist/esm/privy-components/user-pill/AddFundsButton.mjs +1 -1
  85. package/dist/esm/privy-components/user-pill/UserMenu.mjs +1 -1
  86. package/dist/esm/privy-components/user-pill/UserPill.mjs +2 -2
  87. package/dist/esm/privy-components/user-pill/UserPill.test.mjs +1 -1
  88. package/dist/esm/privy-components/user-pill/screens/AccountScreen.mjs +1 -1
  89. package/dist/esm/privy-components/user-pill/screens/MenuScreen.mjs +1 -1
  90. package/dist/esm/privy-components/user-pill/screens/WalletActionsScreen.mjs +1 -1
  91. package/dist/esm/privy-provider-Ddew1epi.mjs +2 -0
  92. package/dist/esm/screens/DelegatedActionsConsentScreen.mjs +1 -1
  93. package/dist/esm/screens/DelegatedActionsRevokeScreen.mjs +1 -1
  94. package/dist/esm/screens/Funding/AwaitingEvmToSolBridgingScreen.mjs +2 -2
  95. package/dist/esm/screens/Funding/AwaitingExternalSolanaTransferScreen.mjs +2 -2
  96. package/dist/esm/screens/Funding/AwaitingExternalTransferScreen.mjs +1 -1
  97. package/dist/esm/screens/Funding/AwaitingSolToEvmBridgingScreen.mjs +2 -2
  98. package/dist/esm/screens/Funding/BridgeNetworkSelectionView.mjs +1 -1
  99. package/dist/esm/screens/Funding/FundingEditAmountScreen.mjs +1 -1
  100. package/dist/esm/screens/Funding/ManualTransferScreen.mjs +1 -1
  101. package/dist/esm/screens/Funding/TransferFromWalletScreen.mjs +1 -1
  102. package/dist/esm/screens/Funding/styles.mjs +1 -1
  103. package/dist/esm/screens/LandingScreen/LandingScreenView.mjs +1 -1
  104. package/dist/esm/screens/LandingScreen/WalletButtonList.mjs +1 -1
  105. package/dist/esm/solana.mjs +1 -1
  106. package/dist/esm/ui.mjs +1 -1
  107. package/package.json +5 -5
  108. package/dist/cjs/connectors/NullConnector.js +0 -1
  109. package/dist/cjs/privy-provider-DLQmz_VR.js +0 -2
  110. package/dist/esm/connectors/NullConnector.mjs +0 -1
  111. package/dist/esm/privy-provider-DovwooOo.mjs +0 -2
@@ -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 k}from"../../hooks/useWallets.mjs";import{ERC20_TRANSFER_ABI_STUB as x}from"../../lib/erc20/actions/abis/transfer.mjs";import{formatErc20TokenAmount as A}from"../../lib/erc20/formatErc20TokenAmount.mjs";import{getDollarsFromStringFloat as E,sumWeiQuantitiesToHexString as F,getDollarsFromWei as B,getNativeCurrencyFromWei as M}from"../../lib/ethers.mjs";import{toDisplayName as L}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 $}from"../../lib/wallets/actions/getErc20Balance.mjs";import{getJsonRpcEndpointFromChain as H,formatWalletAddress as q}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"../../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,amount:No,connectedWalletAddress:ko}=K.funding,xo=K.funding.address,Ao=K.funding.erc20Address;r((()=>{Ao&&!To&&co(Error("Unable to fetch token details"))}),[]);let Eo=!!Ao&&!!To,Fo=Eo?BigInt(parseFloat(No)*10**To.decimals):s(No),Bo=ko?oo.find((({address:o})=>o===ko)):oo[0],[Mo,Lo]=i(null);r((()=>{(async()=>{if(!Bo)return;let o=await Bo.getEthereumProvider();Lo(a({account:Bo.address,transport:c(o)}).extend(m))})().catch(console.error)}),[Bo]);let[Po,Ro]=i(0n);r((()=>{l({chain:So,transport:p(H(So,G,V))}).getBalance({address:xo}).then(Ro).catch(console.error)}),[]);let[Uo,Wo]=i(0n);r((()=>{Eo&&$({chain:So,address:xo,appId:V,rpcConfig:G,erc20Address:Ao}).then((o=>Wo(o.balance))).catch(console.error)}),[]);let{tokenPrice:_o}=N(So.id),[$o,Ho]=i({to:xo,chain:So,value:Fo,data:void 0});r((()=>{(async()=>{let o,e;if(!Mo||!Bo||go||bo)return;fo(!0);let t=l({chain:$o.chain,transport:p(H($o.chain,G,V))});if(Eo&&!$o.data)return await t.simulateContract({address:Ao,chain:$o.chain,abi:x,functionName:"transfer",args:[xo,Fo],account:Bo.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:x,functionName:"transfer",args:[xo,Fo]}),value:"0x0"})):(fo(!1),void so(!0));try{o=await t.prepareTransactionRequest({account:Bo.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 ${q(Bo.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:Bo.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||!Bo)return;let o=b(J.chains).filter((o=>o.id!==So.id&&!!o.testnet==!!So.testnet));Eo&&o.unshift(So);let e=await _({chains:o,address:Bo.address,appId:V,rpcConfig:G}),t=Eo?e.filter((o=>o.balance>0n)):e.filter((o=>o.balance>Fo));if(t.length<1)return void co(new I(`Wallet ${q(Bo.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:Fo.toString(),user:Bo.address,recipient:xo,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 ${q(Bo.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 ${q(Bo.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 qo=Bo?L(Bo.walletClientType,Bo.connectorType,Bo.walletClientType)||"wallet":null,Oo=!Eo&&_o?E(K?.funding?.amount??"0",_o):void 0,zo=Eo?no:F([no,Fo]),Do=zo&&_o?B(zo,_o):void 0,Go=zo?M(zo,"ETH"):void 0,Vo=no&&_o?B(no,_o):void 0,Qo=no?M(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 ${No} ${Eo?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 Xo=Eo?`${A({amount:Uo,decimals:To.decimals})} ${To.symbol}`:M(Po,So.nativeCurrency.symbol,3,!0),Yo=po[ho];return po.length>1&&Yo?/*#__PURE__*/t(z,{displayName:qo,configuredFundingChain:So,formattedBalance:Xo,fundingAmount:No,fundingCurrency:Eo?To.symbol:So.nativeCurrency.symbol,fundingAmountInUsd:Oo,options:po,selectedOption:Yo,isPreparing:go,isSubmitting:bo,errorMessage:mo,onSubmit:()=>{Ho({to:Yo.bridgeTx.to,data:Yo.bridgeTx.data,value:Yo.bridgeTx.value,chain:Yo.chain})},onSelect:o=>{o!==ho&&(lo(null),jo(o))}}):eo&&no&&Bo&&K?.funding?/*#__PURE__*/t(D,{wallet:Bo,displayName:qo,addressToFund:xo,isBridging:vo,isErc20Flow:Eo,totalPriceInUsd:Do,totalPriceInNativeCurrency:Go,gasPriceInUsd:Vo,gasPriceInNativeCurrency:Qo,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 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}):
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,2 +1,2 @@
1
- import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import{ModalScreen as n}from"../index.mjs";import r from"@heroicons/react/24/outline/CheckCircleIcon";import{useRef as i,useState as s,useEffect as a}from"react";import{parseEther as m}from"viem";import{RefactorSpacerTop as c,CenteredItemWithGap as l,RefactorSpacerBottom as p}from"../../components/Layouts.mjs";import{BlobbyFooter as d}from"../../components/ModalFooter.mjs";import{CenteredScreenHeader as u}from"../../components/ScreenHeader.mjs";import h from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as j}from"../../components/primitives/NeutralSpinner/index.mjs";import{DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS as f}from"../../constants.mjs";import{PrivyClientError as g,PrivyErrorCode as v}from"../../errors.mjs";import{usePrivyInternal as w}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{toDisplayName as I}from"../../lib/external-wallets/displayHelpers.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as b}from"../../lib/funding/analytics.mjs";import{getQuote as T,toGetQuoteInput as A,toSolanaTransactionRequestInfoFromQuote as S}from"../../lib/funding/reservoir.mjs";import{RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID as C,RELAY_SOLANA_USDC_TOKEN_ID as N,RELAY_SOLANA_NATIVE_CURRENCY_ID as k,getSolanaRpcEndpointForCluster as E}from"../../lib/solana/index.mjs";import{formatSolanaWalletAddress as F}from"../../utils/index.mjs";import{TransferOrBridgeLoadingScreen as x}from"./TransferOrBridgeLoadingScreen.mjs";import{useSolanaWallets as L}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"../../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"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"ofetch";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/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"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";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"../../client/user.mjs";import"@ethersproject/address";import"../../hooks/privy-context.mjs";import"../../hooks/useWallets.mjs";function R(){let{closePrivyModal:R,createAnalyticsEvent:U}=w(),{navigate:M,setModalData:_,app:W,data:P}=y(),{wallets:B}=L(),O=i(!1),[$,D]=s(!1),[H,q]=s(!1),[z,V]=s(null);if(!P?.funding||"ethereum"!==P.funding.chainType)throw Error("Invalid funding data");let{amount:G,connectedWalletAddress:K,chain:Q,cluster:X,isUSDC:Y}=P.funding,Z=P.funding.address,J=P.funding.erc20Address,oo=P.funding.isUSDC?"USDC":Q.nativeCurrency.symbol,eo=X??{name:"mainnet-beta"},to=K?B.find((({address:o})=>o===K)):B[0];if(a((()=>{(async function(){if(!to||!Q||O.current)return;O.current=!0,Q?.testnet&&console.warn("Solana testnets are not supported for bridging");let o=Y?1e6*parseFloat(G):m(G),e=await T({isTestnet:!!Q.testnet,input:A({amount:o.toString(),user:to.address,recipient:Z,destinationChainId:Q.id,originChainId:C,originCurrency:Y?N:k,destinationCurrency:Y?J:void 0})}).catch(console.error);if(!e)return void V(new g(`Unable to fetch quotes for bridging. Wallet ${F(to.address)} does not have enough funds.`,void 0,v.INSUFFICIENT_BALANCE));let t=await S(e);if(t)try{let{Connection:n,PublicKey:r,TransactionMessage:i,VersionedTransaction:s}=await import("@solana/web3.js"),a=new n(E(eo)),m=await Promise.all((t.addressLookupTableAddresses??[]).map((async o=>a.getAddressLookupTable(o).then((o=>o.value))))),{blockhash:c}=await a.getLatestBlockhash(),l=new s(new i({payerKey:new r(to.address),instructions:t.instructions,recentBlockhash:c}).compileToV0Message(m));D(!0);let p=await a.simulateTransaction(l);if(p.value.err)return p.value.logs?.find((o=>/insufficient (lamports|funds)/gi.test(o)))?void V(new g(`Wallet ${F(to?.address)} does not have enough funds. ${e.details.currencyIn.amountFormatted} ${oo} are needed to complete the transaction.`,void 0,v.INSUFFICIENT_BALANCE)):(console.error("Transaction failed:",p.value.err),void V(new g("Something went wrong",void 0,v.TRANSACTION_FAILURE)));let d=await to.sendTransaction(l,a),u=await a.confirmTransaction(d);if(u.value.err)return console.error("Transaction failed:",u.value.err),void V(new g("Something went wrong",void 0,v.TRANSACTION_FAILURE));U({eventName:b,payload:{provider:"external",status:"success",address:to.address,chainId:Q.id,value:o.toString(),txHash:d}}),q(!0)}catch(o){if(console.error(o),/user rejected the request/gi.test(o.message||""))return void V(new g("Transaction was rejected by the user",void 0,v.TRANSACTION_FAILURE));V(new g("Something went wrong",void 0,v.TRANSACTION_FAILURE))}else V(new g(`Unable to select bridge option from quotes. Wallet ${F(to.address)} does not have enough funds.`,void 0,v.INSUFFICIENT_BALANCE))})().catch(console.error)}),[]),a((()=>{if(!H)return;let o=setTimeout(R,f);return()=>clearTimeout(o)}),[H]),a((()=>{if(!z)return;let o={error:z,previousScreen:n.FUNDING_TRANSFER_FROM_WALLET_SCREEN};_({funding:P?.funding,sendTransaction:P?.sendTransaction,errorModalData:o}),M(n.ERROR_SCREEN,!1)}),[z]),H/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/t(h,{}),/*#__PURE__*/t(c,{}),/*#__PURE__*/o(l,{children:[/*#__PURE__*/t(r,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/t(u,{title:"Success!",description:`You’ve successfully added ${G} ${oo} to your ${W.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/t(p,{}),/*#__PURE__*/t(d,{})]});if($&&to){let o=to?I(to.walletClientType,to.connectorType,to.walletClientType)||"wallet":null;/*#__PURE__*/return t(x,{wallet:to,displayName:o,addressToFund:Z,isBridging:$,isErc20Flow:!1,chainId:Q.id,chainName:Q.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0})}/*#__PURE__*/
2
- return o(e,{children:[/*#__PURE__*/t(h,{}),/*#__PURE__*/t(j,{}),/*#__PURE__*/t("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/t(d,{})]})}export{R as AwaitingSolToEvmBridgingScreen};
1
+ import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import{ModalScreen as n}from"../index.mjs";import r from"@heroicons/react/24/outline/CheckCircleIcon";import{useRef as i,useState as s,useEffect as m}from"react";import{parseEther as a}from"viem";import{RefactorSpacerTop as c,CenteredItemWithGap as l,RefactorSpacerBottom as p}from"../../components/Layouts.mjs";import{BlobbyFooter as d}from"../../components/ModalFooter.mjs";import{CenteredScreenHeader as u}from"../../components/ScreenHeader.mjs";import j from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as h}from"../../components/primitives/NeutralSpinner/index.mjs";import{DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS as f}from"../../constants.mjs";import{PrivyClientError as g,PrivyErrorCode as v}from"../../errors.mjs";import{usePrivyInternal as y}from"../../hooks/internal-context.mjs";import{usePrivyModal as w}from"../../hooks/modal-context.mjs";import{toDisplayName as I}from"../../lib/external-wallets/displayHelpers.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as b}from"../../lib/funding/analytics.mjs";import{getQuote as S,toGetQuoteInput as T}from"../../lib/funding/reservoir.mjs";import{RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID as C,RELAY_SOLANA_USDC_TOKEN_ID as A,RELAY_SOLANA_NATIVE_CURRENCY_ID as N}from"../../lib/solana/index.mjs";import{usePlugins as F}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as x}from"../../plugins/solana-funding/id.mjs";import{formatSolanaWalletAddress as E}from"../../utils/index.mjs";import{TransferOrBridgeLoadingScreen as R}from"./TransferOrBridgeLoadingScreen.mjs";import{useSolanaWallets as k}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"../../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"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"ofetch";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/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"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";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"../../client/user.mjs";import"@ethersproject/address";import"../../hooks/privy-context.mjs";import"../../hooks/useWallets.mjs";function U(){let{closePrivyModal:U,createAnalyticsEvent:L}=y(),{navigate:_,setModalData:M,app:W,data:P}=w(),{wallets:O}=k(),$=i(!1),B=F(),[D,H]=s(!1),[q,z]=s(!1),[G,Q]=s(null);if(!P?.funding||"ethereum"!==P.funding.chainType)throw Error("Invalid funding data");let{amount:V,connectedWalletAddress:X,chain:Y,cluster:Z,isUSDC:J}=P.funding,K=P.funding.address,oo=P.funding.erc20Address,eo=P.funding.isUSDC?"USDC":Y.nativeCurrency.symbol,to=Z??{name:"mainnet-beta"},no=X?O.find((({address:o})=>o===X)):O[0];if(m((()=>{(async function(){if(!no||!Y||$.current)return;let o=B(x);if(!o)return void Q(new g("Unable to solana plugin"));$.current=!0,Y?.testnet&&console.warn("Solana testnets are not supported for bridging");let e=J?1e6*parseFloat(V):a(V),t=await S({isTestnet:!!Y.testnet,input:T({amount:e.toString(),user:no.address,recipient:K,destinationChainId:Y.id,originChainId:C,originCurrency:J?A:N,destinationCurrency:J?oo:void 0})}).catch(console.error);if(!t)return void Q(new g(`Unable to fetch quotes for bridging. Wallet ${E(no.address)} does not have enough funds.`,void 0,v.INSUFFICIENT_BALANCE));let n=await o.createBridgeTransactionFromRelayQuote({quote:t,from:no.address,cluster:to});if(n)try{H(!0);let{connection:o,transaction:r}=n,i=await o.simulateTransaction(r);if(i.value.err)return i.value.logs?.find((o=>/insufficient (lamports|funds)/gi.test(o)))?void Q(new g(`Wallet ${E(no?.address)} does not have enough funds. ${t.details.currencyIn.amountFormatted} ${eo} are needed to complete the transaction.`,void 0,v.INSUFFICIENT_BALANCE)):(console.error("Transaction failed:",i.value.err),void Q(new g("Something went wrong",void 0,v.TRANSACTION_FAILURE)));let s=await no.sendTransaction(r,o),m=await o.confirmTransaction(s);if(m.value.err)return console.error("Transaction failed:",m.value.err),void Q(new g("Something went wrong",void 0,v.TRANSACTION_FAILURE));L({eventName:b,payload:{provider:"external",status:"success",address:no.address,chainId:Y.id,value:e.toString(),txHash:s}}),z(!0)}catch(o){if(console.error(o),/user rejected the request/gi.test(o.message||""))return void Q(new g("Transaction was rejected by the user",void 0,v.TRANSACTION_FAILURE));Q(new g("Something went wrong",void 0,v.TRANSACTION_FAILURE))}else Q(new g(`Unable to select bridge option from quotes. Wallet ${E(no.address)} does not have enough funds.`,void 0,v.INSUFFICIENT_BALANCE))})().catch(console.error)}),[]),m((()=>{if(!q)return;let o=setTimeout(U,f);return()=>clearTimeout(o)}),[q]),m((()=>{if(!G)return;let o={error:G,previousScreen:n.FUNDING_TRANSFER_FROM_WALLET_SCREEN};M({funding:P?.funding,sendTransaction:P?.sendTransaction,errorModalData:o}),_(n.ERROR_SCREEN,!1)}),[G]),q/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/t(j,{}),/*#__PURE__*/t(c,{}),/*#__PURE__*/o(l,{children:[/*#__PURE__*/t(r,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/t(u,{title:"Success!",description:`You’ve successfully added ${V} ${eo} to your ${W.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/t(p,{}),/*#__PURE__*/t(d,{})]});if(D&&no){let o=no?I(no.walletClientType,no.connectorType,no.walletClientType)||"wallet":null;/*#__PURE__*/return t(R,{wallet:no,displayName:o,addressToFund:K,isBridging:D,isErc20Flow:!1,chainId:Y.id,chainName:Y.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0})}/*#__PURE__*/
2
+ return o(e,{children:[/*#__PURE__*/t(j,{}),/*#__PURE__*/t(h,{}),/*#__PURE__*/t("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/t(d,{})]})}export{U as AwaitingSolToEvmBridgingScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as n,jsx as i}from"react/jsx-runtime";import{PrimaryButtonWithoutGray as t}from"../../components/Button.mjs";import{RefactorSpacerTop as r,RefactorSpacerBottom as e}from"../../components/Layouts.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import s from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{Row as c}from"../../components/ui/layout/Row.mjs";import{ErrorMessage as p}from"../../components/ui/typography/ErrorMessage.mjs";import{LabelSm as a}from"../../components/ui/typography/LabelSm.mjs";import{Subtitle as l}from"../../components/ui/typography/Subtitle.mjs";import{Title as h}from"../../components/ui/typography/Title.mjs";import{NetworkBalanceCard as j}from"../../components/ui/wallet/NetworkBalanceCard.mjs";import{NetworkSelectorPanel as u}from"../../components/ui/wallet/NetworkSelectorPanel.mjs";import{getNativeCurrencyFromWei as d}from"../../lib/ethers.mjs";import{FundingQuantityWrapper as g,FundingQuantity as f,FundingAmount as y,FundingCurrency as b,FundingDollars as k}from"./styles.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"../../hooks/modal-context.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"../../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"../../ethers-Cz-frLvN.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";const C=({displayName:C,errorMessage:w,configuredFundingChain:S,formattedBalance:I,fundingAmount:v,fundingCurrency:x,fundingAmountInUsd:T,options:A,selectedOption:M,isPreparing:L,isSubmitting:B,onSubmit:F,onSelect:P})=>/*#__PURE__*/o(n,{children:[/*#__PURE__*/i(s,{}),/*#__PURE__*/i(r,{}),/*#__PURE__*/i(h,{children:"Transfer from another network"}),/*#__PURE__*/o(l,{children:["You need more funds on the ",S.name," network. Bridge from another blockchain network."]}),/*#__PURE__*/o(g,{style:{marginTop:"2rem"},children:[/*#__PURE__*/o(f,{children:[/*#__PURE__*/i(y,{children:v}),/*#__PURE__*/i(b,{children:x})]}),T&&/*#__PURE__*/i(k,{children:T})]}),/*#__PURE__*/i(c,{style:{marginTop:"1.5rem"},children:/*#__PURE__*/i(a,{children:"From"})}),/*#__PURE__*/i(u,{selected:{chain:M.chain,balance:d(M.balance,M.chain.nativeCurrency.symbol,3,!0)},options:A.map((({chain:o,balance:n})=>({chain:o,balance:d(n,o.nativeCurrency.symbol,3,!0)}))),onSelect:P}),/*#__PURE__*/i(c,{children:/*#__PURE__*/i(a,{style:{marginTop:"1.5rem"},children:"To"})}),/*#__PURE__*/i(j,{chain:S,balance:I}),/*#__PURE__*/i(p,{style:{marginTop:"1rem"},children:w}),/*#__PURE__*/o(t,{style:{marginTop:"1rem"},loading:B||L,disabled:L||B,onClick:F,children:["Confirm with ",C]}),/*#__PURE__*/i(e,{}),/*#__PURE__*/i(m,{})]});export{C as BridgeNetworkSelectionView};
1
+ import{jsxs as o,Fragment as n,jsx as t}from"react/jsx-runtime";import{useRef as i}from"react";import{PrimaryButtonWithoutGray as e}from"../../components/Button.mjs";import{RefactorSpacerTop as r,RefactorSpacerBottom as m}from"../../components/Layouts.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import c from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{Row as p}from"../../components/ui/layout/Row.mjs";import{ErrorMessage as a}from"../../components/ui/typography/ErrorMessage.mjs";import{LabelSm as l}from"../../components/ui/typography/LabelSm.mjs";import{Subtitle as h}from"../../components/ui/typography/Subtitle.mjs";import{Title as j}from"../../components/ui/typography/Title.mjs";import{NetworkBalanceCard as u}from"../../components/ui/wallet/NetworkBalanceCard.mjs";import{NetworkSelectorPanel as d}from"../../components/ui/wallet/NetworkSelectorPanel.mjs";import{getNativeCurrencyFromWei as g}from"../../lib/ethers.mjs";import{FundingQuantityWrapper as f,FundingQuantity as y,FundingAmountInput as b,FundingCurrency as k,FundingDollars as C}from"./styles.mjs";import{o as w}from"../../formatters--YjgN2Dw.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"../../ethers-Cz-frLvN.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"viem";const S=({displayName:S,errorMessage:v,configuredFundingChain:I,formattedBalance:x,fundingAmount:A,fundingCurrency:T,fundingAmountInUsd:M,options:L,selectedOption:B,isPreparing:F,isSubmitting:P,addressToFund:z,fundingWalletAddress:N,onSubmit:H,onSelect:W,onAmountChange:O})=>{let R=i(null);/*#__PURE__*/return o(n,{children:[/*#__PURE__*/t(c,{}),/*#__PURE__*/t(r,{}),/*#__PURE__*/t(j,{children:"Transfer from another network"}),/*#__PURE__*/o(h,{children:["You need more funds on the ",I.name," network. Bridge from another blockchain network."]}),/*#__PURE__*/o(f,{style:{marginTop:"2rem"},children:[/*#__PURE__*/o(y,{onClick:()=>R.current?.focus(),children:[/*#__PURE__*/t(b,{ref:R,value:A,style:{fontSize:"26px !important"},onChange:o=>{let n=o.target.value;/^[0-9.]*$/.test(n)&&n.split(".").length-1<=1&&O(n)}}),/*#__PURE__*/t(k,{children:T})]}),M&&/*#__PURE__*/t(C,{children:M})]}),/*#__PURE__*/o(p,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/t(l,{children:"From"}),/*#__PURE__*/t(l,{children:w(N)})]}),/*#__PURE__*/t(d,{selected:{chain:B.chain,balance:g(B.balance,B.chain.nativeCurrency.symbol,3,!0)},options:L.map((({chain:o,balance:n})=>({chain:o,balance:g(n,o.nativeCurrency.symbol,3,!0)}))),onSelect:W}),/*#__PURE__*/o(p,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/t(l,{children:"To"}),/*#__PURE__*/t(l,{children:w(z)})]}),/*#__PURE__*/t(u,{chain:I,balance:x}),/*#__PURE__*/t(a,{style:{marginTop:"1rem"},children:v}),/*#__PURE__*/o(e,{style:{marginTop:"1rem"},loading:P||F,disabled:F||P,onClick:H,children:["Confirm with ",S]}),/*#__PURE__*/t(m,{}),/*#__PURE__*/t(s,{})]})};export{S as BridgeNetworkSelectionView};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/PencilIcon";import{useRef as e,useState as i,useEffect as s}from"react";import{PrimaryButtonWithoutGray as c}from"../../components/Button.mjs";import{FlexContainer as m}from"../../components/Layouts.mjs";import{BlobbyFooter as a}from"../../components/ModalFooter.mjs";import p from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{NeutralSpinner as l}from"../../components/primitives/NeutralSpinner/index.mjs";import{Title as h}from"../../components/ui/typography/Title.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{useGetTokenPrice as d}from"../../hooks/useGetTokenPrice.mjs";import{getDollarsFromStringFloat as u}from"../../lib/ethers.mjs";import{LinkButton as f}from"../LinkPasskeyScreen.mjs";import{FundingQuantityWrapper as g,FundingQuantity as y,FundingAmountInput as k,FundingCurrency as C,FundingAmountEditButton as b,FundingDollars as x}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"../../ethers-Cz-frLvN.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=()=>{let{data:v,setModalData:I}=j(),S=v?.funding,T="solana"===S.chainType,A=e(null),[M,P]=i(!1),{tokenPrice:w}=d(T?"solana":S.chain.id);s((()=>{A.current&&A.current.style.setProperty("--funding-input-length",Math.max(S.amount.length,1).toString())}),[S.amount,A.current]);let L=T?void 0:S,F=!(!L?.erc20Address||L?.erc20ContractInfo),z=T?"SOL":S.erc20Address?S.erc20ContractInfo?.symbol:S.chain.nativeCurrency.symbol||"ETH",H=parseFloat(S.amount),B=!isNaN(H)&&H>0,E=w?u(S.amount,w):void 0;/*#__PURE__*/return o(t,{children:[/*#__PURE__*/n(p,{}),/*#__PURE__*/n(h,{children:"Confirm or edit amount"}),/*#__PURE__*/o(m,{style:{marginTop:"32px"},children:[/*#__PURE__*/n(g,{children:F?/*#__PURE__*/n(l,{size:"50px"}):/*#__PURE__*/o(t,{children:[/*#__PURE__*/o(y,{onClick:()=>A.current?.focus(),children:[/*#__PURE__*/n(k,{ref:A,value:S.amount,onFocus:()=>P(!0),onBlur:()=>P(!1),onChange:o=>{let t=o.target.value;/^[0-9.]*$/.test(t)&&t.split(".").length-1<=1&&I({...v,funding:{...S,amount:t}})}}),/*#__PURE__*/n(C,{children:z}),!M&&/*#__PURE__*/n(b,{children:/*#__PURE__*/n(r,{width:12,height:12})})]}),!L?.erc20Address&&/*#__PURE__*/n(x,{children:E&&B?E:""})]})}),/*#__PURE__*/n(f,{onClick:()=>{A.current?.focus()},children:"Edit amount"}),/*#__PURE__*/n(c,{style:{marginTop:"1rem"},disabled:!B,onClick:S.onContinueWithExternalWallet,children:"Continue"})]}),/*#__PURE__*/n(a,{})]})};export{v as FundingAmountEditScreen};
1
+ import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import{useRef as r}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,FundingAmountInput 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"../../ethers-Cz-frLvN.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";const y=()=>{let{data:y,setModalData:k}=p(),C=y?.funding,b="solana"===C.chainType,x=r(null),{tokenPrice:v}=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=v?h(C.amount,v):void 0;/*#__PURE__*/return o(t,{children:[/*#__PURE__*/n(m,{}),/*#__PURE__*/n(a,{children:"Confirm or edit amount"}),/*#__PURE__*/o(e,{style:{marginTop:"32px"},children:[/*#__PURE__*/n(j,{children:S?/*#__PURE__*/n(c,{size:"50px"}):/*#__PURE__*/o(t,{children:[/*#__PURE__*/o(d,{onClick:()=>x.current?.focus(),children:[/*#__PURE__*/n(u,{ref:x,style:{fontSize:"42px !important"},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__*/n(f,{children:T})]}),!I?.erc20Address&&/*#__PURE__*/n(g,{children:L&&M?`${L} USD`:""})]})}),/*#__PURE__*/n(i,{style:{marginTop:"1rem"},disabled:!M,onClick:C.onContinueWithExternalWallet,children:"Continue"})]}),/*#__PURE__*/n(s,{})]})};export{y as FundingAmountEditScreen};
@@ -1 +1 @@
1
- import{jsx as o,Fragment as e,jsxs as n}from"react/jsx-runtime";import{useState as t,useEffect as r,useMemo as s}from"react";import{PrimaryButton as i}from"../../components/Button.mjs";import{FlexContainer as a}from"../../components/Layouts.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import{QrCode as c}from"../../components/QrCode.mjs";import p from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{InfoBanner as l}from"../../components/ui/banners/InfoBanner.mjs";import{Subtitle as d}from"../../components/ui/typography/Subtitle.mjs";import{Title as u}from"../../components/ui/typography/Title.mjs";import{WalletInfoCard as h}from"../../components/ui/wallet/WalletInfoCard.mjs";import{useAppConfig as j}from"../../configuration/context.mjs";import{usePrivyInternal as f}from"../../hooks/internal-context.mjs";import{usePrivyModal as g}from"../../hooks/modal-context.mjs";import{useWalletBalance as y}from"../../hooks/useWalletBalance.mjs";import{useWallets as v}from"../../hooks/useWallets.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as b}from"../../lib/funding/analytics.mjs";import{getSolanaRpcEndpointForCluster as C}from"../../lib/solana/index.mjs";import{getNativeCurrencyFromLamports as I}from"../../lib/solana/transaction.mjs";import{getErc20Balance as S}from"../../lib/wallets/actions/getErc20Balance.mjs";import{Blobby as w}from"../../svg/blobby.mjs";import{formatWalletAddress as k}from"../../utils/index.mjs";import{ModalScreen as T}from"../index.mjs";import{useSolanaWallets as E}from"../../hooks/useSolanaWallets.mjs";import{formatEther as x,formatUnits as A}from"viem";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"../../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"../../components/PrefetchedImage.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"../../utils/buffer/readBigInt64LE.mjs";import"../../client/user.mjs";import"@ethersproject/address";import"../../hooks/privy-context.mjs";function M({amount:o,decimals:e}){return A(BigInt(o),e)}const B=()=>{let{wallets:w}=v(),{wallets:A}=E(),{data:B,setModalData:N,navigate:R,lastScreen:D}=g(),{rpcConfig:O,appId:W,createAnalyticsEvent:q,closePrivyModal:z}=f(),H=j(),[P,$]=t(void 0),[_,Q]=t(!1),U=B?.funding,{reloadBalance:X}=y({rpcConfig:O,appId:W,address:"ethereum"===U.chainType?U.address:void 0,chain:"ethereum"===U.chainType?U.chain:void 0}),G="solana"===U.chainType,K=G?"SOL":U.erc20Address?U.erc20ContractInfo?.symbol:U.chain.nativeCurrency.symbol,Y=G?A.find((({address:o})=>o===U.address)):w.find((({address:o})=>k(o)===k(U.address)));if(!U)return N({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:D||T.FUNDING_METHOD_SELECTION_SCREEN},funding:B?.funding,sendTransaction:B?.sendTransaction}),R(T.ERROR_SCREEN),/*#__PURE__*/o(e,{});r((()=>{let o=G?async function(){if("solana"!==U.chainType)return;let{Connection:o,PublicKey:e}=await import("@solana/web3.js");new o(C(U.cluster)).getBalance(new e(U.address)).then((o=>{let e=BigInt(o);P&&e>P&&(Q(!0),q({eventName:b,payload:{provider:"manual",status:"success",chainType:"solana",address:Y?.address,value:(e-P).toString()}})),$(e)}))}:async function(){"ethereum"===U.chainType&&(async()=>{if(!U.erc20Address)return await X()??BigInt(0);{let{balance:o}=await S({chain:U.chain,address:U.address,erc20Address:U.erc20Address,rpcConfig:O,appId:W});return o}})().then((o=>{P&&o>P&&(Q(!0),q({eventName:b,payload:{provider:"manual",status:"success",chainType:"ethereum",address:Y?.address,value:(o-P).toString()}})),$(o)})).catch((()=>$(void 0)))},e=setInterval(o,2e3);return o(),()=>clearInterval(e)}),[P]);let J=s((()=>void 0!==P&&P>=parseFloat(U.amount)),[P,U.amount]),V=s((()=>null==P?"":U.isUSDC?M({amount:P,decimals:6}):G?I(P,3,!0,!0):null!=U.erc20ContractInfo?.decimals?M({amount:P,decimals:U.erc20ContractInfo.decimals}):function({wei:o,precision:e=3}){return parseFloat(x(o)).toFixed(e).replace(/0+$/,"").replace(/\.$/,"")}({wei:P})),[P,G,U]),Z="ethereum"===U.chainType?U.chain.name:F[U.cluster.name];/*#__PURE__*/return n(e,{children:[/*#__PURE__*/o(p,{}),/*#__PURE__*/n(u,{children:["Receive ",U.amount," ",K]}),/*#__PURE__*/n(d,{children:["Scan this code or copy your wallet address to receive funds on ",Z,"."]}),/*#__PURE__*/n(a,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/o(c,{url:U.address,size:200,squareLogoElement:L}),/*#__PURE__*/n(l,{theme:H.appearance.palette.colorScheme,children:["Make sure to send funds on ",Z,"."]}),/*#__PURE__*/o(h,{title:"Your wallet",errMsg:void 0,showIcon:!0,isLoading:!U||void 0===P,isPulsing:!J,balance:`${V} ${K}`,address:U.address,statusColor:J?"green":"gray"}),_&&/*#__PURE__*/o(i,{onClick:()=>z({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/o(m,{})]})};let L=({...e})=>/*#__PURE__*/o(w,{color:"black",...e}),F={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};export{B as ManualTransferScreen};
1
+ import{jsx as o,Fragment as e,jsxs as n}from"react/jsx-runtime";import{useState as t,useEffect as r,useMemo as s}from"react";import{PrimaryButton as i}from"../../components/Button.mjs";import{FlexContainer as a}from"../../components/Layouts.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import{QrCode as c}from"../../components/QrCode.mjs";import p from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{InfoBanner as l}from"../../components/ui/banners/InfoBanner.mjs";import{Subtitle as d}from"../../components/ui/typography/Subtitle.mjs";import{Title as u}from"../../components/ui/typography/Title.mjs";import{WalletInfoCard as h}from"../../components/ui/wallet/WalletInfoCard.mjs";import{useAppConfig as j}from"../../configuration/context.mjs";import{usePrivyInternal as f}from"../../hooks/internal-context.mjs";import{usePrivyModal as g}from"../../hooks/modal-context.mjs";import{useWalletBalance as y}from"../../hooks/useWalletBalance.mjs";import{useWallets as v}from"../../hooks/useWallets.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as b}from"../../lib/funding/analytics.mjs";import{getNativeCurrencyFromLamports as C}from"../../lib/solana/transaction.mjs";import{getErc20Balance as I}from"../../lib/wallets/actions/getErc20Balance.mjs";import{usePlugins as S}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as k}from"../../plugins/solana-funding/id.mjs";import{Blobby as w}from"../../svg/blobby.mjs";import{formatWalletAddress as T}from"../../utils/index.mjs";import{ModalScreen as E}from"../index.mjs";import{useSolanaWallets as x}from"../../hooks/useSolanaWallets.mjs";import{a as A,e as M}from"../../formatters--YjgN2Dw.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:w}=v(),{wallets:L}=x(),{data:R,setModalData:D,navigate:F,lastScreen:O}=g(),{rpcConfig:P,appId:W,createAnalyticsEvent:q,closePrivyModal:z}=f(),H=j(),[_,U]=t(void 0),[Q,X]=t(!1),$=S(),G=R?.funding,{reloadBalance:Y}=y({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)):w.find((({address:o})=>T(o)===T(G.address)));if(!G)return D({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:O||E.FUNDING_METHOD_SELECTION_SCREEN},funding:R?.funding,sendTransaction:R?.sendTransaction}),F(E.ERROR_SCREEN),/*#__PURE__*/o(e,{});r((()=>{let o=J?async function(){if("solana"!==G.chainType)return;let o=$(k);o?o.getBalance({address:G.address,cluster:G.cluster}).then((o=>{let e=BigInt(o);_&&e>_&&(X(!0),q({eventName:b,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 I({chain:G.chain,address:G.address,erc20Address:G.erc20Address,rpcConfig:P,appId:W});return o}})().then((o=>{_&&o>_&&(X(!0),q({eventName:b,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?A({amount:_,decimals:6}):J?C(_,3,!0,!0):null!=G.erc20ContractInfo?.decimals?A({amount:_,decimals:G.erc20ContractInfo.decimals}):M({wei:_})),[_,J,G]),eo="ethereum"===G.chainType?G.chain.name:N[G.cluster.name];/*#__PURE__*/return n(e,{children:[/*#__PURE__*/o(p,{}),/*#__PURE__*/n(u,{children:["Receive ",G.amount," ",K]}),/*#__PURE__*/n(d,{children:["Scan this code or copy your wallet address to receive funds on ",eo,"."]}),/*#__PURE__*/n(a,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/o(c,{url:G.address,size:200,squareLogoElement:B}),/*#__PURE__*/n(l,{theme:H.appearance.palette.colorScheme,children:["Make sure to send funds on ",eo,"."]}),/*#__PURE__*/o(h,{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(i,{onClick:()=>z({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/o(m,{})]})};let B=({...e})=>/*#__PURE__*/o(w,{color:"black",...e}),N={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};export{L as ManualTransferScreen};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useEffect as i}from"react";import{BlobbyFooter as r}from"../../components/ModalFooter.mjs";import{ModalHeader as s}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as m}from"../../components/ScreenHeader.mjs";import a from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{Chip as c}from"../../components/ui/chips/Chip.mjs";import{Subtitle as l}from"../../components/ui/typography/Subtitle.mjs";import{usePrivyInternal as p}from"../../hooks/internal-context.mjs";import{usePrivyModal as h}from"../../hooks/modal-context.mjs";import{useWallets as d}from"../../hooks/useWallets.mjs";import{WalletOverflowButton as j}from"../LandingScreen/WalletOverflowButton.mjs";import{ModalScreen as u}from"../index.mjs";import{toWalletButtons as g}from"../LandingScreen/WalletButtonList.mjs";import{LoginMethodContainer as f,LoginMethodButton as y}from"../LandingScreen/styles.mjs";import{IconContainer as C}from"./styles.mjs";import{useSolanaWallets as w}from"../../hooks/useSolanaWallets.mjs";import"styled-components";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"../../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/ui/animation/LoadingSkeleton.mjs";import"../../components/PrefetchedImage.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/WalletIcon";import"../LandingScreen/EmptyWalletView.mjs";import"../LandingScreen/WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../connectors/get-legacy-injected-providers.mjs";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"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.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"../../errors.mjs";import"ofetch";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../client/user.mjs";import"@ethersproject/address";const T=()=>{let c,{connectors:y}=p(),{app:C,setModalData:T,data:I,navigate:N}=h(),{wallets:_}=d(),{wallets:E}=w(),[b,S]=n("default"),k="solana"===I?.funding?.chainType,A=!!I?.funding?.crossChainBridgingEnabled;c="ethereum"===I?.funding?.chainType?I.funding.erc20Address&&!I.funding.isUSDC?"ethereum-only":A&&!I.funding.chain.testnet?"ethereum-and-solana":"ethereum-only":A?"ethereum-and-solana":"solana-only";let L=_.filter((e=>"privy"!==e.walletClientType)),W=L.map((e=>e.walletClientType)),x=E.filter((e=>"privy"!==e.walletClientType)),R=x.map((e=>e.walletClientType)),M=[],F={...I.funding};F.usingDefaultFundingMethod&&(F.usingDefaultFundingMethod=!1);let D=({address:e,walletChainType:o})=>{T({...I,funding:{...F,connectedWalletAddress:e,onContinueWithExternalWallet:()=>N(O({destChainType:k?"solana":"ethereum",sourceChainType:o}))}}),N(u.FUNDING_EDIT_AMOUNT_SCREEN)};"solana-only"!==c&&M.push(...L.map(((o,t)=>/*#__PURE__*/e(v,{onClick:()=>D({address:o.address,walletChainType:"ethereum"}),icon:o.meta.icon,name:o.meta.name},t)))),"ethereum-only"!==c&&M.push(...x.map(((o,t)=>/*#__PURE__*/e(v,{onClick:()=>D({address:o.address,walletChainType:"solana"}),icon:o.meta.icon,name:o.meta.name},t)))),M.push(...g({walletList:C.appearance.walletList.filter((e=>!L.some((o=>o.walletClientType===e))&&!x.some((o=>o.walletClientType===e)))),walletChainType:c,connectors:y,connectOnly:!0,ignore:[...C.appearance.walletList,...W,...R],walletConnectEnabled:C.externalWallets.walletConnect.enabled}));let G=/*#__PURE__*/e(j,{text:"More wallets",onClick:()=>S("overflow")}),O=({sourceChainType:e,destChainType:o})=>"ethereum"===e&&"solana"===o?u.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN:"ethereum"===e&&"ethereum"===o?u.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN:"solana"===e&&"ethereum"===o?u.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN:u.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN;return i((()=>{T({...I,externalConnectWallet:{onCompleteNavigateTo:({walletChainType:e})=>(T({...I,funding:{...F,onContinueWithExternalWallet:()=>{N(O({destChainType:k?"solana":"ethereum",sourceChainType:e??"ethereum"}))}}}),u.FUNDING_EDIT_AMOUNT_SCREEN)}})}),[]),/*#__PURE__*/o(t,"overflow"===b?{children:[/*#__PURE__*/e(s,{backFn:()=>S("default")},"header"),/*#__PURE__*/o(f,{children:[/*#__PURE__*/e(l,{style:{color:"var(--privy-color-foreground-3)",textAlign:"left"},children:"More wallets"}),M]}),/*#__PURE__*/e(r,{})]}:{children:[/*#__PURE__*/e(a,{}),/*#__PURE__*/e(m,{title:"Transfer from wallet",description:"Connect a wallet to deposit funds or send funds manually to your wallet address."}),/*#__PURE__*/o(f,{children:[M.length>4?M.slice(0,3):M,M.length>4&&G]}),/*#__PURE__*/e(r,{})]})};let v=({onClick:t,icon:n,name:i})=>/*#__PURE__*/o(y,{onClick:t,children:[/*#__PURE__*/e(C,{style:{width:20},children:/*#__PURE__*/e("img",{src:n})}),i,/*#__PURE__*/e(c,{color:"gray",style:{marginLeft:"auto"},children:"Connected"})]});export{T as TransferFromWalletScreen};
1
+ import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useEffect as i}from"react";import{BlobbyFooter as r}from"../../components/ModalFooter.mjs";import{ModalHeader as s}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as m}from"../../components/ScreenHeader.mjs";import a from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{Chip as c}from"../../components/ui/chips/Chip.mjs";import{Subtitle as l}from"../../components/ui/typography/Subtitle.mjs";import{usePrivyInternal as p}from"../../hooks/internal-context.mjs";import{usePrivyModal as h}from"../../hooks/modal-context.mjs";import{useWallets as d}from"../../hooks/useWallets.mjs";import{WalletOverflowButton as j}from"../LandingScreen/WalletOverflowButton.mjs";import{ModalScreen as u}from"../index.mjs";import{toWalletButtons as g}from"../LandingScreen/WalletButtonList.mjs";import{LoginMethodContainer as y,LoginMethodButton as f}from"../LandingScreen/styles.mjs";import{IconContainer as C}from"./styles.mjs";import{useSolanaWallets as T}from"../../hooks/useSolanaWallets.mjs";import"styled-components";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"../../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/ui/animation/LoadingSkeleton.mjs";import"../../components/PrefetchedImage.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/WalletIcon";import"../LandingScreen/EmptyWalletView.mjs";import"../LandingScreen/WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../connectors/get-legacy-injected-providers.mjs";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"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.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"../../errors.mjs";import"ofetch";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";import"../../client/user.mjs";import"@ethersproject/address";const w=()=>{let c,{connectors:f}=p(),{app:C,setModalData:w,data:I,navigate:N}=h(),{wallets:_}=d(),{wallets:E}=T(),[S,b]=n("default"),k="solana"===I?.funding?.chainType,A=!!I?.funding?.crossChainBridgingEnabled;c="ethereum"===I?.funding?.chainType?I.funding.erc20Address&&!I.funding.isUSDC?"ethereum-only":A&&!I.funding.chain.testnet?"ethereum-and-solana":"ethereum-only":A?"ethereum-and-solana":"solana-only";let L=_.filter((e=>"privy"!==e.walletClientType)),W=L.map((e=>e.walletClientType)),x=E.filter((e=>"privy"!==e.walletClientType)),R=x.map((e=>e.walletClientType)),M=[],F={...I.funding};F.usingDefaultFundingMethod&&(F.usingDefaultFundingMethod=!1);let D=({address:e,walletChainType:o})=>{w({...I,funding:{...F,connectedWalletAddress:e,onContinueWithExternalWallet:()=>N(O({destChainType:k?"solana":"ethereum",sourceChainType:o}))}}),N(u.FUNDING_EDIT_AMOUNT_SCREEN)};"solana-only"!==c&&M.push(...L.map(((o,t)=>/*#__PURE__*/e(v,{onClick:()=>D({address:o.address,walletChainType:"ethereum"}),icon:o.meta.icon,name:o.meta.name,chainType:o.type},t)))),"ethereum-only"!==c&&M.push(...x.map(((o,t)=>/*#__PURE__*/e(v,{onClick:()=>D({address:o.address,walletChainType:"solana"}),icon:o.meta.icon,name:o.meta.name,chainType:o.type},t)))),M.push(...g({walletList:C.appearance.walletList.filter((e=>!L.some((o=>o.walletClientType===e))&&!x.some((o=>o.walletClientType===e)))),walletChainType:c,connectors:f,connectOnly:!0,ignore:[...C.appearance.walletList,...W,...R],walletConnectEnabled:C.externalWallets.walletConnect.enabled}));let G=/*#__PURE__*/e(j,{text:"More wallets",onClick:()=>b("overflow")}),O=({sourceChainType:e,destChainType:o})=>"ethereum"===e&&"solana"===o?u.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN:"ethereum"===e&&"ethereum"===o?u.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN:"solana"===e&&"ethereum"===o?u.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN:u.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN;return i((()=>{w({...I,externalConnectWallet:{onCompleteNavigateTo:({walletChainType:e})=>(w({...I,funding:{...F,onContinueWithExternalWallet:()=>{N(O({destChainType:k?"solana":"ethereum",sourceChainType:e??"ethereum"}))}}}),u.FUNDING_EDIT_AMOUNT_SCREEN)}})}),[]),/*#__PURE__*/o(t,"overflow"===S?{children:[/*#__PURE__*/e(s,{backFn:()=>b("default")},"header"),/*#__PURE__*/o(y,{children:[/*#__PURE__*/e(l,{style:{color:"var(--privy-color-foreground-3)",textAlign:"left"},children:"More wallets"}),M]}),/*#__PURE__*/e(r,{})]}:{children:[/*#__PURE__*/e(a,{}),/*#__PURE__*/e(m,{title:"Transfer from wallet",description:"Connect a wallet to deposit funds or send funds manually to your wallet address."}),/*#__PURE__*/o(y,{children:[M.length>4?M.slice(0,3):M,M.length>4&&G]}),/*#__PURE__*/e(r,{})]})};let v=({onClick:t,icon:n,name:i,chainType:r})=>/*#__PURE__*/o(f,{onClick:t,children:[/*#__PURE__*/e(C,{style:{width:20},children:/*#__PURE__*/e("img",{src:n})}),i,/*#__PURE__*/e(c,{color:"gray",style:{marginLeft:"auto"},children:"Connected"}),"solana"===r&&/*#__PURE__*/e(c,{color:"gray",children:"Solana"})]});export{w as TransferFromWalletScreen};
@@ -1 +1 @@
1
- import{styled as o,keyframes as n}from"styled-components";import{SoftCtaButton as i}from"../../components/Button.mjs";import{LinkButton as t}from"../LinkPasskeyScreen.mjs";import"react/jsx-runtime";import"../../components/Loader.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"react";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"../../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"../../errors.mjs";import"ofetch";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";const r=/*#__PURE__*/o.div.withConfig({displayName:"FundingMethodContainer",componentId:"sc-7f48ac23-0"})(["display:flex;flex-direction:column;gap:12px;padding-top:24px;padding-bottom:24px;"]),c=/*#__PURE__*/o.div.withConfig({displayName:"IconContainer",componentId:"sc-7f48ac23-1"})(["width:24px;height:24px;display:flex;justify-content:center;align-items:center;svg{border-radius:var(--privy-border-radius-sm);}"]),e=/*#__PURE__*/o.div.withConfig({displayName:"FundingQuantityWrapper",componentId:"sc-7f48ac23-2"})(["display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;"]),s=/*#__PURE__*/o.div.withConfig({displayName:"FundingQuantity",componentId:"sc-7f48ac23-3"})(["display:flex;align-items:baseline;gap:4px;"]),a=/*#__PURE__*/o.div.withConfig({displayName:"FundingAmount",componentId:"sc-7f48ac23-4"})(["font-size:42px !important;"]),m=/*#__PURE__*/o.input.withConfig({displayName:"FundingAmountInput",componentId:"sc-7f48ac23-5"})(["font-size:42px !important;text-align:right;background-color:var(--privy-color-background);width:calc(1ch * var(--funding-input-length));&:focus{outline:none !important;border:none !important;box-shadow:none !important;}"]),p=/*#__PURE__*/o.button.withConfig({displayName:"FundingAmountEditButton",componentId:"sc-7f48ac23-6"})(["cursor:pointer;padding-left:4px;"]),l=/*#__PURE__*/o.div.withConfig({displayName:"FundingCurrency",componentId:"sc-7f48ac23-7"})(["font-size:18px;"]),d=/*#__PURE__*/o.div.withConfig({displayName:"FundingDollars",componentId:"sc-7f48ac23-8"})(["font-size:12px;color:var(--privy-color-foreground-3);height:20px;"]),h=/*#__PURE__*/o.div.withConfig({displayName:"FundingNetwork",componentId:"sc-7f48ac23-9"})(["display:flex;flex-direction:row;line-height:22px;font-size:16px;text-align:center;svg{margin-right:6px;margin:auto;}"]),f=/*#__PURE__*/o(t).withConfig({displayName:"ManualFundsButton",componentId:"sc-7f48ac23-10"})(["margin-top:16px;"]);let u=/*#__PURE__*/n(["from{opacity:0;}to{opacity:1;}"]);const g=/*#__PURE__*/o(i).withConfig({displayName:"ContinueFromManualButton",componentId:"sc-7f48ac23-11"})(["border-radius:var(--privy-border-radius-md) !important;animation:"," 0.3s ease-in-out;"],u),j=/*#__PURE__*/o.div.withConfig({displayName:"InfoButtonText",componentId:"sc-7f48ac23-12"})([""]),y=/*#__PURE__*/o.a.withConfig({displayName:"InfoButtonLink",componentId:"sc-7f48ac23-13"})(["&&{color:var(--privy-color-accent);}cursor:pointer;"]);export{g as ContinueFromManualButton,a as FundingAmount,p as FundingAmountEditButton,m as FundingAmountInput,l as FundingCurrency,d as FundingDollars,r as FundingMethodContainer,h as FundingNetwork,s as FundingQuantity,e as FundingQuantityWrapper,c as IconContainer,y as InfoButtonLink,j as InfoButtonText,f as ManualFundsButton};
1
+ import{styled as o,keyframes as n}from"styled-components";import{SoftCtaButton as i}from"../../components/Button.mjs";import{LinkButton as t}from"../LinkPasskeyScreen.mjs";import"react/jsx-runtime";import"../../components/Loader.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"react";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"../../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"../../errors.mjs";import"ofetch";import"../../hooks/privy-context.mjs";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../MfaScreens/StyledComponents.mjs";const r=/*#__PURE__*/o.div.withConfig({displayName:"FundingMethodContainer",componentId:"sc-d907403d-0"})(["display:flex;flex-direction:column;gap:12px;padding-top:24px;padding-bottom:24px;"]),e=/*#__PURE__*/o.div.withConfig({displayName:"IconContainer",componentId:"sc-d907403d-1"})(["width:24px;height:24px;display:flex;justify-content:center;align-items:center;svg{border-radius:var(--privy-border-radius-sm);}"]),s=/*#__PURE__*/o.div.withConfig({displayName:"FundingQuantityWrapper",componentId:"sc-d907403d-2"})(["display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;"]),c=/*#__PURE__*/o.div.withConfig({displayName:"FundingQuantity",componentId:"sc-d907403d-3"})(["display:flex;align-items:center;gap:4px;width:100%;padding:0 16px;border-width:1px !important;border-radius:12px;cursor:text;&:focus-within{border-color:var(--privy-color-accent);}"]),m=/*#__PURE__*/o.div.withConfig({displayName:"FundingAmount",componentId:"sc-d907403d-4"})(["font-size:42px !important;"]),a=/*#__PURE__*/o.input.withConfig({displayName:"FundingAmountInput",componentId:"sc-d907403d-5"})(["background-color:var(--privy-color-background);width:100%;&:focus{outline:none !important;border:none !important;box-shadow:none !important;}"]),p=/*#__PURE__*/o.button.withConfig({displayName:"FundingAmountEditButton",componentId:"sc-d907403d-6"})(["cursor:pointer;padding-left:4px;"]),d=/*#__PURE__*/o.div.withConfig({displayName:"FundingCurrency",componentId:"sc-d907403d-7"})(["font-size:18px;"]),l=/*#__PURE__*/o.div.withConfig({displayName:"FundingDollars",componentId:"sc-d907403d-8"})(["font-size:12px;color:var(--privy-color-foreground-3);height:20px;"]),h=/*#__PURE__*/o.div.withConfig({displayName:"FundingNetwork",componentId:"sc-d907403d-9"})(["display:flex;flex-direction:row;line-height:22px;font-size:16px;text-align:center;svg{margin-right:6px;margin:auto;}"]),u=/*#__PURE__*/o(t).withConfig({displayName:"ManualFundsButton",componentId:"sc-d907403d-10"})(["margin-top:16px;"]);let g=/*#__PURE__*/n(["from{opacity:0;}to{opacity:1;}"]);const j=/*#__PURE__*/o(i).withConfig({displayName:"ContinueFromManualButton",componentId:"sc-d907403d-11"})(["border-radius:var(--privy-border-radius-md) !important;animation:"," 0.3s ease-in-out;"],g),f=/*#__PURE__*/o.div.withConfig({displayName:"InfoButtonText",componentId:"sc-d907403d-12"})([""]),y=/*#__PURE__*/o.a.withConfig({displayName:"InfoButtonLink",componentId:"sc-d907403d-13"})(["&&{color:var(--privy-color-accent);}cursor:pointer;"]);export{j as ContinueFromManualButton,m as FundingAmount,p as FundingAmountEditButton,a as FundingAmountInput,d as FundingCurrency,l as FundingDollars,r as FundingMethodContainer,h as FundingNetwork,c as FundingQuantity,s as FundingQuantityWrapper,e as IconContainer,y as InfoButtonLink,f as InfoButtonText,u as ManualFundsButton};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/EnvelopeIcon";import r from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/UserCircleIcon";import{useMemo as n,useState as m,useEffect as l}from"react";import{styled as a}from"styled-components";import{TermsAndConditions as p,BlobbyFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as h}from"../../components/ModalHeader.mjs";import{useAppConfig as d}from"../../configuration/context.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as f}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as u}from"../../recent-login/context.mjs";import{EmailOrPhone as y}from"../../svg/email-or-phone.mjs";import{AppLogoHeader as w}from"./AppLogoHeader.mjs";import{EmailButton as v}from"./EmailButton.mjs";import{EmptyWalletView as b}from"./EmptyWalletView.mjs";import{FarcasterButton as k}from"./FarcasterButton.mjs";import{PasskeyLink as C}from"./PasskeyLink.mjs";import{SmsButton as T}from"./SmsButton.mjs";import{SocialButton as x}from"./SocialButton.mjs";import{TelegramButton as A}from"./TelegramButton.mjs";import{toWalletButtons as M}from"./WalletButtonList.mjs";import{WalletOverflowButton as I}from"./WalletOverflowButton.mjs";import{Web2OverflowButton as L}from"./Web2OverflowButton.mjs";import{Subtitle as E,AlignBottom as W,LoginMethodContainer as B}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"../../components/AppLogo.mjs";import"../../components/ConnectEmailForm.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../hooks/privy-context.mjs";import"../../components/Button.mjs";import"../../components/Loader.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"../../components/ConnectPhoneForm.mjs";import"../../PhoneCountryDropdown-BXDwBRL5.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"./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";const O=({connectOnly:i})=>{let{closePrivyModal:r,connectors:s}=g(),{data:a,onUserCloseViaDialogOrKeybindRef:y}=j(),w=d(),{accountType:O,walletClientType:U,chainType:z}=u(),D=O?f(O):null,V=a?.login,{email:G,sms:K,google:N,twitter:Q,discord:X,github:q,spotify:J,instagram:Y,tiktok:Z,linkedin:$,apple:_,wallet:oo,farcaster:eo,telegram:to}=n((()=>V?.loginMethods?((o,e=!0)=>o.reduce(((o,t)=>({...o,[t]:e})),{}))(V.loginMethods,!0):null),[V])??w.loginMethods,{passkey:io}=w.loginMethods,ro=[G&&"email",K&&"sms",N&&"google",Q&&"twitter",X&&"discord",q&&"github",J&&"spotify",Y&&"instagram",Z&&"tiktok",$&&"linkedin",_&&"apple",eo&&"farcaster",to&&"telegram"].filter((o=>!!o)),so=ro.length>0,no=n((()=>oo&&!so?"web3-first":oo&&w?.appearance.loginGroupPriority||"web2-first"),[oo,so,w?.appearance.loginGroupPriority]),mo=w?.appearance.hideDirectWeb2Inputs,[lo,ao]=m("default"),[po,co]=m(R({mostRecentlyUsedAccountType:O,smsAvailable:K,emailAvailable:G,prefilledType:V?.prefill?.type}));l((()=>{co(R({mostRecentlyUsedAccountType:O,smsAvailable:K,emailAvailable:G,prefilledType:V?.prefill?.type}))}),[G,K,O]);let ho=()=>{r({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{ao("default")}),150)};y.current=ho;let go=[];U&&oo?go.push(U):D?.loginMethod&&ro.includes(D.loginMethod)&&go.push(D.loginMethod);let jo=e=>"email"===e?/*#__PURE__*/o(v,{isEditable:"email"===po,setIsEditable:()=>{co("email")},defaultValue:"email"===V?.prefill?.type?V.prefill.value:void 0},e):"sms"===e?/*#__PURE__*/o(T,{isEditable:"sms"===po,setIsEditable:()=>{co("sms")},defaultValue:"phone"===V?.prefill?.type?V.prefill.value:void 0},e):"apple"===e?/*#__PURE__*/o(x,{provider:"apple"},e):"discord"===e?/*#__PURE__*/o(x,{provider:"discord"},e):"farcaster"===e?/*#__PURE__*/o(k,{},e):"github"===e?/*#__PURE__*/o(x,{provider:"github"},e):"google"===e?/*#__PURE__*/o(x,{provider:"google"},e):"linkedin"===e?/*#__PURE__*/o(x,{provider:"linkedin"},e):"tiktok"===e?/*#__PURE__*/o(x,{provider:"tiktok"},e):"spotify"===e?/*#__PURE__*/o(x,{provider:"spotify"},e):"instagram"===e?/*#__PURE__*/o(x,{provider:"instagram"},e):"twitter"===e?/*#__PURE__*/o(x,{provider:"twitter"},e):"telegram"===e?/*#__PURE__*/o(A,{},e):M({walletList:w.appearance.walletList,walletChainType:w.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[],walletConnectEnabled:w.externalWallets.walletConnect.enabled,forceWallet:{wallet:e,chainType:z??"ethereum"}}),fo=M({walletList:w.appearance.walletList.filter((o=>o!==U)),walletChainType:w.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[...w.appearance.walletList,U],recentlyUsedWallet:U,walletConnectEnabled:w.externalWallets.walletConnect.enabled}),uo=ro.filter((o=>o!==D?.loginMethod)).flatMap(jo),yo=go.flatMap(jo);"web3-first"===no&&"default"===lo?fo.unshift(...yo):"web2-first"===no&&uo.unshift(...yo);let wo=ro.filter((o=>"email"!==o&&"sms"!==o)),vo=S({priority:no,email:G,sms:K,social:wo}),bo=F({priority:no,email:G,sms:K,social:wo}),ko=/*#__PURE__*/o(I,{text:H({priority:no}),onClick:()=>ao("web3-overflow")}),Co=/*#__PURE__*/o(L,{text:vo,icon:bo,onClick:()=>ao("web2-overflow")}),To=mo?0:1,xo=oo&&fo.length>0,Ao=0===uo.length&&oo&&0===fo.length,Mo=5-(xo?1:0),Io=fo.length>0?fo:/*#__PURE__*/o(b,{chainType:w.appearance.walletChainType,withPadding:!0});/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(h,{title:w.appearance.landingHeader,onClose:ho,backFn:"default"===lo?void 0:()=>{ao("default")}}),"default"===lo&&/*#__PURE__*/o(P,{}),"default"===lo&&("string"==typeof w.appearance.loginMessage?/*#__PURE__*/o(E,{children:w.appearance.loginMessage}):w.appearance.loginMessage),/*#__PURE__*/o(W,{style:{overflow:"hidden",padding:2},children:/*#__PURE__*/e(B,{children:["default"===lo&&"web2-first"===no&&/*#__PURE__*/e(t,{children:[uo.length>Mo?uo.slice(0,Mo-1):uo,uo.length>Mo&&Co,xo&&ko,Ao&&/*#__PURE__*/o(b,{chainType:w.appearance.walletChainType})]}),"default"===lo&&"web3-first"===no&&/*#__PURE__*/e(t,{children:[oo&&/*#__PURE__*/e(t,{children:[fo.length>Mo?fo.slice(0,Mo-1):fo,fo.length>Mo&&ko]}),uo.length>To&&Co,uo.length===To&&uo[0],Ao&&/*#__PURE__*/o(b,{chainType:w.appearance.walletChainType})]}),"web2-overflow"===lo&&/*#__PURE__*/o(t,{children:"web3-first"===no?uo:uo.slice(3)}),"web3-overflow"===lo?Io:[],io&&"default"===lo&&/*#__PURE__*/o(C,{})]})}),w&&/*#__PURE__*/o(p,{app:w}),/*#__PURE__*/o(c,{})]})};let P=/*#__PURE__*/a(w).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-94645e92-0"})(["margin-bottom:16px;"]),S=({priority:o,email:e,sms:t,social:i})=>"web2-first"===o?"Other socials":e&&t&&i.length>0||e&&i.length>0?"Log in with email or socials":t&&i.length>0?"Log in with sms or socials":e&&t?"Continue with email or sms":e?"Continue with email":t?"Continue with sms":"Log in with a social account",F=({priority:e,email:t,sms:n,social:m})=>"web2-first"===e||m.length>0?/*#__PURE__*/o(s,{}):t&&n?/*#__PURE__*/o(y,{}):t?/*#__PURE__*/o(i,{}):n?/*#__PURE__*/o(r,{}):null,H=({priority:o})=>"web2-first"===o?"Continue with a wallet":"Other wallets",R=({mostRecentlyUsedAccountType:o,smsAvailable:e,emailAvailable:t,prefilledType:i})=>t&&("email"===o&&"phone"!==i||"email"===i)||!e||"phone"!==o&&"phone"!==i?"email":"sms";export{O as LandingScreenView};
1
+ import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/EnvelopeIcon";import r from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/UserCircleIcon";import{useMemo as n,useState as m,useEffect as a}from"react";import{styled as l}from"styled-components";import{TermsAndConditions as p,BlobbyFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as h}from"../../components/ModalHeader.mjs";import{useAppConfig as d}from"../../configuration/context.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as f}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as u}from"../../recent-login/context.mjs";import{EmailOrPhone as y}from"../../svg/email-or-phone.mjs";import{AppLogoHeader as w}from"./AppLogoHeader.mjs";import{EmailButton as v}from"./EmailButton.mjs";import{EmptyWalletView as b}from"./EmptyWalletView.mjs";import{FarcasterButton as k}from"./FarcasterButton.mjs";import{PasskeyLink as C}from"./PasskeyLink.mjs";import{SmsButton as T}from"./SmsButton.mjs";import{SocialButton as x}from"./SocialButton.mjs";import{TelegramButton as A}from"./TelegramButton.mjs";import{toWalletButtons as M}from"./WalletButtonList.mjs";import{WalletOverflowButton as I}from"./WalletOverflowButton.mjs";import{Web2OverflowButton as L}from"./Web2OverflowButton.mjs";import{Subtitle as E,AlignBottom as W,LoginMethodContainer as B}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"../../components/AppLogo.mjs";import"../../components/ConnectEmailForm.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"@ethersproject/providers";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../hooks/privy-context.mjs";import"../../components/Button.mjs";import"../../components/Loader.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"../../components/ConnectPhoneForm.mjs";import"../../PhoneCountryDropdown-BXDwBRL5.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"./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";const O=({connectOnly:i})=>{let{closePrivyModal:r,connectors:s}=g(),{data:l,onUserCloseViaDialogOrKeybindRef:y}=j(),w=d(),{accountType:O,walletClientType:U,chainType:z}=u(),D=O?f(O):null,V=l?.login,{email:G,sms:K,google:N,twitter:Q,discord:X,github:q,spotify:J,instagram:Y,tiktok:Z,linkedin:$,apple:_,wallet:oo,farcaster:eo,telegram:to}=n((()=>V?.loginMethods?((o,e=!0)=>o.reduce(((o,t)=>({...o,[t]:e})),{}))(V.loginMethods,!0):null),[V])??w.loginMethods,{passkey:io}=w.loginMethods,ro=[G&&"email",K&&"sms",N&&"google",Q&&"twitter",X&&"discord",q&&"github",J&&"spotify",Y&&"instagram",Z&&"tiktok",$&&"linkedin",_&&"apple",eo&&"farcaster",to&&"telegram"].filter((o=>!!o)),so=ro.length>0,no=n((()=>oo&&!so?"web3-first":oo&&w?.appearance.loginGroupPriority||"web2-first"),[oo,so,w?.appearance.loginGroupPriority]),mo=w?.appearance.hideDirectWeb2Inputs,[ao,lo]=m("default"),[po,co]=m(R({mostRecentlyUsedAccountType:O,smsAvailable:K,emailAvailable:G,prefilledType:V?.prefill?.type}));a((()=>{co(R({mostRecentlyUsedAccountType:O,smsAvailable:K,emailAvailable:G,prefilledType:V?.prefill?.type}))}),[G,K,O]);let ho=()=>{r({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{lo("default")}),150)};y.current=ho;let go=[];U&&oo?go.push(U):D?.loginMethod&&ro.includes(D.loginMethod)&&go.push(D.loginMethod);let jo=e=>"email"===e?/*#__PURE__*/o(v,{isEditable:"email"===po,setIsEditable:()=>{co("email")},defaultValue:"email"===V?.prefill?.type?V.prefill.value:void 0},e):"sms"===e?/*#__PURE__*/o(T,{isEditable:"sms"===po,setIsEditable:()=>{co("sms")},defaultValue:"phone"===V?.prefill?.type?V.prefill.value:void 0},e):"apple"===e?/*#__PURE__*/o(x,{provider:"apple"},e):"discord"===e?/*#__PURE__*/o(x,{provider:"discord"},e):"farcaster"===e?/*#__PURE__*/o(k,{},e):"github"===e?/*#__PURE__*/o(x,{provider:"github"},e):"google"===e?/*#__PURE__*/o(x,{provider:"google"},e):"linkedin"===e?/*#__PURE__*/o(x,{provider:"linkedin"},e):"tiktok"===e?/*#__PURE__*/o(x,{provider:"tiktok"},e):"spotify"===e?/*#__PURE__*/o(x,{provider:"spotify"},e):"instagram"===e?/*#__PURE__*/o(x,{provider:"instagram"},e):"twitter"===e?/*#__PURE__*/o(x,{provider:"twitter"},e):"telegram"===e?/*#__PURE__*/o(A,{},e):M({walletList:w.appearance.walletList,walletChainType:w.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[],walletConnectEnabled:w.externalWallets.walletConnect.enabled,forceWallet:{wallet:e,chainType:z??"ethereum"}}),fo=M({walletList:w.appearance.walletList.filter((o=>o!==U)),walletChainType:w.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[...w.appearance.walletList,U],walletConnectEnabled:w.externalWallets.walletConnect.enabled}),uo=ro.filter((o=>o!==D?.loginMethod)).flatMap(jo),yo=go.flatMap(jo);"web3-first"===no&&"default"===ao?fo.unshift(...yo):"web2-first"===no&&uo.unshift(...yo);let wo=ro.filter((o=>"email"!==o&&"sms"!==o)),vo=S({priority:no,email:G,sms:K,social:wo}),bo=F({priority:no,email:G,sms:K,social:wo}),ko=/*#__PURE__*/o(I,{text:H({priority:no}),onClick:()=>lo("web3-overflow")}),Co=/*#__PURE__*/o(L,{text:vo,icon:bo,onClick:()=>lo("web2-overflow")}),To=mo?0:1,xo=oo&&fo.length>0,Ao=0===uo.length&&oo&&0===fo.length,Mo=5-(xo?1:0),Io=fo.length>0?fo:/*#__PURE__*/o(b,{chainType:w.appearance.walletChainType,withPadding:!0});/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(h,{title:w.appearance.landingHeader,onClose:ho,backFn:"default"===ao?void 0:()=>{lo("default")}}),"default"===ao&&/*#__PURE__*/o(P,{}),"default"===ao&&("string"==typeof w.appearance.loginMessage?/*#__PURE__*/o(E,{children:w.appearance.loginMessage}):w.appearance.loginMessage),/*#__PURE__*/o(W,{style:{overflow:"hidden",padding:2},children:/*#__PURE__*/e(B,{children:["default"===ao&&"web2-first"===no&&/*#__PURE__*/e(t,{children:[uo.length>Mo?uo.slice(0,Mo-1):uo,uo.length>Mo&&Co,xo&&ko,Ao&&/*#__PURE__*/o(b,{chainType:w.appearance.walletChainType})]}),"default"===ao&&"web3-first"===no&&/*#__PURE__*/e(t,{children:[oo&&/*#__PURE__*/e(t,{children:[fo.length>Mo?fo.slice(0,Mo-1):fo,fo.length>Mo&&ko]}),uo.length>To&&Co,uo.length===To&&uo[0],Ao&&/*#__PURE__*/o(b,{chainType:w.appearance.walletChainType})]}),"web2-overflow"===ao&&/*#__PURE__*/o(t,{children:"web3-first"===no?uo:uo.slice(3)}),"web3-overflow"===ao?Io:[],io&&"default"===ao&&/*#__PURE__*/o(C,{})]})}),w&&/*#__PURE__*/o(p,{app:w}),/*#__PURE__*/o(c,{})]})};let P=/*#__PURE__*/l(w).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-4938a02-0"})(["margin-bottom:16px;"]),S=({priority:o,email:e,sms:t,social:i})=>"web2-first"===o?"Other socials":e&&t&&i.length>0||e&&i.length>0?"Log in with email or socials":t&&i.length>0?"Log in with sms or socials":e&&t?"Continue with email or sms":e?"Continue with email":t?"Continue with sms":"Log in with a social account",F=({priority:e,email:t,sms:n,social:m})=>"web2-first"===e||m.length>0?/*#__PURE__*/o(s,{}):t&&n?/*#__PURE__*/o(y,{}):t?/*#__PURE__*/o(i,{}):n?/*#__PURE__*/o(r,{}):null,H=({priority:o})=>"web2-first"===o?"Continue with a wallet":"Other wallets",R=({mostRecentlyUsedAccountType:o,smsAvailable:e,emailAvailable:t,prefilledType:i})=>t&&("email"===o&&"phone"!==i||"email"===i)||!e||"phone"!==o&&"phone"!==i?"email":"sms";export{O as LandingScreenView};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as n}from"react/jsx-runtime";import{usePrivyModal as o}from"../../hooks/modal-context.mjs";import{EmptyWalletView as t}from"./EmptyWalletView.mjs";import{WalletButton as i}from"./WalletButton.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/QuestionMarkCircleIcon";import"./styles.mjs";import"styled-components";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../hooks/internal-context.mjs";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"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";const s=["coinbase_wallet"];let c=["metamask","okx_wallet","rainbow","uniswap","bybit_wallet","uniswap_extension","zerion","rabby_wallet","cryptocom"];const l=["safe"],r=["phantom","universal_profile"],a=({wallets:i})=>{let{app:s}=o();return 0===i.length?/*#__PURE__*/e(t,{chainType:s.appearance.walletChainType,withPadding:!0}):/*#__PURE__*/e(n,{children:i})},m=({walletList:n,walletChainType:o,connectors:t,connectOnly:a,ignore:m,recentlyUsedWallet:p,walletConnectEnabled:d,forceWallet:h})=>{let y=[],j=[],w=[],u=t.filter((e=>"ethereum-only"===o?"ethereum"===e.chainType:"solana-only"!==o||"solana"===e.chainType)),f=u.find((e=>"wallet_connect_v2"===e.connectorType));for(let[t,p]of(h?[h.wallet]:n).entries()){if("detected_ethereum_wallets"===p||"detected_wallets"===p)for(let[n,o]of u.filter((({chainType:e,connectorType:n,walletClientType:o})=>"solana"!==e&&("uniswap_wallet_extension"===o||"uniswap_extension"===o?!m.includes("uniswap"):"crypto.com_wallet_extension"===o||"crypto.com_onchain"===o?!m.includes("cryptocom"):"injected"===n&&!m.includes(o)))).entries()){let{walletClientType:s,walletBranding:c,chainType:l}=o;("unknown"===s?j:y).push(/*#__PURE__*/e(i,{connectOnly:a,provider:s,logo:c.icon,displayName:c.name,connector:o},`${t}-${p}-${s}-${l}-${n}`))}if("detected_solana_wallets"===p||"detected_wallets"===p)for(let[n,s]of u.filter((({chainType:e,walletClientType:n})=>{if("solana"===e)return"ethereum-only"!==o&&!m.includes(n)})).entries()){let{walletClientType:o,walletBranding:c,chainType:l}=s;("unknown"===o?j:y).push(/*#__PURE__*/e(i,{connectOnly:a,provider:o,logo:c.icon,displayName:c.name,connector:s},`${t}-${p}-${o}-${l}-${n}`))}if(r.includes(p)){let n=u.find((e=>"injected"===e.connectorType&&e.walletClientType===p||e.connectorType===p));if(n&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,connector:n},`${t}-${p}`)),"solana-only"===o||"ethereum-and-solana"===o){let n=u.find((({chainType:e,connectorType:n,walletClientType:o})=>"solana"===e&&"solana_adapter"===n&&o===p));n&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,connector:n},`${p}-solana`))}}else if(c.includes(p)){let n=u.find((e=>"uniswap"===p?"uniswap_wallet_extension"===e.walletClientType||"uniswap_extension"===e.walletClientType:"cryptocom"===p?"crypto.com_wallet_extension"===e.walletClientType||"crypto.com_onchain"===e.walletClientType:"injected"===e.connectorType&&e.walletClientType===p));d&&!n&&(n=f),n&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,connector:n,logo:"injected"===n.connectorType?n.walletBranding.icon:void 0,displayName:"injected"===n.connectorType?n.walletBranding.name:void 0},`${t}-${p}`))}else if(s.includes(p)){let n=u.find((({connectorType:e})=>e===p));n&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,connector:n},`${t}-${p}`))}else if(l.includes(p))f&&w.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,connector:f},`${t}-${p}`));else if("wallet_connect"===p)f&&w.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,connector:f},`${t}-${p}`));else if(p===h?.wallet){let o="ethereum"===h.chainType&&n.includes("detected_ethereum_wallets"),s="solana"===h.chainType&&n.includes("detected_solana_wallets");if(n.includes("detected_wallets")||o||s){let n=u.find((({walletClientType:e})=>e===p));n&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:p,displayName:n.walletBranding?.name,logo:n.walletBranding?.icon,connector:n},`${t}-${p}`))}}}return 0===y.length&&0===j.length&&("solana-only"===o||"ethereum-and-solana"===o)&&"phantom"!==p&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:"phantom",connector:{connectorType:"solana_adapter",walletClientType:"phantom"}},"phantom-solana")),[...j,...y,...w]};export{s as INJECTED_WALLETS_WITHOUT_EIP6963,r as INJECTED_WALLETS_WITHOUT_WALLET_CONNECT_FALLBACK,l as WALLETS_WITH_WALLET_CONNECT_ONLY,a as WalletButtonList,m as toWalletButtons};
1
+ import{jsx as e,Fragment as n}from"react/jsx-runtime";import{usePrivyModal as o}from"../../hooks/modal-context.mjs";import{EmptyWalletView as t}from"./EmptyWalletView.mjs";import{WalletButton as i}from"./WalletButton.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/QuestionMarkCircleIcon";import"./styles.mjs";import"styled-components";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../hooks/internal-context.mjs";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"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";const s=["coinbase_wallet"];let c=["metamask","okx_wallet","rainbow","uniswap","bybit_wallet","uniswap_extension","zerion","rabby_wallet","cryptocom"];const r=["safe"],l=["phantom","universal_profile"],a=({wallets:i})=>{let{app:s}=o();return 0===i.length?/*#__PURE__*/e(t,{chainType:s.appearance.walletChainType,withPadding:!0}):/*#__PURE__*/e(n,{children:i})},m=({walletList:n,walletChainType:o,connectors:t,connectOnly:a,ignore:m,walletConnectEnabled:p,forceWallet:d})=>{let h=[],j=[],y=[],w=t.filter((e=>"ethereum-only"===o?"ethereum"===e.chainType:"solana-only"!==o||"solana"===e.chainType)),u=w.find((e=>"wallet_connect_v2"===e.connectorType));for(let[t,f]of(d?[d.wallet]:n).entries()){if("detected_ethereum_wallets"===f||"detected_wallets"===f)for(let[n,o]of w.filter((({chainType:e,connectorType:n,walletClientType:o})=>"solana"!==e&&("uniswap_wallet_extension"===o||"uniswap_extension"===o?!m.includes("uniswap"):"crypto.com_wallet_extension"===o||"crypto.com_onchain"===o?!m.includes("cryptocom"):"injected"===n&&!m.includes(o)))).entries()){let{walletClientType:s,walletBranding:c,chainType:r}=o;("unknown"===s?j:h).push(/*#__PURE__*/e(i,{connectOnly:a,provider:s,logo:c.icon,displayName:c.name,connector:o},`${t}-${f}-${s}-${r}-${n}`))}if("detected_solana_wallets"===f||"detected_wallets"===f)for(let[n,s]of w.filter((({chainType:e,walletClientType:n})=>{if("solana"===e)return"ethereum-only"!==o&&!m.includes(n)})).entries()){let{walletClientType:o,walletBranding:c,chainType:r}=s;("unknown"===o?j:h).push(/*#__PURE__*/e(i,{connectOnly:a,provider:o,logo:c.icon,displayName:c.name,connector:s},`${t}-${f}-${o}-${r}-${n}`))}if(l.includes(f)){let n=w.find((e=>"injected"===e.connectorType&&e.walletClientType===f||e.connectorType===f));if(n&&h.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,connector:n},`${t}-${f}`)),"solana-only"===o||"ethereum-and-solana"===o){let n=w.find((({chainType:e,connectorType:n,walletClientType:o})=>"solana"===e&&"solana_adapter"===n&&o===f));n&&h.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,connector:n},`${f}-solana`))}}else if(c.includes(f)){let n=w.find((e=>"uniswap"===f?"uniswap_wallet_extension"===e.walletClientType||"uniswap_extension"===e.walletClientType:"cryptocom"===f?"crypto.com_wallet_extension"===e.walletClientType||"crypto.com_onchain"===e.walletClientType:"injected"===e.connectorType&&e.walletClientType===f));p&&!n&&(n=u),n&&h.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,connector:n,logo:"injected"===n.connectorType?n.walletBranding.icon:void 0,displayName:"injected"===n.connectorType?n.walletBranding.name:void 0},`${t}-${f}`))}else if(s.includes(f)){let n=w.find((({connectorType:e})=>e===f));n&&h.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,connector:n},`${t}-${f}`))}else if(r.includes(f))u&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,connector:u},`${t}-${f}`));else if("wallet_connect"===f)u&&y.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,connector:u},`${t}-${f}`));else if(f===d?.wallet){let o="ethereum"===d.chainType&&n.includes("detected_ethereum_wallets"),s="solana"===d.chainType&&n.includes("detected_solana_wallets");if(n.includes("detected_wallets")||o||s){let n=w.find((({walletClientType:e})=>e===f));n&&h.push(/*#__PURE__*/e(i,{connectOnly:a,provider:f,displayName:n.walletBranding?.name,logo:n.walletBranding?.icon,connector:n},`${t}-${f}`))}}}return[...j,...h,...y]};export{s as INJECTED_WALLETS_WITHOUT_EIP6963,l as INJECTED_WALLETS_WITHOUT_WALLET_CONNECT_FALLBACK,r as WALLETS_WITH_WALLET_CONNECT_ONLY,a as WalletButtonList,m as toWalletButtons};
@@ -1 +1 @@
1
- export{toSolanaWalletConnectors}from"./connectors/solana/toSolanaWalletConnectors.mjs";export{SolanaWalletConnector as SolanaAdapterConnector}from"./connectors/solana/index.mjs";export{useSolanaWallets}from"./hooks/useSolanaWallets.mjs";export{useFundWallet}from"./hooks/useFundSolanaWallet.mjs";import"@solana/wallet-adapter-base";import"@solana/wallet-standard-wallet-adapter-base";import"@wallet-standard/app";import"./hooks/index.mjs";import"./types.mjs";import"./connectors/base.mjs";import"eventemitter3";import"./connectors/errors.mjs";import"@ethersproject/logger";import"./errors.mjs";import"ofetch";import"./errors-9ucGZPEs.mjs";import"./client/user.mjs";import"@ethersproject/address";import"./hooks/internal-context.mjs";import"react";import"./hooks/privy-context.mjs";import"./hooks/useWallets.mjs";import"./hooks/events-context.mjs";
1
+ export{toSolanaWalletConnectors}from"./connectors/solana/toSolanaWalletConnectors.mjs";export{SolanaWalletConnector as SolanaAdapterConnector}from"./connectors/solana/index.mjs";export{useSolanaWallets}from"./hooks/useSolanaWallets.mjs";export{useFundWallet}from"./hooks/useFundSolanaWallet.mjs";export{default as useSolanaFundingPlugin}from"./plugins/solana-funding/useSolanaFundingPlugin.mjs";import"@solana/wallet-adapter-base";import"@solana/wallet-standard-wallet-adapter-base";import"@wallet-standard/app";import"./hooks/index.mjs";import"./types.mjs";import"./connectors/base.mjs";import"eventemitter3";import"./connectors/errors.mjs";import"@ethersproject/logger";import"./errors.mjs";import"ofetch";import"./errors-9ucGZPEs.mjs";import"./client/user.mjs";import"@ethersproject/address";import"./hooks/internal-context.mjs";import"react";import"./hooks/privy-context.mjs";import"./hooks/useWallets.mjs";import"./configuration/context.mjs";import"react/jsx-runtime";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"./plugins/context/PrivyPluginContext.mjs";import"./plugins/solana-funding/plugin.mjs";import"@solana/web3.js";import"./plugins/solana-funding/id.mjs";import"./screens/index.mjs";import"./hooks/events-context.mjs";import"./hooks/modal-context.mjs";import"./components/PrefetchedImage.mjs";import"./lib/funding/prepareFundingModalData.mjs";import"./lib/caip2.mjs";import"./lib/funding/filterSupportedOptions.mjs";import"./lib/funding/moonpay/index.mjs";import"./lib/funding/analytics.mjs";import"./lib/funding/usdc.mjs";