@@ -16,12 +16,14 @@ import { findAccountName } from '../../utils/account-utils'
16
16
import { getLocale } from '../../../common/locale'
17
17
import { getNetworkFromTXDataUnion } from '../../utils/network-utils'
18
18
import { reduceAddress } from '../../utils/reduce-address'
19
+ import { WalletSelectors } from '../selectors'
19
20
20
21
// Custom Hooks
21
22
import { useTransactionParser } from './transaction-parser'
22
23
import usePricing from './pricing'
23
24
import useTokenInfo from './token'
24
25
import { useLib } from './useLib'
26
+ import { useSafeWalletSelector } from './use-safe-selector'
25
27
26
28
// Constants
27
29
import { WalletState , BraveWallet } from '../../constants/types'
@@ -46,6 +48,10 @@ export const usePendingTransactions = () => {
46
48
pendingTransactions,
47
49
defaultNetworks
48
50
} = useSelector ( ( state : { wallet : WalletState } ) => state . wallet )
51
+ const hasFeeEstimatesError = useSafeWalletSelector (
52
+ WalletSelectors . hasFeeEstimatesError
53
+ )
54
+
49
55
const transactionGasEstimates = transactionInfo ?. txDataUnion . ethTxData1559 ?. gasEstimation
50
56
51
57
const transactionsNetwork = React . useMemo ( ( ) => {
@@ -174,7 +180,13 @@ export const usePendingTransactions = () => {
174
180
: getLocale ( 'braveWalletSend' )
175
181
, [ isSolanaDappTransaction , transactionDetails ?. isSwap ] )
176
182
183
+ const isLoadingGasFee = transactionDetails ?. gasFee === ''
184
+
177
185
const isConfirmButtonDisabled = React . useMemo ( ( ) => {
186
+ if ( hasFeeEstimatesError || isLoadingGasFee ) {
187
+ return true
188
+ }
189
+
178
190
if ( ! transactionDetails ) {
179
191
return true
180
192
}
@@ -189,7 +201,7 @@ export const usePendingTransactions = () => {
189
201
! ! transactionDetails ?. missingGasLimitError ||
190
202
! canSelectedPendingTransactionBeApproved
191
203
)
192
- } , [ transactionDetails ] )
204
+ } , [ transactionDetails , hasFeeEstimatesError , isLoadingGasFee ] )
193
205
194
206
// effects
195
207
React . useEffect ( ( ) => {
@@ -279,6 +291,8 @@ export const usePendingTransactions = () => {
279
291
updateUnapprovedTransactionGasFields,
280
292
updateUnapprovedTransactionNonce,
281
293
groupTransactions,
282
- selectedPendingTransactionGroupIndex
294
+ selectedPendingTransactionGroupIndex,
295
+ hasFeeEstimatesError,
296
+ selectedPendingTransaction : transactionInfo
283
297
}
284
298
}
0 commit comments