@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
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),n=require("react"),i=require("viem"),t=require("../../components/Layouts.js"),o=require("../../components/ModalFooter.js"),s=require("../../components/ScreenHeader.js"),a=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),c=require("../../components/primitives/NeutralSpinner/index.js"),u=require("../../connectors/chains/utils.js"),l=require("../../constants.js"),d=require("../../errors.js"),h=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),j=require("../../hooks/useGetTokenPrice.js"),p=require("../../hooks/useWallets.js"),g=require("../../lib/external-wallets/displayHelpers.js"),m=require("../../lib/funding/analytics.js"),f=require("../../lib/funding/reservoir.js"),v=require("../../lib/solana/index.js"),y=require("../../lib/solana/transaction.js"),S=require("../../lib/wallets/actions/getBalanceForChains.js"),C=require("../../utils/index.js"),b=require("../index.js"),w=require("./BridgeNetworkSelectionView.js"),I=require("./TransferOrBridgeLoadingScreen.js");function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../utils/buffer/readBigInt64LE.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Subtitle.js"),require("../../components/ui/typography/Title.js"),require("../../components/ui/wallet/NetworkBalanceCard.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../components/ui/wallet/shared.js"),require("../../components/ui/wallet/NetworkSelectorPanel.js"),require("@headlessui/react"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("../../lib/ethers.js"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../ethers-De6TACnn.js"),require("./styles.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon");var T=/*#__PURE__*/E(r);exports.AwaitingEvmToSolBridgingScreen=()=>{let{rpcConfig:r,appId:E,closePrivyModal:A,createAnalyticsEvent:N}=h.usePrivyInternal(),{navigate:x,setModalData:k,app:P,data:F}=q.usePrivyModal(),{wallets:L}=p.useWallets(),[R,_]=n.useState(null),[B,M]=n.useState(null),[U,O]=n.useState([]),[W,D]=n.useState(0),[G,H]=n.useState(!1),[V,Y]=n.useState(!1),[$,z]=n.useState(!1),[Q,X]=n.useState(!1);if(!F?.funding||"solana"!==F.funding.chainType)throw Error("Invalid funding data");let{address:J,cluster:K,amount:Z,connectedWalletAddress:ee}=F.funding,re=ee?L.find((({address:e})=>e===ee)):L[0],[ne,ie]=n.useState(null);n.useEffect((()=>{(async()=>{if(!re)return;let e=await re.getEthereumProvider();ie(i.createWalletClient({account:re.address,transport:i.custom(e)}).extend(i.publicActions))})().catch(console.error)}),[re]);let[te,oe]=n.useState(0n),se=y.getNativeCurrencyFromLamports(te);n.useEffect((()=>{(async()=>{let{Connection:e,PublicKey:r}=await import("@solana/web3.js");new e(v.getSolanaRpcEndpointForCluster(K)).getBalance(new r(J)).then((e=>oe(BigInt(e))))})()}),[]);let[ae,ce]=n.useState(),{tokenPrice:ue}=j.useGetTokenPrice("solana"),{fundingAmountInBaseUnit:le,fundingAmountInUsd:de}=y.getSolanaFormattedAmounts({amount:Z,fee:0n,tokenPrice:ue});n.useEffect((()=>{(async()=>{if(!ne||!re)return;let e=["testnet","devnet"].includes(K.name);e&&console.warn("Solana testnets are not supported for bridging");let n=u.addToDefaultChains(P.chains).filter((({testnet:r})=>!!r===e)),i=(await S.getBalanceForChains({chains:n,address:re.address,appId:E,rpcConfig:r})).filter((e=>e.balance>0n));if(i.length<1)return void _(new d.PrivyClientError(`Wallet ${C.formatWalletAddress(re.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));i.sort(((e,r)=>Number(r.balance-e.balance)));let t=(await Promise.allSettled(i.map((async e=>({...e,quote:await f.getQuote({isTestnet:!1,input:f.toGetQuoteInput({amount:le.toString(),user:re.address,recipient:J,destinationChainId:v.RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID,destinationCurrency:v.RELAY_SOLANA_NATIVE_CURRENCY_ID,originChainId:e.chain.id})})}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(t.length<1)return void _(new d.PrivyClientError(`Unable to fetch quotes for bridging. Wallet ${C.formatWalletAddress(re.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));let o=t.map((({quote:e,balance:r,chain:n})=>({bridgeTx:f.toEvmTransactionRequestInfoFromQuote(e),balance:r,chain:n}))).filter((({bridgeTx:e})=>!!e));if(o.length>1)return void O(o);let s=o.at(0);s?(Y(!0),ce({data:s.bridgeTx.data,to:s.bridgeTx.to,value:s.bridgeTx.value,chain:s.chain})):_(new d.PrivyClientError(`Unable to select bridge option from quotes. Wallet ${C.formatWalletAddress(re.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[ne]),n.useEffect((()=>{(async()=>{let e,n;if(!ne||!re||G||$||!ae)return;H(!0);let t=i.createPublicClient({chain:ae.chain,transport:i.http(C.getJsonRpcEndpointFromChain(ae.chain,r,E))});try{e=await t.prepareTransactionRequest({account:re.address,to:ae.to,chain:ae.chain,data:ae.data,value:BigInt(ae.value??0)})}catch(e){console.error(e),U.length>1&&M(e.shortMessage??"Something went wrong")}if(e){H(!1),z(!0);try{await ne.switchChain({id:ae.chain.id})}catch(e){await ne.addChain({chain:ae.chain}),await ne.switchChain({id:ae.chain.id})}try{n=await ne.sendTransaction(e),N({eventName:m.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:re.address,chainId:ae.chain.id,value:ae.value?.toString(),txHash:n}})}catch(e){console.error(e),"TransactionExecutionError"===e.name&&(U.length<1?_(new d.PrivyClientError(e.shortMessage,void 0,d.PrivyErrorCode.TRANSACTION_FAILURE)):M(e.shortMessage??"Something went wrong"))}n?(await ne.waitForTransactionReceipt({hash:n}),z(!1),X(!0)):z(!1)}else H(!1)})().catch(console.error)}),[ne,ae]),n.useEffect((()=>{if(!R)return;let e={error:R,previousScreen:b.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};k({funding:F?.funding,sendTransaction:F?.sendTransaction,errorModalData:e}),x(b.ModalScreen.ERROR_SCREEN,!1)}),[R]);let he=re?g.toDisplayName(re.walletClientType,re.connectorType,re.walletClientType)||"wallet":null;if(n.useEffect((()=>{if(!Q)return;let e=setTimeout(A,l.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[Q]),Q/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsx(t.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(t.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(T.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(s.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${Z} SOL to your ${P.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(t.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]});let qe=U[W];return U.length>1&&qe?/*#__PURE__*/e.jsx(w.BridgeNetworkSelectionView,{displayName:he,configuredFundingChain:K,formattedBalance:se,fundingAmount:Z,fundingCurrency:"SOL",fundingAmountInUsd:de,options:U,selectedOption:qe,isPreparing:G,isSubmitting:$,errorMessage:B,onSubmit:()=>{ce({to:qe.bridgeTx.to,data:qe.bridgeTx.data,value:qe.bridgeTx.value,chain:qe.chain})},onSelect:e=>{e!==W&&(M(null),D(e))}}):$&&re?/*#__PURE__*/e.jsx(I.TransferOrBridgeLoadingScreen,{wallet:re,displayName:he,addressToFund:J,isBridging:V,isErc20Flow:!1,chainId:"solana",chainName:K.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),n=require("react"),i=require("viem"),t=require("../../components/Layouts.js"),o=require("../../components/ModalFooter.js"),s=require("../../components/ScreenHeader.js"),a=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),c=require("../../components/primitives/NeutralSpinner/index.js"),u=require("../../connectors/chains/utils.js"),l=require("../../constants.js"),d=require("../../errors.js"),h=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),g=require("../../hooks/useGetTokenPrice.js"),j=require("../../hooks/useWallets.js"),p=require("../../lib/external-wallets/displayHelpers.js"),m=require("../../lib/funding/analytics.js"),f=require("../../lib/funding/reservoir.js"),v=require("../../lib/solana/index.js"),y=require("../../lib/solana/transaction.js"),C=require("../../lib/wallets/actions/getBalanceForChains.js"),S=require("../../plugins/context/PrivyPluginContext.js"),I=require("../../plugins/solana-funding/id.js"),b=require("../../utils/index.js"),E=require("../index.js"),w=require("./BridgeNetworkSelectionView.js"),A=require("./TransferOrBridgeLoadingScreen.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../utils/buffer/readBigInt64LE.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Subtitle.js"),require("../../components/ui/typography/Title.js"),require("../../components/ui/wallet/NetworkBalanceCard.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../components/ui/wallet/shared.js"),require("../../components/ui/wallet/NetworkSelectorPanel.js"),require("@headlessui/react"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("../../lib/ethers.js"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../ethers-De6TACnn.js"),require("./styles.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("../../formatters-DnPKmSM4.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon");var T=/*#__PURE__*/N(r);exports.AwaitingEvmToSolBridgingScreen=()=>{let{rpcConfig:r,appId:N,closePrivyModal:x,createAnalyticsEvent:_}=h.usePrivyInternal(),{navigate:L,setModalData:P,app:k,data:F}=q.usePrivyModal(),{wallets:R}=j.useWallets(),B=S.usePlugins(),[M,U]=n.useState(null),[O,W]=n.useState(null),[D,G]=n.useState([]),[H,Y]=n.useState(0),[Q,V]=n.useState(!1),[$,z]=n.useState(!1),[X,J]=n.useState(!1),[Z,K]=n.useState(!1);if(!F?.funding||"solana"!==F.funding.chainType)throw Error("Invalid funding data");let{address:ee,cluster:re,connectedWalletAddress:ne}=F.funding,[ie,te]=n.useState(F.funding.amount),oe=ne?R.find((({address:e})=>e===ne)):R[0],[se,ae]=n.useState(null);n.useEffect((()=>{(async()=>{if(!oe)return;let e=await oe.getEthereumProvider();ae(i.createWalletClient({account:oe.address,transport:i.custom(e)}).extend(i.publicActions))})().catch(console.error)}),[oe]);let[ce,ue]=n.useState(0n),le=y.getNativeCurrencyFromLamports(ce);n.useEffect((()=>{let e=B(I.SOLANA_FUNDING_PLUGIN_ID);e?e.getBalance({address:ee,cluster:re}).then((e=>ue(BigInt(e)))):console.warn("Unable to load solana plugin, skipping balance")}),[]);let[de,he]=n.useState(),{tokenPrice:qe}=g.useGetTokenPrice("solana"),{fundingAmountInBaseUnit:ge,fundingAmountInUsd:je}=y.getSolanaFormattedAmounts({amount:ie,fee:0n,tokenPrice:qe});n.useEffect((()=>{(async()=>{if(!se||!oe)return;let e=["testnet","devnet"].includes(re.name);e&&console.warn("Solana testnets are not supported for bridging");let n=u.addToDefaultChains(k.chains).filter((({testnet:r})=>!!r===e)),i=(await C.getBalanceForChains({chains:n,address:oe.address,appId:N,rpcConfig:r})).filter((e=>e.balance>0n));if(i.length<1)return void U(new d.PrivyClientError(`Wallet ${b.formatWalletAddress(oe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));i.sort(((e,r)=>Number(r.balance-e.balance)));let t=(await Promise.allSettled(i.map((async e=>({...e,quote:await f.getQuote({isTestnet:!1,input:f.toGetQuoteInput({amount:ge.toString(),user:oe.address,recipient:ee,destinationChainId:v.RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID,destinationCurrency:v.RELAY_SOLANA_NATIVE_CURRENCY_ID,originChainId:e.chain.id})})}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(t.length<1)return void U(new d.PrivyClientError(`Unable to fetch quotes for bridging. Wallet ${b.formatWalletAddress(oe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));let o=t.map((({quote:e,balance:r,chain:n})=>({bridgeTx:f.toEvmTransactionRequestInfoFromQuote(e),balance:r,chain:n}))).filter((({bridgeTx:e})=>!!e));if(o.length>1)return void G(o);let s=o.at(0);s?(z(!0),he({data:s.bridgeTx.data,to:s.bridgeTx.to,value:s.bridgeTx.value,chain:s.chain})):U(new d.PrivyClientError(`Unable to select bridge option from quotes. Wallet ${b.formatWalletAddress(oe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[se]),n.useEffect((()=>{(async()=>{let e,n;if(!se||!oe||Q||X||!de)return;V(!0);let t=i.createPublicClient({chain:de.chain,transport:i.http(b.getJsonRpcEndpointFromChain(de.chain,r,N))});try{e=await t.prepareTransactionRequest({account:oe.address,to:de.to,chain:de.chain,data:de.data,value:BigInt(de.value??0)})}catch(e){console.error(e),D.length>1&&W(e.shortMessage??"Something went wrong")}if(e){V(!1),J(!0);try{await se.switchChain({id:de.chain.id})}catch(e){await se.addChain({chain:de.chain}),await se.switchChain({id:de.chain.id})}try{n=await se.sendTransaction(e),_({eventName:m.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:oe.address,chainId:de.chain.id,value:de.value?.toString(),txHash:n}})}catch(e){console.error(e),"TransactionExecutionError"===e.name&&(D.length<1?U(new d.PrivyClientError(e.shortMessage,void 0,d.PrivyErrorCode.TRANSACTION_FAILURE)):W(e.shortMessage??"Something went wrong"))}n?(await se.waitForTransactionReceipt({hash:n}),J(!1),K(!0)):J(!1)}else V(!1)})().catch(console.error)}),[se,de]),n.useEffect((()=>{if(!M)return;let e={error:M,previousScreen:E.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};P({funding:F?.funding,sendTransaction:F?.sendTransaction,errorModalData:e}),L(E.ModalScreen.ERROR_SCREEN,!1)}),[M]);let pe=oe?p.toDisplayName(oe.walletClientType,oe.connectorType,oe.walletClientType)||"wallet":null;if(n.useEffect((()=>{if(!Z)return;let e=setTimeout(x,l.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[Z]),Z/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsx(t.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(t.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(T.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(s.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${ie} SOL to your ${k.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(t.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]});let me=D[H];return D.length>1&&me?/*#__PURE__*/e.jsx(w.BridgeNetworkSelectionView,{displayName:pe,configuredFundingChain:re,formattedBalance:le,fundingAmount:ie,fundingCurrency:"SOL",fundingAmountInUsd:je,options:D,selectedOption:me,isPreparing:Q,isSubmitting:X,addressToFund:ee,fundingWalletAddress:oe?.address||"",errorMessage:O,onSubmit:()=>{F.funding?.amount!==ie?async function(){if(oe&&me)try{let e=await f.getQuote({isTestnet:!1,input:f.toGetQuoteInput({amount:ge.toString(),user:oe.address,recipient:ee,destinationChainId:v.RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID,destinationCurrency:v.RELAY_SOLANA_NATIVE_CURRENCY_ID,originChainId:me.chain.id})}),r=f.toEvmTransactionRequestInfoFromQuote(e);if(!r)throw Error("Invalid transaction request");z(!0),he({data:r.data,to:r.to,value:r.value,chain:me.chain})}catch(e){console.error(e),U(new d.PrivyClientError("Unable to fetch quotes for bridging",e,d.PrivyErrorCode.INSUFFICIENT_BALANCE))}}().catch(console.error):he({to:me.bridgeTx.to,data:me.bridgeTx.data,value:me.bridgeTx.value,chain:me.chain})},onSelect:e=>{e!==H&&(W(null),Y(e))},onAmountChange:te}):X&&oe?/*#__PURE__*/e.jsx(A.TransferOrBridgeLoadingScreen,{wallet:oe,displayName:pe,addressToFund:ee,isBridging:$,isErc20Flow:!1,chainId:"solana",chainName:re.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
2
2
  /*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsx(c.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]})};
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),n=require("react"),s=require("../../components/Layouts.js"),i=require("../../components/ModalFooter.js"),o=require("../../components/ScreenHeader.js"),t=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),a=require("../../components/primitives/NeutralSpinner/index.js"),c=require("../../constants.js"),u=require("../../errors.js"),l=require("../../hooks/internal-context.js"),d=require("../../hooks/modal-context.js"),j=require("../../hooks/useGetTokenPrice.js"),q=require("../../lib/external-wallets/displayHelpers.js"),h=require("../../lib/funding/analytics.js"),p=require("../../lib/solana/index.js"),m=require("../../lib/solana/transaction.js"),g=require("../../utils/index.js"),f=require("../index.js"),v=require("./TransferOrBridgeLoadingScreen.js"),y=require("../../hooks/useSolanaWallets.js");function S(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../utils/buffer/readBigInt64LE.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../client/user.js"),require("@ethersproject/address"),require("../../hooks/privy-context.js"),require("../../hooks/useWallets.js");var w=/*#__PURE__*/S(r);exports.AwaitingExternalSolanaTransferScreen=()=>{let{closePrivyModal:r,createAnalyticsEvent:S}=l.usePrivyInternal(),{navigate:I,setModalData:E,app:T,data:b}=d.usePrivyModal(),{wallets:C}=y.useSolanaWallets(),[A,x]=n.useState(0n),[P,N]=n.useState(null),[k,R]=n.useState(!1),[F,L]=n.useState(!1),_=n.useRef(!1);if(!b?.funding||"solana"!==b.funding.chainType)throw Error("Invalid funding data");let{address:M,amount:B,cluster:O,connectedWalletAddress:U}=b.funding,W=p.getSolanaRpcEndpointForCluster(O),{tokenPrice:G}=j.useGetTokenPrice("solana"),{fundingAmountInBaseUnit:H,totalPriceInUsd:D,totalPriceInNativeCurrency:z,feePriceInNativeCurrency:$,feePriceInUsd:V}=m.getSolanaFormattedAmounts({amount:B,fee:A,tokenPrice:G}),X=U?C.find((({address:e})=>e===U)):C[0];if(n.useEffect((()=>{(async()=>{if("solana"!==X?.type||!X.sendTransaction||k||_.current)return;_.current=!0;let{Connection:e,PublicKey:r,SystemProgram:n,Transaction:s}=await import("@solana/web3.js"),i=new r(X.address),o=new s;o.add(n.transfer({fromPubkey:i,toPubkey:new r(M),lamports:H}));let t=new e(W),a=await t.getLatestBlockhash();o.recentBlockhash=a.blockhash,o.feePayer=i;let c=await o.getEstimatedFee(t);null!=c&&x(BigInt(c)),R(!0);try{let e=await t.simulateTransaction(o);if(e.value.err)return e.value.logs?.find((e=>/insufficient (lamports|funds)/gi.test(e)))?void N(new u.PrivyClientError(`Wallet ${g.formatWalletAddress(X.address,void 0,void 0,"solana")} does not have enough funds.`,void 0,u.PrivyErrorCode.INSUFFICIENT_BALANCE)):(console.error("Transaction failed:",e.value.err),void N(new u.PrivyClientError("Something went wrong",void 0,u.PrivyErrorCode.TRANSACTION_FAILURE)));let r=await X.sendTransaction(o,t);S({eventName:h.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:X.address,value:H.toString(),txHash:r,chainType:"solana",rpcEndpoint:W}}),R(!1),L(!0)}catch(e){if(console.error(e),R(!1),/user rejected the request/gi.test(e.message||""))return void N(new u.PrivyClientError("Transaction was rejected by the user",void 0,u.PrivyErrorCode.TRANSACTION_FAILURE));N(new u.PrivyClientError("Something went wrong",void 0,u.PrivyErrorCode.TRANSACTION_FAILURE))}})().catch(console.error).finally((()=>_.current=!1))}),[]),n.useEffect((()=>{if(!P)return;let e={error:P,previousScreen:f.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};E({funding:b?.funding,sendTransaction:b?.sendTransaction,errorModalData:e}),I(f.ModalScreen.ERROR_SCREEN,!1)}),[P]),n.useEffect((()=>{if(!F)return;let e=setTimeout(r,c.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[F]),F/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.default,{}),/*#__PURE__*/e.jsx(s.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(s.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(w.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${B} SOL to your ${T.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(s.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(i.BlobbyFooter,{})]});let Y=X?q.toDisplayName(X.walletClientType,X.connectorType,X.walletClientType)||"wallet":null;return X&&k?/*#__PURE__*/e.jsx(v.TransferOrBridgeLoadingScreen,{wallet:X,displayName:Y,addressToFund:M,isBridging:!1,isErc20Flow:!1,totalPriceInUsd:D,totalPriceInNativeCurrency:z,gasPriceInUsd:V,gasPriceInNativeCurrency:$,chainId:"solana",chainName:O.name}):
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),n=require("react"),s=require("../../components/Layouts.js"),i=require("../../components/ModalFooter.js"),o=require("../../components/ScreenHeader.js"),t=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),a=require("../../components/primitives/NeutralSpinner/index.js"),c=require("../../constants.js"),u=require("../../errors.js"),l=require("../../hooks/internal-context.js"),d=require("../../hooks/modal-context.js"),j=require("../../hooks/useGetTokenPrice.js"),q=require("../../lib/external-wallets/displayHelpers.js"),p=require("../../lib/funding/analytics.js"),h=require("../../lib/solana/index.js"),m=require("../../lib/solana/transaction.js"),g=require("../../plugins/context/PrivyPluginContext.js"),f=require("../../plugins/solana-funding/id.js"),v=require("../../utils/index.js"),y=require("../index.js"),S=require("./TransferOrBridgeLoadingScreen.js"),I=require("../../hooks/useSolanaWallets.js");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../utils/buffer/readBigInt64LE.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../client/user.js"),require("@ethersproject/address"),require("../../hooks/privy-context.js"),require("../../hooks/useWallets.js");var E=/*#__PURE__*/w(r);exports.AwaitingExternalSolanaTransferScreen=()=>{let{closePrivyModal:r,createAnalyticsEvent:w}=l.usePrivyInternal(),{navigate:T,setModalData:C,app:A,data:b}=d.usePrivyModal(),{wallets:x}=I.useSolanaWallets(),N=g.usePlugins(),[P,k]=n.useState(0n),[R,F]=n.useState(null),[_,L]=n.useState(!1),[M,U]=n.useState(!1),O=n.useRef(!1);if(!b?.funding||"solana"!==b.funding.chainType)throw Error("Invalid funding data");let{address:B,amount:W,cluster:G,connectedWalletAddress:D}=b.funding,H=h.getSolanaRpcEndpointForCluster(G),{tokenPrice:z}=j.useGetTokenPrice("solana"),{fundingAmountInBaseUnit:$,totalPriceInUsd:V,totalPriceInNativeCurrency:X,feePriceInNativeCurrency:Y,feePriceInUsd:Q}=m.getSolanaFormattedAmounts({amount:W,fee:P,tokenPrice:z}),Z=D?x.find((({address:e})=>e===D)):x[0];if(n.useEffect((()=>{(async()=>{if("solana"===Z?.type&&Z.sendTransaction&&!_&&!O.current){O.current=!0;try{let e=N(f.SOLANA_FUNDING_PLUGIN_ID);if(!e)throw new u.PrivyClientError("Unable to load solana plugin");let{connection:r,transaction:n}=await e.createTransferTransaction({from:Z.address,to:B,amount:$,cluster:G}),s=await n.getEstimatedFee(r);null!=s&&k(BigInt(s)),L(!0);let i=await r.simulateTransaction(n);if(i.value.err)return i.value.logs?.find((e=>/insufficient (lamports|funds)/gi.test(e)))?void F(new u.PrivyClientError(`Wallet ${v.formatWalletAddress(Z.address,void 0,void 0,"solana")} does not have enough funds.`,void 0,u.PrivyErrorCode.INSUFFICIENT_BALANCE)):(console.error("Transaction failed:",i.value.err),void F(new u.PrivyClientError("Something went wrong",void 0,u.PrivyErrorCode.TRANSACTION_FAILURE)));let o=await Z.sendTransaction(n,r);w({eventName:p.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:Z.address,value:$.toString(),txHash:o,chainType:"solana",rpcEndpoint:H}}),L(!1),U(!0)}catch(e){if(console.error(e),L(!1),/user rejected the request/gi.test(e.message||""))return void F(new u.PrivyClientError("Transaction was rejected by the user",void 0,u.PrivyErrorCode.TRANSACTION_FAILURE));F(new u.PrivyClientError("Something went wrong",void 0,u.PrivyErrorCode.TRANSACTION_FAILURE))}}})().catch(console.error).finally((()=>O.current=!1))}),[]),n.useEffect((()=>{if(!R)return;let e={error:R,previousScreen:y.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};C({funding:b?.funding,sendTransaction:b?.sendTransaction,errorModalData:e}),T(y.ModalScreen.ERROR_SCREEN,!1)}),[R]),n.useEffect((()=>{if(!M)return;let e=setTimeout(r,c.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[M]),M/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.default,{}),/*#__PURE__*/e.jsx(s.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(s.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(E.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${W} SOL to your ${A.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(s.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(i.BlobbyFooter,{})]});let J=Z?q.toDisplayName(Z.walletClientType,Z.connectorType,Z.walletClientType)||"wallet":null;return Z&&_?/*#__PURE__*/e.jsx(S.TransferOrBridgeLoadingScreen,{wallet:Z,displayName:J,addressToFund:B,isBridging:!1,isErc20Flow:!1,totalPriceInUsd:V,totalPriceInNativeCurrency:X,gasPriceInUsd:Q,gasPriceInNativeCurrency:Y,chainId:"solana",chainName:G.name}):
2
2
  /*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.default,{}),/*#__PURE__*/e.jsx(a.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(i.BlobbyFooter,{})]})};
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),n=require("react"),i=require("viem"),t=require("../../components/Layouts.js"),s=require("../../components/ModalFooter.js"),o=require("../../components/ScreenHeader.js"),a=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),c=require("../../components/primitives/NeutralSpinner/index.js"),u=require("../../connectors/chains/utils.js"),l=require("../../constants.js"),d=require("../../errors.js"),h=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),j=require("../../hooks/useGetTokenPrice.js"),g=require("../../hooks/useWallets.js"),p=require("../../lib/erc20/actions/abis/transfer.js"),m=require("../../lib/erc20/formatErc20TokenAmount.js"),f=require("../../lib/ethers.js"),v=require("../../lib/external-wallets/displayHelpers.js"),y=require("../../lib/funding/analytics.js"),C=require("../../lib/funding/reservoir.js"),S=require("../../lib/wallets/actions/getBalanceForChains.js"),b=require("../../lib/wallets/actions/getErc20Balance.js"),E=require("../../utils/index.js"),w=require("../index.js"),I=require("./BridgeNetworkSelectionView.js"),T=require("./TransferOrBridgeLoadingScreen.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../ethers-De6TACnn.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Subtitle.js"),require("../../components/ui/typography/Title.js"),require("../../components/ui/wallet/NetworkBalanceCard.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../components/ui/wallet/shared.js"),require("../../components/ui/wallet/NetworkSelectorPanel.js"),require("@headlessui/react"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("./styles.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon");var x=/*#__PURE__*/N(r);exports.AwaitingExternalTransferScreen=()=>{let{rpcConfig:r,appId:N,closePrivyModal:A,createAnalyticsEvent:F}=h.usePrivyInternal(),{navigate:k,setModalData:P,app:R,data:B}=q.usePrivyModal(),{wallets:_}=g.useWallets(),[M,W]=n.useState(!1),[L,U]=n.useState(0n),[D,O]=n.useState(!1),[H,$]=n.useState(null),[G,Q]=n.useState(null),[z,V]=n.useState([]),[J,X]=n.useState(0),[Y,Z]=n.useState(!1),[K,ee]=n.useState(!1),[re,ne]=n.useState(!1),[ie,te]=n.useState(!1);if(!B?.funding||"ethereum"!==B.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:se,chain:oe,amount:ae,connectedWalletAddress:ce}=B.funding,ue=B.funding.address,le=B.funding.erc20Address;n.useEffect((()=>{le&&!se&&$(Error("Unable to fetch token details"))}),[]);let de=!!le&&!!se,he=de?BigInt(parseFloat(ae)*10**se.decimals):i.parseEther(ae),qe=ce?_.find((({address:e})=>e===ce)):_[0],[je,ge]=n.useState(null);n.useEffect((()=>{(async()=>{if(!qe)return;let e=await qe.getEthereumProvider();ge(i.createWalletClient({account:qe.address,transport:i.custom(e)}).extend(i.publicActions))})().catch(console.error)}),[qe]);let[pe,me]=n.useState(0n);n.useEffect((()=>{i.createPublicClient({chain:oe,transport:i.http(E.getJsonRpcEndpointFromChain(oe,r,N))}).getBalance({address:ue}).then(me).catch(console.error)}),[]);let[fe,ve]=n.useState(0n);n.useEffect((()=>{de&&b.getErc20Balance({chain:oe,address:ue,appId:N,rpcConfig:r,erc20Address:le}).then((e=>ve(e.balance))).catch(console.error)}),[]);let{tokenPrice:ye}=j.useGetTokenPrice(oe.id),[Ce,Se]=n.useState({to:ue,chain:oe,value:he,data:void 0});n.useEffect((()=>{(async()=>{let e,n;if(!je||!qe||Y||re)return;Z(!0);let t=i.createPublicClient({chain:Ce.chain,transport:i.http(E.getJsonRpcEndpointFromChain(Ce.chain,r,N))});if(de&&!Ce.data)return await t.simulateContract({address:le,chain:Ce.chain,abi:p.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ue,he],account:qe.address}).catch((e=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}))?(Z(!1),void Se({to:le,chain:Ce.chain,data:i.encodeFunctionData({abi:p.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ue,he]}),value:"0x0"})):(Z(!1),void O(!0));try{e=await t.prepareTransactionRequest({account:qe.address,to:Ce.to,chain:Ce.chain,data:Ce.data,value:BigInt(Ce.value??0)})}catch(e){if(console.error(e),z.length>1)Q(e.shortMessage??"Something went wrong");else if(K&&0===z.length)return void $(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(qe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))}if(!e)return Z(!1),void O(!0);Z(!1),ne(!0),W(!0),U(e.gas);try{await je.switchChain({id:Ce.chain.id})}catch(e){await je.addChain({chain:Ce.chain}),await je.switchChain({id:Ce.chain.id})}try{n=await je.sendTransaction(e),F({eventName:y.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:qe.address,chainId:Ce.chain.id,value:Ce.value?.toString(),txHash:n}})}catch(e){if(console.error(e),"TransactionExecutionError"===e.name)if(z.length<1){let r=e.shortMessage;(e.shortMessage.includes("rejected the request")||e.details.includes("rejected the request"))&&(r="User rejected the request."),$(new d.PrivyClientError(r,void 0,d.PrivyErrorCode.TRANSACTION_FAILURE))}else Q(e.shortMessage??"Something went wrong")}n?(await je.waitForTransactionReceipt({hash:n}),ne(!1),te(!0)):ne(!1)})().catch(console.error)}),[je,Ce]),n.useEffect((()=>{(async()=>{if(!D||!je||!qe)return;let e=u.addToDefaultChains(R.chains).filter((e=>e.id!==oe.id&&!!e.testnet==!!oe.testnet));de&&e.unshift(oe);let n=await S.getBalanceForChains({chains:e,address:qe.address,appId:N,rpcConfig:r}),i=de?n.filter((e=>e.balance>0n)):n.filter((e=>e.balance>he));if(i.length<1)return void $(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(qe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));i.sort(((e,r)=>Number(r.balance-e.balance)));let t=(await Promise.allSettled(i.map((async e=>({quote:await C.getQuote({isTestnet:!!oe.testnet,input:C.toGetQuoteInput({amount:he.toString(),user:qe.address,recipient:ue,destinationChainId:oe.id,destinationCurrency:le,originChainId:e.chain.id})}),...e}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(t.length<1)return void $(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(qe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));let s=t.map((e=>({bridgeTx:C.toEvmTransactionRequestInfoFromQuote(e.quote),balance:e.balance,chain:e.chain}))).filter((e=>!!e.bridgeTx));if(s.length>1)return void V(s);let o=s[0];o?(ee(!0),Se({data:o.bridgeTx.data,to:o.bridgeTx.to,value:o.bridgeTx.value,chain:o.chain})):$(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(qe.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[D]),n.useEffect((()=>{if(!H)return;let e={error:H,previousScreen:w.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};P({funding:B?.funding,sendTransaction:B?.sendTransaction,errorModalData:e}),k(w.ModalScreen.ERROR_SCREEN,!1)}),[H]);let be=qe?v.toDisplayName(qe.walletClientType,qe.connectorType,qe.walletClientType)||"wallet":null,Ee=!de&&ye?f.getDollarsFromStringFloat(B?.funding?.amount??"0",ye):void 0,we=de?L:f.sumWeiQuantitiesToHexString([L,he]),Ie=we&&ye?f.getDollarsFromWei(we,ye):void 0,Te=we?f.getNativeCurrencyFromWei(we,"ETH"):void 0,Ne=L&&ye?f.getDollarsFromWei(L,ye):void 0,xe=L?f.getNativeCurrencyFromWei(L,"ETH"):void 0;if(n.useEffect((()=>{if(!ie)return;let e=setTimeout(A,l.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[ie]),ie/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsx(t.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(t.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(x.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${ae} ${de?se.symbol:oe.nativeCurrency.symbol} to your ${R.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(t.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]});let Ae=de?`${m.formatErc20TokenAmount({amount:fe,decimals:se.decimals})} ${se.symbol}`:f.getNativeCurrencyFromWei(pe,oe.nativeCurrency.symbol,3,!0),Fe=z[J];return z.length>1&&Fe?/*#__PURE__*/e.jsx(I.BridgeNetworkSelectionView,{displayName:be,configuredFundingChain:oe,formattedBalance:Ae,fundingAmount:ae,fundingCurrency:de?se.symbol:oe.nativeCurrency.symbol,fundingAmountInUsd:Ee,options:z,selectedOption:Fe,isPreparing:Y,isSubmitting:re,errorMessage:G,onSubmit:()=>{Se({to:Fe.bridgeTx.to,data:Fe.bridgeTx.data,value:Fe.bridgeTx.value,chain:Fe.chain})},onSelect:e=>{e!==J&&(Q(null),X(e))}}):M&&L&&qe&&B?.funding?/*#__PURE__*/e.jsx(T.TransferOrBridgeLoadingScreen,{wallet:qe,displayName:be,addressToFund:ue,isBridging:K,isErc20Flow:de,totalPriceInUsd:Ie,totalPriceInNativeCurrency:Te,gasPriceInUsd:Ne,gasPriceInNativeCurrency:xe,chainId:oe.id,chainName:oe.name}):
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),n=require("react"),t=require("viem"),i=require("../../components/Layouts.js"),s=require("../../components/ModalFooter.js"),o=require("../../components/ScreenHeader.js"),a=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),c=require("../../components/primitives/NeutralSpinner/index.js"),u=require("../../connectors/chains/utils.js"),l=require("../../constants.js"),d=require("../../errors.js"),h=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),g=require("../../hooks/useGetTokenPrice.js"),j=require("../../hooks/useWallets.js"),m=require("../../lib/erc20/actions/abis/transfer.js"),p=require("../../lib/erc20/formatErc20TokenAmount.js"),f=require("../../lib/ethers.js"),v=require("../../lib/external-wallets/displayHelpers.js"),y=require("../../lib/funding/analytics.js"),C=require("../../lib/funding/reservoir.js"),S=require("../../lib/wallets/actions/getBalanceForChains.js"),b=require("../../lib/wallets/actions/getErc20Balance.js"),E=require("../../utils/index.js"),w=require("../index.js"),I=require("./BridgeNetworkSelectionView.js"),T=require("./TransferOrBridgeLoadingScreen.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../ethers-De6TACnn.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Subtitle.js"),require("../../components/ui/typography/Title.js"),require("../../components/ui/wallet/NetworkBalanceCard.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../components/ui/wallet/shared.js"),require("../../components/ui/wallet/NetworkSelectorPanel.js"),require("@headlessui/react"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("./styles.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("../../formatters-DnPKmSM4.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon");var N=/*#__PURE__*/A(r);exports.AwaitingExternalTransferScreen=()=>{let{rpcConfig:r,appId:A,closePrivyModal:x,createAnalyticsEvent:F}=h.usePrivyInternal(),{navigate:k,setModalData:P,app:R,data:B}=q.usePrivyModal(),{wallets:_}=j.useWallets(),[W,M]=n.useState(!1),[L,U]=n.useState(0n),[D,O]=n.useState(!1),[H,G]=n.useState(null),[$,Q]=n.useState(null),[z,V]=n.useState([]),[J,X]=n.useState(0),[Y,Z]=n.useState(!1),[K,ee]=n.useState(!1),[re,ne]=n.useState(!1),[te,ie]=n.useState(!1);if(!B?.funding||"ethereum"!==B.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:se,chain:oe,connectedWalletAddress:ae}=B.funding,ce=B.funding.address,ue=B.funding.erc20Address,[le,de]=n.useState(B.funding.amount);n.useEffect((()=>{ue&&!se&&G(Error("Unable to fetch token details"))}),[]);let he=!!ue&&!!se,qe=he?BigInt(parseFloat(le)*10**se.decimals):t.parseEther(le),ge=ae?_.find((({address:e})=>e===ae)):_[0],[je,me]=n.useState(null);n.useEffect((()=>{(async()=>{if(!ge)return;let e=await ge.getEthereumProvider();me(t.createWalletClient({account:ge.address,transport:t.custom(e)}).extend(t.publicActions))})().catch(console.error)}),[ge]);let[pe,fe]=n.useState(0n);n.useEffect((()=>{t.createPublicClient({chain:oe,transport:t.http(E.getJsonRpcEndpointFromChain(oe,r,A))}).getBalance({address:ce}).then(fe).catch(console.error)}),[]);let[ve,ye]=n.useState(0n);n.useEffect((()=>{he&&b.getErc20Balance({chain:oe,address:ce,appId:A,rpcConfig:r,erc20Address:ue}).then((e=>ye(e.balance))).catch(console.error)}),[]);let{tokenPrice:Ce}=g.useGetTokenPrice(oe.id),[Se,be]=n.useState({to:ce,chain:oe,value:qe,data:void 0});n.useEffect((()=>{(async()=>{let e,n;if(!je||!ge||Y||re)return;Z(!0);let i=t.createPublicClient({chain:Se.chain,transport:t.http(E.getJsonRpcEndpointFromChain(Se.chain,r,A))});if(he&&!Se.data)return await i.simulateContract({address:ue,chain:Se.chain,abi:m.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ce,qe],account:ge.address}).catch((e=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}))?(Z(!1),void be({to:ue,chain:Se.chain,data:t.encodeFunctionData({abi:m.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ce,qe]}),value:"0x0"})):(Z(!1),void O(!0));try{e=await i.prepareTransactionRequest({account:ge.address,to:Se.to,chain:Se.chain,data:Se.data,value:BigInt(Se.value??0)})}catch(e){if(console.error(e),z.length>1)Q(e.shortMessage??"Something went wrong");else if(K&&0===z.length)return void G(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(ge.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))}if(!e)return Z(!1),void O(!0);Z(!1),ne(!0),M(!0),U(e.gas);try{await je.switchChain({id:Se.chain.id})}catch(e){await je.addChain({chain:Se.chain}),await je.switchChain({id:Se.chain.id})}try{n=await je.sendTransaction(e),F({eventName:y.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:ge.address,chainId:Se.chain.id,value:Se.value?.toString(),txHash:n}})}catch(e){if(console.error(e),"TransactionExecutionError"===e.name)if(z.length<1){let r=e.shortMessage;(e.shortMessage.includes("rejected the request")||e.details.includes("rejected the request"))&&(r="User rejected the request."),G(new d.PrivyClientError(r,void 0,d.PrivyErrorCode.TRANSACTION_FAILURE))}else Q(e.shortMessage??"Something went wrong")}n?(await je.waitForTransactionReceipt({hash:n}),ne(!1),ie(!0)):ne(!1)})().catch(console.error)}),[je,Se]),n.useEffect((()=>{(async()=>{if(!D||!je||!ge)return;let e=u.addToDefaultChains(R.chains).filter((e=>e.id!==oe.id&&!!e.testnet==!!oe.testnet));he&&e.unshift(oe);let n=await S.getBalanceForChains({chains:e,address:ge.address,appId:A,rpcConfig:r}),t=he?n.filter((e=>e.balance>0n)):n.filter((e=>e.balance>qe));if(t.length<1)return void G(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(ge.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));t.sort(((e,r)=>Number(r.balance-e.balance)));let i=(await Promise.allSettled(t.map((async e=>({quote:await C.getQuote({isTestnet:!!oe.testnet,input:C.toGetQuoteInput({amount:qe.toString(),user:ge.address,recipient:ce,destinationChainId:oe.id,destinationCurrency:ue,originChainId:e.chain.id})}),...e}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(i.length<1)return void G(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(ge.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));let s=i.map((e=>({bridgeTx:C.toEvmTransactionRequestInfoFromQuote(e.quote),balance:e.balance,chain:e.chain}))).filter((e=>!!e.bridgeTx));if(s.length>1)return void V(s);let o=s[0];o?(ee(!0),be({data:o.bridgeTx.data,to:o.bridgeTx.to,value:o.bridgeTx.value,chain:o.chain})):G(new d.PrivyClientError(`Wallet ${E.formatWalletAddress(ge.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[D]),n.useEffect((()=>{if(!H)return;let e={error:H,previousScreen:w.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};P({funding:B?.funding,sendTransaction:B?.sendTransaction,errorModalData:e}),k(w.ModalScreen.ERROR_SCREEN,!1)}),[H]);let Ee=ge?v.toDisplayName(ge.walletClientType,ge.connectorType,ge.walletClientType)||"wallet":null,we=!he&&Ce?f.getDollarsFromStringFloat(le??"0",Ce):void 0,Ie=he?L:f.sumWeiQuantitiesToHexString([L,qe]),Te=Ie&&Ce?f.getDollarsFromWei(Ie,Ce):void 0,Ae=Ie?f.getNativeCurrencyFromWei(Ie,"ETH"):void 0,Ne=L&&Ce?f.getDollarsFromWei(L,Ce):void 0,xe=L?f.getNativeCurrencyFromWei(L,"ETH"):void 0;if(n.useEffect((()=>{if(!te)return;let e=setTimeout(x,l.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[te]),te/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsx(i.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(i.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(N.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${le} ${he?se.symbol:oe.nativeCurrency.symbol} to your ${R.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(i.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]});let Fe=he?`${p.formatErc20TokenAmount({amount:ve,decimals:se.decimals})} ${se.symbol}`:f.getNativeCurrencyFromWei(pe,oe.nativeCurrency.symbol,3,!0),ke=z[J];return z.length>1&&ke?/*#__PURE__*/e.jsx(I.BridgeNetworkSelectionView,{displayName:Ee,configuredFundingChain:oe,formattedBalance:Fe,fundingAmount:le,fundingCurrency:he?se.symbol:oe.nativeCurrency.symbol,fundingAmountInUsd:we,options:z,selectedOption:ke,isPreparing:Y,isSubmitting:re,addressToFund:ce,fundingWalletAddress:ge?.address||"",errorMessage:$,onSubmit:()=>{B.funding?.amount!==le?async function(){if(ge&&ke)try{let e=await C.getQuote({isTestnet:!!oe.testnet,input:C.toGetQuoteInput({amount:qe.toString(),user:ge.address,recipient:ce,destinationChainId:oe.id,destinationCurrency:ue,originChainId:ke.chain.id})}),r=C.toEvmTransactionRequestInfoFromQuote(e);if(!r)throw Error("Invalid transaction request");ee(!0),be({data:r.data,to:r.to,value:r.value,chain:ke.chain})}catch(e){console.error(e),G(new d.PrivyClientError("Unable to fetch quotes for bridging",e,d.PrivyErrorCode.INSUFFICIENT_BALANCE))}}().catch(console.error):be({to:ke.bridgeTx.to,data:ke.bridgeTx.data,value:ke.bridgeTx.value,chain:ke.chain})},onSelect:e=>{e!==J&&(Q(null),X(e))},onAmountChange:de}):W&&L&&ge&&B?.funding?/*#__PURE__*/e.jsx(T.TransferOrBridgeLoadingScreen,{wallet:ge,displayName:Ee,addressToFund:ce,isBridging:K,isErc20Flow:he,totalPriceInUsd:Te,totalPriceInNativeCurrency:Ae,gasPriceInUsd:Ne,gasPriceInNativeCurrency:xe,chainId:oe.id,chainName:oe.name}):
2
2
  /*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsx(c.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]})};
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("../index.js"),n=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("react"),i=require("viem"),s=require("../../components/Layouts.js"),t=require("../../components/ModalFooter.js"),a=require("../../components/ScreenHeader.js"),c=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),u=require("../../components/primitives/NeutralSpinner/index.js"),l=require("../../constants.js"),d=require("../../errors.js"),j=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),h=require("../../lib/external-wallets/displayHelpers.js"),p=require("../../lib/funding/analytics.js"),m=require("../../lib/funding/reservoir.js"),g=require("../../lib/solana/index.js"),v=require("../../utils/index.js"),f=require("./TransferOrBridgeLoadingScreen.js"),y=require("../../hooks/useSolanaWallets.js");function S(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../client/user.js"),require("@ethersproject/address"),require("../../hooks/privy-context.js"),require("../../hooks/useWallets.js");var C=/*#__PURE__*/S(n);exports.AwaitingSolToEvmBridgingScreen=function(){let{closePrivyModal:n,createAnalyticsEvent:S}=j.usePrivyInternal(),{navigate:E,setModalData:A,app:w,data:I}=q.usePrivyModal(),{wallets:T}=y.useSolanaWallets(),N=o.useRef(!1),[b,_]=o.useState(!1),[R,x]=o.useState(!1),[L,F]=o.useState(null);if(!I?.funding||"ethereum"!==I.funding.chainType)throw Error("Invalid funding data");let{amount:P,connectedWalletAddress:k,chain:U,cluster:M,isUSDC:O}=I.funding,W=I.funding.address,B=I.funding.erc20Address,D=I.funding.isUSDC?"USDC":U.nativeCurrency.symbol,H=M??{name:"mainnet-beta"},$=k?T.find((({address:e})=>e===k)):T[0];if(o.useEffect((()=>{(async function(){if(!$||!U||N.current)return;N.current=!0,U?.testnet&&console.warn("Solana testnets are not supported for bridging");let e=O?1e6*parseFloat(P):i.parseEther(P),r=await m.getQuote({isTestnet:!!U.testnet,input:m.toGetQuoteInput({amount:e.toString(),user:$.address,recipient:W,destinationChainId:U.id,originChainId:g.RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID,originCurrency:O?g.RELAY_SOLANA_USDC_TOKEN_ID:g.RELAY_SOLANA_NATIVE_CURRENCY_ID,destinationCurrency:O?B:void 0})}).catch(console.error);if(!r)return void F(new d.PrivyClientError(`Unable to fetch quotes for bridging. Wallet ${v.formatSolanaWalletAddress($.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));let n=await m.toSolanaTransactionRequestInfoFromQuote(r);if(n)try{let{Connection:o,PublicKey:i,TransactionMessage:s,VersionedTransaction:t}=await import("@solana/web3.js"),a=new o(g.getSolanaRpcEndpointForCluster(H)),c=await Promise.all((n.addressLookupTableAddresses??[]).map((async e=>a.getAddressLookupTable(e).then((e=>e.value))))),{blockhash:u}=await a.getLatestBlockhash(),l=new t(new s({payerKey:new i($.address),instructions:n.instructions,recentBlockhash:u}).compileToV0Message(c));_(!0);let j=await a.simulateTransaction(l);if(j.value.err)return j.value.logs?.find((e=>/insufficient (lamports|funds)/gi.test(e)))?void F(new d.PrivyClientError(`Wallet ${v.formatSolanaWalletAddress($?.address)} does not have enough funds. ${r.details.currencyIn.amountFormatted} ${D} are needed to complete the transaction.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE)):(console.error("Transaction failed:",j.value.err),void F(new d.PrivyClientError("Something went wrong",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE)));let q=await $.sendTransaction(l,a),h=await a.confirmTransaction(q);if(h.value.err)return console.error("Transaction failed:",h.value.err),void F(new d.PrivyClientError("Something went wrong",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE));S({eventName:p.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:$.address,chainId:U.id,value:e.toString(),txHash:q}}),x(!0)}catch(e){if(console.error(e),/user rejected the request/gi.test(e.message||""))return void F(new d.PrivyClientError("Transaction was rejected by the user",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE));F(new d.PrivyClientError("Something went wrong",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE))}else F(new d.PrivyClientError(`Unable to select bridge option from quotes. Wallet ${v.formatSolanaWalletAddress($.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[]),o.useEffect((()=>{if(!R)return;let e=setTimeout(n,l.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[R]),o.useEffect((()=>{if(!L)return;let e={error:L,previousScreen:r.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};A({funding:I?.funding,sendTransaction:I?.sendTransaction,errorModalData:e}),E(r.ModalScreen.ERROR_SCREEN,!1)}),[L]),R/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(c.default,{}),/*#__PURE__*/e.jsx(s.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(s.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(C.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(a.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${P} ${D} to your ${w.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(s.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(t.BlobbyFooter,{})]});if(b&&$){let r=$?h.toDisplayName($.walletClientType,$.connectorType,$.walletClientType)||"wallet":null;/*#__PURE__*/return e.jsx(f.TransferOrBridgeLoadingScreen,{wallet:$,displayName:r,addressToFund:W,isBridging:b,isErc20Flow:!1,chainId:U.id,chainName:U.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0})}/*#__PURE__*/
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("../index.js"),n=require("@heroicons/react/24/outline/CheckCircleIcon"),i=require("react"),o=require("viem"),s=require("../../components/Layouts.js"),t=require("../../components/ModalFooter.js"),a=require("../../components/ScreenHeader.js"),c=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),u=require("../../components/primitives/NeutralSpinner/index.js"),l=require("../../constants.js"),d=require("../../errors.js"),j=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),h=require("../../lib/external-wallets/displayHelpers.js"),p=require("../../lib/funding/analytics.js"),g=require("../../lib/funding/reservoir.js"),m=require("../../lib/solana/index.js"),v=require("../../plugins/context/PrivyPluginContext.js"),f=require("../../plugins/solana-funding/id.js"),y=require("../../utils/index.js"),S=require("./TransferOrBridgeLoadingScreen.js"),C=require("../../hooks/useSolanaWallets.js");function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("ofetch"),require("../../components/PrefetchedImage.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../client/user.js"),require("@ethersproject/address"),require("../../hooks/privy-context.js"),require("../../hooks/useWallets.js");var A=/*#__PURE__*/E(n);exports.AwaitingSolToEvmBridgingScreen=function(){let{closePrivyModal:n,createAnalyticsEvent:E}=j.usePrivyInternal(),{navigate:I,setModalData:N,app:w,data:T}=q.usePrivyModal(),{wallets:b}=C.useSolanaWallets(),_=i.useRef(!1),x=v.usePlugins(),[R,P]=i.useState(!1),[L,F]=i.useState(!1),[U,k]=i.useState(null);if(!T?.funding||"ethereum"!==T.funding.chainType)throw Error("Invalid funding data");let{amount:O,connectedWalletAddress:M,chain:D,cluster:W,isUSDC:B}=T.funding,H=T.funding.address,$=T.funding.erc20Address,G=T.funding.isUSDC?"USDC":D.nativeCurrency.symbol,Y=W??{name:"mainnet-beta"},z=M?b.find((({address:e})=>e===M)):b[0];if(i.useEffect((()=>{(async function(){if(!z||!D||_.current)return;let e=x(f.SOLANA_FUNDING_PLUGIN_ID);if(!e)return void k(new d.PrivyClientError("Unable to solana plugin"));_.current=!0,D?.testnet&&console.warn("Solana testnets are not supported for bridging");let r=B?1e6*parseFloat(O):o.parseEther(O),n=await g.getQuote({isTestnet:!!D.testnet,input:g.toGetQuoteInput({amount:r.toString(),user:z.address,recipient:H,destinationChainId:D.id,originChainId:m.RELAY_SOLANA_MAINNET_CLUSTER_CHAIN_ID,originCurrency:B?m.RELAY_SOLANA_USDC_TOKEN_ID:m.RELAY_SOLANA_NATIVE_CURRENCY_ID,destinationCurrency:B?$:void 0})}).catch(console.error);if(!n)return void k(new d.PrivyClientError(`Unable to fetch quotes for bridging. Wallet ${y.formatSolanaWalletAddress(z.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE));let i=await e.createBridgeTransactionFromRelayQuote({quote:n,from:z.address,cluster:Y});if(i)try{P(!0);let{connection:e,transaction:o}=i,s=await e.simulateTransaction(o);if(s.value.err)return s.value.logs?.find((e=>/insufficient (lamports|funds)/gi.test(e)))?void k(new d.PrivyClientError(`Wallet ${y.formatSolanaWalletAddress(z?.address)} does not have enough funds. ${n.details.currencyIn.amountFormatted} ${G} are needed to complete the transaction.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE)):(console.error("Transaction failed:",s.value.err),void k(new d.PrivyClientError("Something went wrong",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE)));let t=await z.sendTransaction(o,e),a=await e.confirmTransaction(t);if(a.value.err)return console.error("Transaction failed:",a.value.err),void k(new d.PrivyClientError("Something went wrong",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE));E({eventName:p.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",address:z.address,chainId:D.id,value:r.toString(),txHash:t}}),F(!0)}catch(e){if(console.error(e),/user rejected the request/gi.test(e.message||""))return void k(new d.PrivyClientError("Transaction was rejected by the user",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE));k(new d.PrivyClientError("Something went wrong",void 0,d.PrivyErrorCode.TRANSACTION_FAILURE))}else k(new d.PrivyClientError(`Unable to select bridge option from quotes. Wallet ${y.formatSolanaWalletAddress(z.address)} does not have enough funds.`,void 0,d.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[]),i.useEffect((()=>{if(!L)return;let e=setTimeout(n,l.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[L]),i.useEffect((()=>{if(!U)return;let e={error:U,previousScreen:r.ModalScreen.FUNDING_TRANSFER_FROM_WALLET_SCREEN};N({funding:T?.funding,sendTransaction:T?.sendTransaction,errorModalData:e}),I(r.ModalScreen.ERROR_SCREEN,!1)}),[U]),L/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(c.default,{}),/*#__PURE__*/e.jsx(s.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(s.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(A.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(a.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${O} ${G} to your ${w.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(s.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(t.BlobbyFooter,{})]});if(R&&z){let r=z?h.toDisplayName(z.walletClientType,z.connectorType,z.walletClientType)||"wallet":null;/*#__PURE__*/return e.jsx(S.TransferOrBridgeLoadingScreen,{wallet:z,displayName:r,addressToFund:H,isBridging:R,isErc20Flow:!1,chainId:D.id,chainName:D.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0})}/*#__PURE__*/
2
2
  return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(c.default,{}),/*#__PURE__*/e.jsx(u.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(t.BlobbyFooter,{})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("../../components/Button.js"),n=require("../../components/Layouts.js"),o=require("../../components/ModalFooter.js"),i=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),s=require("../../components/ui/layout/Row.js"),c=require("../../components/ui/typography/ErrorMessage.js"),t=require("../../components/ui/typography/LabelSm.js"),a=require("../../components/ui/typography/Subtitle.js"),u=require("../../components/ui/typography/Title.js"),l=require("../../components/ui/wallet/NetworkBalanceCard.js"),j=require("../../components/ui/wallet/NetworkSelectorPanel.js"),q=require("../../lib/ethers.js"),h=require("./styles.js");require("styled-components"),require("../../components/Loader.js"),require("../../svg/protected-by-privy.js"),require("../../hooks/modal-context.js"),require("react"),require("../../components/PrefetchedImage.js"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../index.js"),require("../../hooks/index.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/internal-context.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../components/ui/wallet/shared.js"),require("@headlessui/react"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../utils/index.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../ethers-De6TACnn.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js");exports.BridgeNetworkSelectionView=({displayName:m,errorMessage:p,configuredFundingChain:d,formattedBalance:g,fundingAmount:y,fundingCurrency:b,fundingAmountInUsd:x,options:f,selectedOption:k,isPreparing:w,isSubmitting:C,onSubmit:S,onSelect:v})=>/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(i.default,{}),/*#__PURE__*/e.jsx(n.RefactorSpacerTop,{}),/*#__PURE__*/e.jsx(u.Title,{children:"Transfer from another network"}),/*#__PURE__*/e.jsxs(a.Subtitle,{children:["You need more funds on the ",d.name," network. Bridge from another blockchain network."]}),/*#__PURE__*/e.jsxs(h.FundingQuantityWrapper,{style:{marginTop:"2rem"},children:[/*#__PURE__*/e.jsxs(h.FundingQuantity,{children:[/*#__PURE__*/e.jsx(h.FundingAmount,{children:y}),/*#__PURE__*/e.jsx(h.FundingCurrency,{children:b})]}),x&&/*#__PURE__*/e.jsx(h.FundingDollars,{children:x})]}),/*#__PURE__*/e.jsx(s.Row,{style:{marginTop:"1.5rem"},children:/*#__PURE__*/e.jsx(t.LabelSm,{children:"From"})}),/*#__PURE__*/e.jsx(j.NetworkSelectorPanel,{selected:{chain:k.chain,balance:q.getNativeCurrencyFromWei(k.balance,k.chain.nativeCurrency.symbol,3,!0)},options:f.map((({chain:e,balance:r})=>({chain:e,balance:q.getNativeCurrencyFromWei(r,e.nativeCurrency.symbol,3,!0)}))),onSelect:v}),/*#__PURE__*/e.jsx(s.Row,{children:/*#__PURE__*/e.jsx(t.LabelSm,{style:{marginTop:"1.5rem"},children:"To"})}),/*#__PURE__*/e.jsx(l.NetworkBalanceCard,{chain:d,balance:g}),/*#__PURE__*/e.jsx(c.ErrorMessage,{style:{marginTop:"1rem"},children:p}),/*#__PURE__*/e.jsxs(r.PrimaryButtonWithoutGray,{style:{marginTop:"1rem"},loading:C||w,disabled:w||C,onClick:S,children:["Confirm with ",m]}),/*#__PURE__*/e.jsx(n.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]});
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("../../components/Button.js"),o=require("../../components/Layouts.js"),i=require("../../components/ModalFooter.js"),s=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),c=require("../../components/ui/layout/Row.js"),t=require("../../components/ui/typography/ErrorMessage.js"),a=require("../../components/ui/typography/LabelSm.js"),u=require("../../components/ui/typography/Subtitle.js"),l=require("../../components/ui/typography/Title.js"),j=require("../../components/ui/wallet/NetworkBalanceCard.js"),q=require("../../components/ui/wallet/NetworkSelectorPanel.js"),h=require("../../lib/ethers.js"),m=require("./styles.js"),p=require("../../formatters-DnPKmSM4.js");require("styled-components"),require("../../components/Loader.js"),require("../../svg/protected-by-privy.js"),require("../../hooks/modal-context.js"),require("../../components/PrefetchedImage.js"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../index.js"),require("../../hooks/index.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/internal-context.js"),require("@heroicons/react/24/outline/WalletIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/wallet/NetworkIcon.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("../../components/ui/icons/Arbitum.js"),require("../../components/ui/icons/Avalanche.js"),require("../../components/ui/icons/Base.js"),require("../../components/ui/icons/Celo.js"),require("../../components/ui/icons/Linea.js"),require("../../components/ui/icons/Mainnnet.js"),require("../../components/ui/icons/Optimism.js"),require("../../components/ui/icons/Polygon.js"),require("../../components/ui/icons/Solana.js"),require("../../components/ui/icons/Zora.js"),require("../../components/ui/wallet/shared.js"),require("@headlessui/react"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../utils/index.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../ethers-De6TACnn.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("viem");exports.BridgeNetworkSelectionView=({displayName:d,errorMessage:g,configuredFundingChain:y,formattedBalance:b,fundingAmount:f,fundingCurrency:x,fundingAmountInUsd:k,options:C,selectedOption:S,isPreparing:w,isSubmitting:v,addressToFund:I,fundingWalletAddress:F,onSubmit:T,onSelect:A,onAmountChange:L})=>{let B=r.useRef(null);/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(s.default,{}),/*#__PURE__*/e.jsx(o.RefactorSpacerTop,{}),/*#__PURE__*/e.jsx(l.Title,{children:"Transfer from another network"}),/*#__PURE__*/e.jsxs(u.Subtitle,{children:["You need more funds on the ",y.name," network. Bridge from another blockchain network."]}),/*#__PURE__*/e.jsxs(m.FundingQuantityWrapper,{style:{marginTop:"2rem"},children:[/*#__PURE__*/e.jsxs(m.FundingQuantity,{onClick:()=>B.current?.focus(),children:[/*#__PURE__*/e.jsx(m.FundingAmountInput,{ref:B,value:f,style:{fontSize:"26px !important"},onChange:e=>{let r=e.target.value;/^[0-9.]*$/.test(r)&&r.split(".").length-1<=1&&L(r)}}),/*#__PURE__*/e.jsx(m.FundingCurrency,{children:x})]}),k&&/*#__PURE__*/e.jsx(m.FundingDollars,{children:k})]}),/*#__PURE__*/e.jsxs(c.Row,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/e.jsx(a.LabelSm,{children:"From"}),/*#__PURE__*/e.jsx(a.LabelSm,{children:p.o(F)})]}),/*#__PURE__*/e.jsx(q.NetworkSelectorPanel,{selected:{chain:S.chain,balance:h.getNativeCurrencyFromWei(S.balance,S.chain.nativeCurrency.symbol,3,!0)},options:C.map((({chain:e,balance:r})=>({chain:e,balance:h.getNativeCurrencyFromWei(r,e.nativeCurrency.symbol,3,!0)}))),onSelect:A}),/*#__PURE__*/e.jsxs(c.Row,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/e.jsx(a.LabelSm,{children:"To"}),/*#__PURE__*/e.jsx(a.LabelSm,{children:p.o(I)})]}),/*#__PURE__*/e.jsx(j.NetworkBalanceCard,{chain:y,balance:b}),/*#__PURE__*/e.jsx(t.ErrorMessage,{style:{marginTop:"1rem"},children:g}),/*#__PURE__*/e.jsxs(n.PrimaryButtonWithoutGray,{style:{marginTop:"1rem"},loading:v||w,disabled:w||v,onClick:T,children:["Confirm with ",d]}),/*#__PURE__*/e.jsx(o.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(i.BlobbyFooter,{})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/PencilIcon"),n=require("react"),i=require("../../components/Button.js"),o=require("../../components/Layouts.js"),s=require("../../components/ModalFooter.js"),t=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),c=require("../../components/primitives/NeutralSpinner/index.js"),u=require("../../components/ui/typography/Title.js"),a=require("../../hooks/modal-context.js"),l=require("../../hooks/useGetTokenPrice.js"),j=require("../../lib/ethers.js"),h=require("../LinkPasskeyScreen.js"),q=require("./styles.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../components/Loader.js"),require("../../svg/protected-by-privy.js"),require("../index.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/internal-context.js"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../utils/index.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../ethers-De6TACnn.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js");var m=/*#__PURE__*/d(r);exports.FundingAmountEditScreen=()=>{let{data:r,setModalData:d}=a.usePrivyModal(),p=r?.funding,g="solana"===p.chainType,f=n.useRef(null),[y,x]=n.useState(!1),{tokenPrice:k}=l.useGetTokenPrice(g?"solana":p.chain.id);n.useEffect((()=>{f.current&&f.current.style.setProperty("--funding-input-length",Math.max(p.amount.length,1).toString())}),[p.amount,f.current]);let C=g?void 0:p,b=!(!C?.erc20Address||C?.erc20ContractInfo),v=g?"SOL":p.erc20Address?p.erc20ContractInfo?.symbol:p.chain.nativeCurrency.symbol||"ETH",F=parseFloat(p.amount),S=!isNaN(F)&&F>0,I=k?j.getDollarsFromStringFloat(p.amount,k):void 0;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.default,{}),/*#__PURE__*/e.jsx(u.Title,{children:"Confirm or edit amount"}),/*#__PURE__*/e.jsxs(o.FlexContainer,{style:{marginTop:"32px"},children:[/*#__PURE__*/e.jsx(q.FundingQuantityWrapper,{children:b?/*#__PURE__*/e.jsx(c.NeutralSpinner,{size:"50px"}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(q.FundingQuantity,{onClick:()=>f.current?.focus(),children:[/*#__PURE__*/e.jsx(q.FundingAmountInput,{ref:f,value:p.amount,onFocus:()=>x(!0),onBlur:()=>x(!1),onChange:e=>{let n=e.target.value;/^[0-9.]*$/.test(n)&&n.split(".").length-1<=1&&d({...r,funding:{...p,amount:n}})}}),/*#__PURE__*/e.jsx(q.FundingCurrency,{children:v}),!y&&/*#__PURE__*/e.jsx(q.FundingAmountEditButton,{children:/*#__PURE__*/e.jsx(m.default,{width:12,height:12})})]}),!C?.erc20Address&&/*#__PURE__*/e.jsx(q.FundingDollars,{children:I&&S?I:""})]})}),/*#__PURE__*/e.jsx(h.LinkButton,{onClick:()=>{f.current?.focus()},children:"Edit amount"}),/*#__PURE__*/e.jsx(i.PrimaryButtonWithoutGray,{style:{marginTop:"1rem"},disabled:!S,onClick:p.onContinueWithExternalWallet,children:"Continue"})]}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("../../components/Button.js"),i=require("../../components/Layouts.js"),o=require("../../components/ModalFooter.js"),s=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),t=require("../../components/primitives/NeutralSpinner/index.js"),c=require("../../components/ui/typography/Title.js"),u=require("../../hooks/modal-context.js"),a=require("../../hooks/useGetTokenPrice.js"),l=require("../../lib/ethers.js"),j=require("./styles.js");require("styled-components"),require("../../components/Loader.js"),require("../../svg/protected-by-privy.js"),require("../index.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/internal-context.js"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("../../hooks/useGetSolPrice.js"),require("@ethersproject/bignumber"),require("@ethersproject/units"),require("../../utils/index.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../ethers-De6TACnn.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js");exports.FundingAmountEditScreen=()=>{let{data:q,setModalData:h}=u.usePrivyModal(),d=q?.funding,p="solana"===d.chainType,m=r.useRef(null),{tokenPrice:g}=a.useGetTokenPrice(p?"solana":d.chain.id),y=p?void 0:d,x=!(!y?.erc20Address||y?.erc20ContractInfo),f=p?"SOL":d.erc20Address?d.erc20ContractInfo?.symbol:d.chain.nativeCurrency.symbol||"ETH",k=parseFloat(d.amount),C=!isNaN(k)&&k>0,b=g?l.getDollarsFromStringFloat(d.amount,g):void 0;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(s.default,{}),/*#__PURE__*/e.jsx(c.Title,{children:"Confirm or edit amount"}),/*#__PURE__*/e.jsxs(i.FlexContainer,{style:{marginTop:"32px"},children:[/*#__PURE__*/e.jsx(j.FundingQuantityWrapper,{children:x?/*#__PURE__*/e.jsx(t.NeutralSpinner,{size:"50px"}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(j.FundingQuantity,{onClick:()=>m.current?.focus(),children:[/*#__PURE__*/e.jsx(j.FundingAmountInput,{ref:m,style:{fontSize:"42px !important"},value:d.amount,onChange:e=>{let r=e.target.value;/^[0-9.]*$/.test(r)&&r.split(".").length-1<=1&&h({...q,funding:{...d,amount:r}})}}),/*#__PURE__*/e.jsx(j.FundingCurrency,{children:f})]}),!y?.erc20Address&&/*#__PURE__*/e.jsx(j.FundingDollars,{children:b&&C?`${b} USD`:""})]})}),/*#__PURE__*/e.jsx(n.PrimaryButtonWithoutGray,{style:{marginTop:"1rem"},disabled:!C,onClick:d.onContinueWithExternalWallet,children:"Continue"})]}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("../../components/Button.js"),s=require("../../components/Layouts.js"),o=require("../../components/ModalFooter.js"),i=require("../../components/QrCode.js"),a=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),t=require("../../components/ui/banners/InfoBanner.js"),c=require("../../components/ui/typography/Subtitle.js"),u=require("../../components/ui/typography/Title.js"),l=require("../../components/ui/wallet/WalletInfoCard.js"),d=require("../../configuration/context.js"),h=require("../../hooks/internal-context.js"),q=require("../../hooks/modal-context.js"),j=require("../../hooks/useWalletBalance.js"),p=require("../../hooks/useWallets.js"),m=require("../../lib/funding/analytics.js"),g=require("../../lib/solana/index.js"),f=require("../../lib/solana/transaction.js"),y=require("../../lib/wallets/actions/getErc20Balance.js"),v=require("../../svg/blobby.js"),C=require("../../utils/index.js"),b=require("../index.js"),S=require("../../hooks/useSolanaWallets.js"),I=require("viem");function E({amount:e,decimals:r}){return I.formatUnits(BigInt(e),r)}require("styled-components"),require("../../components/Loader.js"),require("../../svg/protected-by-privy.js"),require("qrcode"),require("../../svg/black-rounded-square.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/layout/Column.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/LabelXs.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/shared.js"),require("../../utils/buffer/readBigInt64LE.js"),require("../../client/user.js"),require("@ethersproject/address"),require("../../hooks/privy-context.js");let x=({...r})=>/*#__PURE__*/e.jsx(v.Blobby,{color:"black",...r}),T={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};exports.ManualTransferScreen=()=>{let{wallets:v}=p.useWallets(),{wallets:w}=S.useSolanaWallets(),{data:M,setModalData:A,navigate:k,lastScreen:B}=q.usePrivyModal(),{rpcConfig:L,appId:N,createAnalyticsEvent:F,closePrivyModal:_}=h.usePrivyInternal(),P=d.useAppConfig(),[W,R]=r.useState(void 0),[O,D]=r.useState(!1),z=M?.funding,{reloadBalance:H}=j.useWalletBalance({rpcConfig:L,appId:N,address:"ethereum"===z.chainType?z.address:void 0,chain:"ethereum"===z.chainType?z.chain:void 0}),$="solana"===z.chainType,Q=$?"SOL":z.erc20Address?z.erc20ContractInfo?.symbol:z.chain.nativeCurrency.symbol,U=$?w.find((({address:e})=>e===z.address)):v.find((({address:e})=>C.formatWalletAddress(e)===C.formatWalletAddress(z.address)));if(!z)return A({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:B||b.ModalScreen.FUNDING_METHOD_SELECTION_SCREEN},funding:M?.funding,sendTransaction:M?.sendTransaction}),k(b.ModalScreen.ERROR_SCREEN),/*#__PURE__*/e.jsx(e.Fragment,{});r.useEffect((()=>{let e=$?async function(){if("solana"!==z.chainType)return;let{Connection:e,PublicKey:r}=await import("@solana/web3.js");new e(g.getSolanaRpcEndpointForCluster(z.cluster)).getBalance(new r(z.address)).then((e=>{let r=BigInt(e);W&&r>W&&(D(!0),F({eventName:m.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"manual",status:"success",chainType:"solana",address:U?.address,value:(r-W).toString()}})),R(r)}))}:async function(){"ethereum"===z.chainType&&(async()=>{if(!z.erc20Address)return await H()??BigInt(0);{let{balance:e}=await y.getErc20Balance({chain:z.chain,address:z.address,erc20Address:z.erc20Address,rpcConfig:L,appId:N});return e}})().then((e=>{W&&e>W&&(D(!0),F({eventName:m.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"manual",status:"success",chainType:"ethereum",address:U?.address,value:(e-W).toString()}})),R(e)})).catch((()=>R(void 0)))},r=setInterval(e,2e3);return e(),()=>clearInterval(r)}),[W]);let Y=r.useMemo((()=>void 0!==W&&W>=parseFloat(z.amount)),[W,z.amount]),V=r.useMemo((()=>null==W?"":z.isUSDC?E({amount:W,decimals:6}):$?f.getNativeCurrencyFromLamports(W,3,!0,!0):null!=z.erc20ContractInfo?.decimals?E({amount:W,decimals:z.erc20ContractInfo.decimals}):function({wei:e,precision:r=3}){return parseFloat(I.formatEther(e)).toFixed(r).replace(/0+$/,"").replace(/\.$/,"")}({wei:W})),[W,$,z]),X="ethereum"===z.chainType?z.chain.name:T[z.cluster.name];/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsxs(u.Title,{children:["Receive ",z.amount," ",Q]}),/*#__PURE__*/e.jsxs(c.Subtitle,{children:["Scan this code or copy your wallet address to receive funds on ",X,"."]}),/*#__PURE__*/e.jsxs(s.FlexContainer,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/e.jsx(i.QrCode,{url:z.address,size:200,squareLogoElement:x}),/*#__PURE__*/e.jsxs(t.InfoBanner,{theme:P.appearance.palette.colorScheme,children:["Make sure to send funds on ",X,"."]}),/*#__PURE__*/e.jsx(l.WalletInfoCard,{title:"Your wallet",errMsg:void 0,showIcon:!0,isLoading:!z||void 0===W,isPulsing:!Y,balance:`${V} ${Q}`,address:z.address,statusColor:Y?"green":"gray"}),O&&/*#__PURE__*/e.jsx(n.PrimaryButton,{onClick:()=>_({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),s=require("../../components/Button.js"),n=require("../../components/Layouts.js"),o=require("../../components/ModalFooter.js"),i=require("../../components/QrCode.js"),a=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),t=require("../../components/ui/banners/InfoBanner.js"),c=require("../../components/ui/typography/Subtitle.js"),u=require("../../components/ui/typography/Title.js"),l=require("../../components/ui/wallet/WalletInfoCard.js"),d=require("../../configuration/context.js"),q=require("../../hooks/internal-context.js"),j=require("../../hooks/modal-context.js"),h=require("../../hooks/useWalletBalance.js"),p=require("../../hooks/useWallets.js"),m=require("../../lib/funding/analytics.js"),g=require("../../lib/solana/transaction.js"),y=require("../../lib/wallets/actions/getErc20Balance.js"),f=require("../../plugins/context/PrivyPluginContext.js"),v=require("../../plugins/solana-funding/id.js"),C=require("../../svg/blobby.js"),b=require("../../utils/index.js"),I=require("../index.js"),S=require("../../hooks/useSolanaWallets.js"),x=require("../../formatters-DnPKmSM4.js");require("styled-components"),require("../../components/Loader.js"),require("../../svg/protected-by-privy.js"),require("qrcode"),require("../../svg/black-rounded-square.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("@ethersproject/providers"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/index.js"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/layout/Column.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/LabelXs.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/shared.js"),require("../../components/PrefetchedImage.js"),require("viem"),require("../../utils/buffer/readBigInt64LE.js"),require("../../client/user.js"),require("@ethersproject/address"),require("../../hooks/privy-context.js");let E=({...r})=>/*#__PURE__*/e.jsx(C.Blobby,{color:"black",...r}),T={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};exports.ManualTransferScreen=()=>{let{wallets:C}=p.useWallets(),{wallets:A}=S.useSolanaWallets(),{data:M,setModalData:k,navigate:w,lastScreen:N}=j.usePrivyModal(),{rpcConfig:L,appId:B,createAnalyticsEvent:_,closePrivyModal:P}=q.usePrivyInternal(),F=d.useAppConfig(),[W,O]=r.useState(void 0),[R,D]=r.useState(!1),U=f.usePlugins(),z=M?.funding,{reloadBalance:H}=h.useWalletBalance({rpcConfig:L,appId:B,address:"ethereum"===z.chainType?z.address:void 0,chain:"ethereum"===z.chainType?z.chain:void 0}),G="solana"===z.chainType,Q=G?"SOL":z.erc20Address?z.erc20ContractInfo?.symbol:z.chain.nativeCurrency.symbol,Y=G?A.find((({address:e})=>e===z.address)):C.find((({address:e})=>b.formatWalletAddress(e)===b.formatWalletAddress(z.address)));if(!z)return k({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:N||I.ModalScreen.FUNDING_METHOD_SELECTION_SCREEN},funding:M?.funding,sendTransaction:M?.sendTransaction}),w(I.ModalScreen.ERROR_SCREEN),/*#__PURE__*/e.jsx(e.Fragment,{});r.useEffect((()=>{let e=G?async function(){if("solana"!==z.chainType)return;let e=U(v.SOLANA_FUNDING_PLUGIN_ID);e?e.getBalance({address:z.address,cluster:z.cluster}).then((e=>{let r=BigInt(e);W&&r>W&&(D(!0),_({eventName:m.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"manual",status:"success",chainType:"solana",address:Y?.address,value:(r-W).toString()}})),O(r)})):console.warn("Unable to load solana plugin, skipping balance")}:async function(){"ethereum"===z.chainType&&(async()=>{if(!z.erc20Address)return await H()??BigInt(0);{let{balance:e}=await y.getErc20Balance({chain:z.chain,address:z.address,erc20Address:z.erc20Address,rpcConfig:L,appId:B});return e}})().then((e=>{W&&e>W&&(D(!0),_({eventName:m.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"manual",status:"success",chainType:"ethereum",address:Y?.address,value:(e-W).toString()}})),O(e)})).catch((()=>O(void 0)))},r=setInterval(e,2e3);return e(),()=>clearInterval(r)}),[W]);let V=r.useMemo((()=>void 0!==W&&W>=parseFloat(z.amount)),[W,z.amount]),X=r.useMemo((()=>null==W?"":z.isUSDC?x.a({amount:W,decimals:6}):G?g.getNativeCurrencyFromLamports(W,3,!0,!0):null!=z.erc20ContractInfo?.decimals?x.a({amount:W,decimals:z.erc20ContractInfo.decimals}):x.e({wei:W})),[W,G,z]),$="ethereum"===z.chainType?z.chain.name:T[z.cluster.name];/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.default,{}),/*#__PURE__*/e.jsxs(u.Title,{children:["Receive ",z.amount," ",Q]}),/*#__PURE__*/e.jsxs(c.Subtitle,{children:["Scan this code or copy your wallet address to receive funds on ",$,"."]}),/*#__PURE__*/e.jsxs(n.FlexContainer,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/e.jsx(i.QrCode,{url:z.address,size:200,squareLogoElement:E}),/*#__PURE__*/e.jsxs(t.InfoBanner,{theme:F.appearance.palette.colorScheme,children:["Make sure to send funds on ",$,"."]}),/*#__PURE__*/e.jsx(l.WalletInfoCard,{title:"Your wallet",errMsg:void 0,showIcon:!0,isLoading:!z||void 0===W,isPulsing:!V,balance:`${X} ${Q}`,address:z.address,statusColor:V?"green":"gray"}),R&&/*#__PURE__*/e.jsx(s.PrimaryButton,{onClick:()=>P({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/e.jsx(o.BlobbyFooter,{})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("../../components/ModalFooter.js"),s=require("../../components/ModalHeader.js"),o=require("../../components/ScreenHeader.js"),i=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),t=require("../../components/ui/chips/Chip.js"),a=require("../../components/ui/typography/Subtitle.js"),l=require("../../hooks/internal-context.js"),c=require("../../hooks/modal-context.js"),u=require("../../hooks/useWallets.js"),d=require("../LandingScreen/WalletOverflowButton.js"),h=require("../index.js"),j=require("../LandingScreen/WalletButtonList.js"),q=require("../LandingScreen/styles.js"),p=require("./styles.js"),g=require("../../hooks/useSolanaWallets.js");require("styled-components"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/PrefetchedImage.js"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("../LandingScreen/EmptyWalletView.js"),require("../LandingScreen/WalletButton.js"),require("react-device-detect"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("../../connectors/is-wallet-installed.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../lib/external-wallets/displayHelpers.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../lib/isEmbeddedWebview.js"),require("../../recent-login/context.js"),require("../../hooks/events-context.js"),require("../../storage.js"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../errors.js"),require("ofetch"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("../../client/user.js"),require("@ethersproject/address");let m=({onClick:r,icon:n,name:s})=>/*#__PURE__*/e.jsxs(q.LoginMethodButton,{onClick:r,children:[/*#__PURE__*/e.jsx(p.IconContainer,{style:{width:20},children:/*#__PURE__*/e.jsx("img",{src:n})}),s,/*#__PURE__*/e.jsx(t.Chip,{color:"gray",style:{marginLeft:"auto"},children:"Connected"})]});exports.TransferFromWalletScreen=()=>{let t,{connectors:p}=l.usePrivyInternal(),{app:y,setModalData:C,data:f,navigate:w}=c.usePrivyModal(),{wallets:T}=u.useWallets(),{wallets:v}=g.useSolanaWallets(),[S,x]=r.useState("default"),I="solana"===f?.funding?.chainType,b=!!f?.funding?.crossChainBridgingEnabled;t="ethereum"===f?.funding?.chainType?f.funding.erc20Address&&!f.funding.isUSDC?"ethereum-only":b&&!f.funding.chain.testnet?"ethereum-and-solana":"ethereum-only":b?"ethereum-and-solana":"solana-only";let N=T.filter((e=>"privy"!==e.walletClientType)),E=N.map((e=>e.walletClientType)),_=v.filter((e=>"privy"!==e.walletClientType)),M=_.map((e=>e.walletClientType)),W=[],L={...f.funding};L.usingDefaultFundingMethod&&(L.usingDefaultFundingMethod=!1);let k=({address:e,walletChainType:r})=>{C({...f,funding:{...L,connectedWalletAddress:e,onContinueWithExternalWallet:()=>w(F({destChainType:I?"solana":"ethereum",sourceChainType:r}))}}),w(h.ModalScreen.FUNDING_EDIT_AMOUNT_SCREEN)};"solana-only"!==t&&W.push(...N.map(((r,n)=>/*#__PURE__*/e.jsx(m,{onClick:()=>k({address:r.address,walletChainType:"ethereum"}),icon:r.meta.icon,name:r.meta.name},n)))),"ethereum-only"!==t&&W.push(..._.map(((r,n)=>/*#__PURE__*/e.jsx(m,{onClick:()=>k({address:r.address,walletChainType:"solana"}),icon:r.meta.icon,name:r.meta.name},n)))),W.push(...j.toWalletButtons({walletList:y.appearance.walletList.filter((e=>!N.some((r=>r.walletClientType===e))&&!_.some((r=>r.walletClientType===e)))),walletChainType:t,connectors:p,connectOnly:!0,ignore:[...y.appearance.walletList,...E,...M],walletConnectEnabled:y.externalWallets.walletConnect.enabled}));let A=/*#__PURE__*/e.jsx(d.WalletOverflowButton,{text:"More wallets",onClick:()=>x("overflow")}),F=({sourceChainType:e,destChainType:r})=>"ethereum"===e&&"solana"===r?h.ModalScreen.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN:"ethereum"===e&&"ethereum"===r?h.ModalScreen.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN:"solana"===e&&"ethereum"===r?h.ModalScreen.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN:h.ModalScreen.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN;return r.useEffect((()=>{C({...f,externalConnectWallet:{onCompleteNavigateTo:({walletChainType:e})=>(C({...f,funding:{...L,onContinueWithExternalWallet:()=>{w(F({destChainType:I?"solana":"ethereum",sourceChainType:e??"ethereum"}))}}}),h.ModalScreen.FUNDING_EDIT_AMOUNT_SCREEN)}})}),[]),"overflow"===S?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(s.ModalHeader,{backFn:()=>x("default")},"header"),/*#__PURE__*/e.jsxs(q.LoginMethodContainer,{children:[/*#__PURE__*/e.jsx(a.Subtitle,{style:{color:"var(--privy-color-foreground-3)",textAlign:"left"},children:"More wallets"}),W]}),/*#__PURE__*/e.jsx(n.BlobbyFooter,{})]}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(i.default,{}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Transfer from wallet",description:"Connect a wallet to deposit funds or send funds manually to your wallet address."}),/*#__PURE__*/e.jsxs(q.LoginMethodContainer,{children:[W.length>4?W.slice(0,3):W,W.length>4&&A]}),/*#__PURE__*/e.jsx(n.BlobbyFooter,{})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("../../components/ModalFooter.js"),s=require("../../components/ModalHeader.js"),o=require("../../components/ScreenHeader.js"),i=require("../../components/embedded-wallets/FundWalletMethodHeader.js"),t=require("../../components/ui/chips/Chip.js"),a=require("../../components/ui/typography/Subtitle.js"),l=require("../../hooks/internal-context.js"),c=require("../../hooks/modal-context.js"),u=require("../../hooks/useWallets.js"),h=require("../LandingScreen/WalletOverflowButton.js"),d=require("../index.js"),j=require("../LandingScreen/WalletButtonList.js"),q=require("../LandingScreen/styles.js"),p=require("./styles.js"),g=require("../../hooks/useSolanaWallets.js");require("styled-components"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/index.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/PrefetchedImage.js"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("../LandingScreen/EmptyWalletView.js"),require("../LandingScreen/WalletButton.js"),require("react-device-detect"),require("../../components/external-wallets/InjectedWalletIcon.js"),require("../../connectors/is-wallet-installed.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../lib/external-wallets/displayHelpers.js"),require("../../svg/brave-browser-icon.js"),require("../../svg/bybit.js"),require("../../svg/coinbase-wallet.js"),require("../../svg/cryptocom.js"),require("../../svg/metamask.js"),require("../../svg/phantom.js"),require("../../svg/rabby.js"),require("../../svg/rainbow.js"),require("../../svg/safe.js"),require("../../svg/uniswap.js"),require("../../svg/universal-profile.js"),require("../../svg/wallet-connect.js"),require("../../svg/zerion.js"),require("../../lib/isEmbeddedWebview.js"),require("../../recent-login/context.js"),require("../../hooks/events-context.js"),require("../../storage.js"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("../../errors.js"),require("ofetch"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js"),require("../../client/user.js"),require("@ethersproject/address");let m=({onClick:r,icon:n,name:s,chainType:o})=>/*#__PURE__*/e.jsxs(q.LoginMethodButton,{onClick:r,children:[/*#__PURE__*/e.jsx(p.IconContainer,{style:{width:20},children:/*#__PURE__*/e.jsx("img",{src:n})}),s,/*#__PURE__*/e.jsx(t.Chip,{color:"gray",style:{marginLeft:"auto"},children:"Connected"}),"solana"===o&&/*#__PURE__*/e.jsx(t.Chip,{color:"gray",children:"Solana"})]});exports.TransferFromWalletScreen=()=>{let t,{connectors:p}=l.usePrivyInternal(),{app:y,setModalData:C,data:f,navigate:T}=c.usePrivyModal(),{wallets:w}=u.useWallets(),{wallets:v}=g.useSolanaWallets(),[S,x]=r.useState("default"),I="solana"===f?.funding?.chainType,b=!!f?.funding?.crossChainBridgingEnabled;t="ethereum"===f?.funding?.chainType?f.funding.erc20Address&&!f.funding.isUSDC?"ethereum-only":b&&!f.funding.chain.testnet?"ethereum-and-solana":"ethereum-only":b?"ethereum-and-solana":"solana-only";let N=w.filter((e=>"privy"!==e.walletClientType)),E=N.map((e=>e.walletClientType)),_=v.filter((e=>"privy"!==e.walletClientType)),M=_.map((e=>e.walletClientType)),W=[],L={...f.funding};L.usingDefaultFundingMethod&&(L.usingDefaultFundingMethod=!1);let k=({address:e,walletChainType:r})=>{C({...f,funding:{...L,connectedWalletAddress:e,onContinueWithExternalWallet:()=>T(F({destChainType:I?"solana":"ethereum",sourceChainType:r}))}}),T(d.ModalScreen.FUNDING_EDIT_AMOUNT_SCREEN)};"solana-only"!==t&&W.push(...N.map(((r,n)=>/*#__PURE__*/e.jsx(m,{onClick:()=>k({address:r.address,walletChainType:"ethereum"}),icon:r.meta.icon,name:r.meta.name,chainType:r.type},n)))),"ethereum-only"!==t&&W.push(..._.map(((r,n)=>/*#__PURE__*/e.jsx(m,{onClick:()=>k({address:r.address,walletChainType:"solana"}),icon:r.meta.icon,name:r.meta.name,chainType:r.type},n)))),W.push(...j.toWalletButtons({walletList:y.appearance.walletList.filter((e=>!N.some((r=>r.walletClientType===e))&&!_.some((r=>r.walletClientType===e)))),walletChainType:t,connectors:p,connectOnly:!0,ignore:[...y.appearance.walletList,...E,...M],walletConnectEnabled:y.externalWallets.walletConnect.enabled}));let A=/*#__PURE__*/e.jsx(h.WalletOverflowButton,{text:"More wallets",onClick:()=>x("overflow")}),F=({sourceChainType:e,destChainType:r})=>"ethereum"===e&&"solana"===r?d.ModalScreen.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN:"ethereum"===e&&"ethereum"===r?d.ModalScreen.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN:"solana"===e&&"ethereum"===r?d.ModalScreen.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN:d.ModalScreen.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN;return r.useEffect((()=>{C({...f,externalConnectWallet:{onCompleteNavigateTo:({walletChainType:e})=>(C({...f,funding:{...L,onContinueWithExternalWallet:()=>{T(F({destChainType:I?"solana":"ethereum",sourceChainType:e??"ethereum"}))}}}),d.ModalScreen.FUNDING_EDIT_AMOUNT_SCREEN)}})}),[]),"overflow"===S?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(s.ModalHeader,{backFn:()=>x("default")},"header"),/*#__PURE__*/e.jsxs(q.LoginMethodContainer,{children:[/*#__PURE__*/e.jsx(a.Subtitle,{style:{color:"var(--privy-color-foreground-3)",textAlign:"left"},children:"More wallets"}),W]}),/*#__PURE__*/e.jsx(n.BlobbyFooter,{})]}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(i.default,{}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Transfer from wallet",description:"Connect a wallet to deposit funds or send funds manually to your wallet address."}),/*#__PURE__*/e.jsxs(q.LoginMethodContainer,{children:[W.length>4?W.slice(0,3):W,W.length>4&&A]}),/*#__PURE__*/e.jsx(n.BlobbyFooter,{})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("styled-components"),n=require("../../components/Button.js"),o=require("../LinkPasskeyScreen.js");require("react/jsx-runtime"),require("../../components/Loader.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("react"),require("../../components/ModalFooter.js"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/internal-context.js"),require("../../hooks/index.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js");const i=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingMethodContainer",componentId:"sc-7f48ac23-0"})(["display:flex;flex-direction:column;gap:12px;padding-top:24px;padding-bottom:24px;"]),r=/*#__PURE__*/e.styled.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);}"]),t=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingQuantityWrapper",componentId:"sc-7f48ac23-2"})(["display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;"]),s=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingQuantity",componentId:"sc-7f48ac23-3"})(["display:flex;align-items:baseline;gap:4px;"]),c=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingAmount",componentId:"sc-7f48ac23-4"})(["font-size:42px !important;"]),a=/*#__PURE__*/e.styled.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;}"]),u=/*#__PURE__*/e.styled.button.withConfig({displayName:"FundingAmountEditButton",componentId:"sc-7f48ac23-6"})(["cursor:pointer;padding-left:4px;"]),d=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingCurrency",componentId:"sc-7f48ac23-7"})(["font-size:18px;"]),l=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingDollars",componentId:"sc-7f48ac23-8"})(["font-size:12px;color:var(--privy-color-foreground-3);height:20px;"]),p=/*#__PURE__*/e.styled.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;}"]),h=/*#__PURE__*/e.styled(o.LinkButton).withConfig({displayName:"ManualFundsButton",componentId:"sc-7f48ac23-10"})(["margin-top:16px;"]);let g=/*#__PURE__*/e.keyframes(["from{opacity:0;}to{opacity:1;}"]);const m=/*#__PURE__*/e.styled(n.SoftCtaButton).withConfig({displayName:"ContinueFromManualButton",componentId:"sc-7f48ac23-11"})(["border-radius:var(--privy-border-radius-md) !important;animation:"," 0.3s ease-in-out;"],g),f=/*#__PURE__*/e.styled.div.withConfig({displayName:"InfoButtonText",componentId:"sc-7f48ac23-12"})([""]),q=/*#__PURE__*/e.styled.a.withConfig({displayName:"InfoButtonLink",componentId:"sc-7f48ac23-13"})(["&&{color:var(--privy-color-accent);}cursor:pointer;"]);exports.ContinueFromManualButton=m,exports.FundingAmount=c,exports.FundingAmountEditButton=u,exports.FundingAmountInput=a,exports.FundingCurrency=d,exports.FundingDollars=l,exports.FundingMethodContainer=i,exports.FundingNetwork=p,exports.FundingQuantity=s,exports.FundingQuantityWrapper=t,exports.IconContainer=r,exports.InfoButtonLink=q,exports.InfoButtonText=f,exports.ManualFundsButton=h;
1
+ "use strict";var e=require("styled-components"),n=require("../../components/Button.js"),o=require("../LinkPasskeyScreen.js");require("react/jsx-runtime"),require("../../components/Loader.js"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("react"),require("../../components/ModalFooter.js"),require("../../svg/protected-by-privy.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/internal-context.js"),require("../../hooks/index.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/privy-context.js"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../MfaScreens/StyledComponents.js");const r=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingMethodContainer",componentId:"sc-d907403d-0"})(["display:flex;flex-direction:column;gap:12px;padding-top:24px;padding-bottom:24px;"]),i=/*#__PURE__*/e.styled.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);}"]),t=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingQuantityWrapper",componentId:"sc-d907403d-2"})(["display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;"]),s=/*#__PURE__*/e.styled.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);}"]),c=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingAmount",componentId:"sc-d907403d-4"})(["font-size:42px !important;"]),a=/*#__PURE__*/e.styled.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;}"]),d=/*#__PURE__*/e.styled.button.withConfig({displayName:"FundingAmountEditButton",componentId:"sc-d907403d-6"})(["cursor:pointer;padding-left:4px;"]),u=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingCurrency",componentId:"sc-d907403d-7"})(["font-size:18px;"]),p=/*#__PURE__*/e.styled.div.withConfig({displayName:"FundingDollars",componentId:"sc-d907403d-8"})(["font-size:12px;color:var(--privy-color-foreground-3);height:20px;"]),l=/*#__PURE__*/e.styled.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;}"]),h=/*#__PURE__*/e.styled(o.LinkButton).withConfig({displayName:"ManualFundsButton",componentId:"sc-d907403d-10"})(["margin-top:16px;"]);let m=/*#__PURE__*/e.keyframes(["from{opacity:0;}to{opacity:1;}"]);const g=/*#__PURE__*/e.styled(n.SoftCtaButton).withConfig({displayName:"ContinueFromManualButton",componentId:"sc-d907403d-11"})(["border-radius:var(--privy-border-radius-md) !important;animation:"," 0.3s ease-in-out;"],m),q=/*#__PURE__*/e.styled.div.withConfig({displayName:"InfoButtonText",componentId:"sc-d907403d-12"})([""]),y=/*#__PURE__*/e.styled.a.withConfig({displayName:"InfoButtonLink",componentId:"sc-d907403d-13"})(["&&{color:var(--privy-color-accent);}cursor:pointer;"]);exports.ContinueFromManualButton=g,exports.FundingAmount=c,exports.FundingAmountEditButton=d,exports.FundingAmountInput=a,exports.FundingCurrency=u,exports.FundingDollars=p,exports.FundingMethodContainer=r,exports.FundingNetwork=l,exports.FundingQuantity=s,exports.FundingQuantityWrapper=t,exports.IconContainer=i,exports.InfoButtonLink=y,exports.InfoButtonText=q,exports.ManualFundsButton=h;