@@ -13,18 +13,19 @@ import {
1313} from "../../../core/design-system/index.js" ;
1414import { useActiveAccount } from "../../../core/hooks/wallets/useActiveAccount.js" ;
1515import { useActiveWallet } from "../../../core/hooks/wallets/useActiveWallet.js" ;
16+ import { hasSponsoredTransactionsEnabled } from "../../../core/utils/wallet.js" ;
1617import { ErrorState } from "../../wallets/shared/ErrorState.js" ;
1718import { LoadingScreen } from "../../wallets/shared/LoadingScreen.js" ;
1819import { CoinsIcon } from "../ConnectWallet/icons/CoinsIcon.js" ;
1920import type { ConnectLocale } from "../ConnectWallet/locale/types.js" ;
2021import { useTransactionCostAndData } from "../ConnectWallet/screens/Buy/main/useBuyTxStates.js" ;
2122import { WalletRow } from "../ConnectWallet/screens/Buy/swap/WalletRow.js" ;
2223import { formatTokenBalance } from "../ConnectWallet/screens/formatTokenBalance.js" ;
24+ import { isNativeToken } from "../ConnectWallet/screens/nativeToken.js" ;
2325import { CopyIcon } from "../components/CopyIcon.js" ;
2426import { QRCode } from "../components/QRCode.js" ;
2527import { Skeleton } from "../components/Skeleton.js" ;
2628import { Spacer } from "../components/Spacer.js" ;
27- import { Spinner } from "../components/Spinner.js" ;
2829import { WalletImage } from "../components/WalletImage.js" ;
2930import { Container , ModalHeader } from "../components/basic.js" ;
3031import { Button } from "../components/buttons.js" ;
@@ -99,6 +100,8 @@ export function DepositScreen(props: {
99100 refetchIntervalMs : 10_000 ,
100101 } ) ;
101102 const theme = useCustomTheme ( ) ;
103+ const sponsoredTransactionsEnabled =
104+ hasSponsoredTransactionsEnabled ( activeWallet ) ;
102105
103106 if ( transactionCostAndDataError ) {
104107 return (
@@ -122,13 +125,16 @@ export function DepositScreen(props: {
122125 return < LoadingScreen /> ;
123126 }
124127
128+ const totalCost =
129+ isNativeToken ( transactionCostAndData . token ) && ! sponsoredTransactionsEnabled
130+ ? transactionCostAndData . transactionValueWei +
131+ transactionCostAndData . gasCostWei
132+ : transactionCostAndData . transactionValueWei ;
125133 const insufficientFunds =
126- transactionCostAndData . walletBalance . value <
127- transactionCostAndData . transactionValueWei ;
134+ transactionCostAndData . walletBalance . value < totalCost ;
128135 const requiredFunds = transactionCostAndData . walletBalance . value
129- ? transactionCostAndData . transactionValueWei -
130- transactionCostAndData . walletBalance . value
131- : transactionCostAndData . transactionValueWei ;
136+ ? totalCost - transactionCostAndData . walletBalance . value
137+ : totalCost ;
132138
133139 const openFaucetLink = ( ) => {
134140 window . open (
@@ -175,29 +181,26 @@ export function DepositScreen(props: {
175181 client = { client }
176182 />
177183 ) }
178- { transactionCostAndData . walletBalance . value ? (
184+ { transactionCostAndData . walletBalance . value !== undefined &&
185+ ! transactionCostAndDataFetching ? (
179186 < Container flex = "row" gap = "3xs" center = "y" >
180- { transactionCostAndDataFetching ? (
181- < Spinner size = "sm" color = "secondaryText" />
182- ) : (
183- < >
184- < Text size = "xs" color = "secondaryText" weight = { 500 } >
185- { formatTokenBalance (
186- transactionCostAndData . walletBalance ,
187- false ,
188- ) }
189- </ Text >
190- < TokenSymbol
191- token = { transactionCostAndData . token }
192- chain = { props . tx . chain }
193- size = "xs"
194- color = "secondaryText"
195- />
196- </ >
197- ) }
187+ < Text size = "xs" color = "secondaryText" weight = { 500 } >
188+ { formatTokenBalance (
189+ transactionCostAndData . walletBalance ,
190+ false ,
191+ ) }
192+ </ Text >
193+ < TokenSymbol
194+ token = { transactionCostAndData . token }
195+ chain = { props . tx . chain }
196+ size = "xs"
197+ color = "secondaryText"
198+ />
198199 </ Container >
199200 ) : (
200- < Skeleton width = "70px" height = { fontSize . xs } />
201+ < Container flex = "row" gap = "3xs" center = "y" >
202+ < Skeleton width = "70px" height = { fontSize . xs } />
203+ </ Container >
201204 ) }
202205 </ Container >
203206 </ Container >
0 commit comments