diff --git a/src/hooks/useApprovalTx.tsx b/src/hooks/useApprovalTx.tsx
index 3379d46a8d..4576cc3c58 100644
--- a/src/hooks/useApprovalTx.tsx
+++ b/src/hooks/useApprovalTx.tsx
@@ -1,5 +1,4 @@
import { ApproveType, MAX_UINT_AMOUNT, ProtocolAction } from '@aave/contract-helpers';
-import { valueToBigNumber } from '@aave/math-utils';
import { SignatureLike } from '@ethersproject/bytes';
import { constants, ethers } from 'ethers';
import { parseUnits } from 'ethers/lib/utils';
@@ -82,13 +81,10 @@ export const useApprovalTx = ({
return;
}
- const amountToApprove = parseUnits(signatureAmount, decimals).toString();
- const currentApproved = approvedAmount?.amount
- ? valueToBigNumber(approvedAmount.amount).toFixed(0)
- : '0';
+ const currentApproved = approvedAmount?.amount ?? '0';
if (
- needsUSDTApprovalReset(symbol, chainId, currentApproved, amountToApprove, underlyingChainId)
+ needsUSDTApprovalReset(symbol, chainId, currentApproved, signatureAmount, underlyingChainId)
) {
setShowUSDTResetWarning(true);
setRequiresApprovalReset(true);
@@ -103,7 +99,6 @@ export const useApprovalTx = ({
approvedAmount?.amount,
signatureAmount,
setShowUSDTResetWarning,
- decimals,
]);
const approval = async () => {
diff --git a/src/modules/umbrella/UmbrellaActions.tsx b/src/modules/umbrella/UmbrellaActions.tsx
index 4ed1240b99..fe4fbc0504 100644
--- a/src/modules/umbrella/UmbrellaActions.tsx
+++ b/src/modules/umbrella/UmbrellaActions.tsx
@@ -40,6 +40,7 @@ export interface StakeActionProps extends BoxProps {
event: string;
isMaxSelected: boolean;
reserve: ComputedReserveData;
+ setShowUSDTResetWarning?: (showUSDTResetWarning: boolean) => void;
}
export const UmbrellaActions = ({
@@ -53,6 +54,7 @@ export const UmbrellaActions = ({
stakeData,
isMaxSelected,
reserve,
+ setShowUSDTResetWarning,
...props
}: StakeActionProps) => {
const queryClient = useQueryClient();
@@ -139,7 +141,7 @@ export const UmbrellaActions = ({
amount: approvedAmount?.toString() || '0',
};
- const { approval } = useApprovalTx({
+ const { approval, requiresApprovalReset } = useApprovalTx({
usePermit,
approvedAmount: tokenApproval,
requiresApproval,
@@ -150,6 +152,8 @@ export const UmbrellaActions = ({
onApprovalTxConfirmed: fetchApprovedAmount,
signatureAmount: amount,
onSignTxCompleted: (signedParams) => setSignatureParams(signedParams),
+ chainId: currentChainId,
+ setShowUSDTResetWarning,
});
const { currentAccount, sendTx } = useWeb3Context();
@@ -287,6 +291,7 @@ export const UmbrellaActions = ({
blocked={blocked}
// event={STAKE.STAKE_BUTTON_MODAL}
{...props}
+ requiresApprovalReset={requiresApprovalReset}
/>
);
};
diff --git a/src/modules/umbrella/UmbrellaModalContent.tsx b/src/modules/umbrella/UmbrellaModalContent.tsx
index 1a1d04e610..7ff2fd4bc3 100644
--- a/src/modules/umbrella/UmbrellaModalContent.tsx
+++ b/src/modules/umbrella/UmbrellaModalContent.tsx
@@ -17,6 +17,7 @@ import {
DetailsNumberLine,
TxModalDetails,
} from 'src/components/transactions/FlowCommons/TxModalDetails';
+import { USDTResetWarning } from 'src/components/transactions/Warnings/USDTResetWarning';
import { CooldownWarning } from 'src/components/Warnings/CooldownWarning';
import { ExtendedFormattedUser } from 'src/hooks/pool/useExtendedUserSummaryAndIncentives';
import { FormattedReservesAndIncentives } from 'src/hooks/pool/usePoolFormattedReserves';
@@ -88,6 +89,7 @@ export const UmbrellaModalContent = ({ stakeData, user, userReserve, poolReserve
const [riskCheckboxAccepted, setRiskCheckboxAccepted] = useState(false);
const [_amount, setAmount] = useState('');
+ const [showUSDTResetWarning, setShowUSDTResetWarning] = useState(false);
const [currentChainId] = useRootStore(
useShallow((store) => [store.currentChainId, store.currentNetworkConfig])
@@ -271,6 +273,8 @@ export const UmbrellaModalContent = ({ stakeData, user, userReserve, poolReserve
>
)}
+ {showUSDTResetWarning && }
+
>
);