diff --git a/app/components/UI/Money/hooks/useMoneyAccount.test.ts b/app/components/UI/Money/hooks/useMoneyAccount.test.ts index c91f9a4bf11..16f760c76a7 100644 --- a/app/components/UI/Money/hooks/useMoneyAccount.test.ts +++ b/app/components/UI/Money/hooks/useMoneyAccount.test.ts @@ -476,6 +476,7 @@ describe('useMoneyAccountWithdrawal', () => { expect(mockAddTransactionBatch).toHaveBeenCalledWith( expect.objectContaining({ isGasFeeSponsored: true, + skipInitialGasEstimate: true, }), ); }); diff --git a/app/components/UI/Money/hooks/useMoneyAccount.ts b/app/components/UI/Money/hooks/useMoneyAccount.ts index 48a093991f7..46ffa4a644d 100644 --- a/app/components/UI/Money/hooks/useMoneyAccount.ts +++ b/app/components/UI/Money/hooks/useMoneyAccount.ts @@ -92,6 +92,7 @@ export function useMoneyAccountDeposit() { } const networkClientId = resolveNetworkClientId(chainIdHex); + const isGasFeeSponsored = isMonadMainnetChainId(chainIdHex); const batchId = bytesToHex(new Uint8Array(uuidParse(uuidv4()))); depositIntentByBatchId.set(batchId.toLowerCase(), intent); @@ -120,13 +121,13 @@ export function useMoneyAccountDeposit() { // so `from` must be the money account and `networkClientId` its chain. await addTransactionBatch({ batchId, + disableHook: true, + disableSequential: true, from: primaryMoneyAccount.address as Hex, + isGasFeeSponsored, + isInternal: true, networkClientId, origin: ORIGIN_METAMASK, - isInternal: true, - disableHook: true, - disableSequential: true, - transactions: [approveTx, depositTx], requiredAssets: [ { address: getMoneyAccountDepositAssetAddress(chainIdHex), @@ -134,6 +135,8 @@ export function useMoneyAccountDeposit() { standard: 'erc20', }, ], + skipInitialGasEstimate: isGasFeeSponsored, + transactions: [approveTx, depositTx], }); } catch (error) { depositIntentByBatchId.delete(batchId.toLowerCase()); @@ -178,6 +181,7 @@ export function useMoneyAccountWithdrawal() { } const networkClientId = resolveNetworkClientId(chainIdHex); + const isGasFeeSponsored = isMonadMainnetChainId(chainIdHex); // Placeholder amount — MM Pay re-encodes both calls via // `updateMoneyAccountWithdrawTokenAmount` once the user picks an amount. @@ -199,13 +203,14 @@ export function useMoneyAccountWithdrawal() { try { await addTransactionBatch({ + disableHook: true, + disableSequential: true, from: primaryMoneyAccount.address as Hex, + isGasFeeSponsored, + isInternal: true, networkClientId, origin: ORIGIN_METAMASK, - isInternal: true, - disableHook: true, - disableSequential: true, - isGasFeeSponsored: isMonadMainnetChainId(chainIdHex), + skipInitialGasEstimate: isGasFeeSponsored, transactions: [withdrawTx, transferTx], }); } catch (error) {