Skip to content

Commit b9a8d89

Browse files
authored
fix: handle infinite allowance parsing (#2705)
1 parent d4a21bd commit b9a8d89

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/hooks/useApprovalTx.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ApproveType, MAX_UINT_AMOUNT, ProtocolAction } from '@aave/contract-helpers';
2+
import { valueToBigNumber } from '@aave/math-utils';
23
import { SignatureLike } from '@ethersproject/bytes';
34
import { constants, ethers } from 'ethers';
45
import { parseUnits } from 'ethers/lib/utils';
@@ -68,16 +69,16 @@ export const useApprovalTx = ({
6869
!isUSDTOnEthereum(symbol, chainId) ||
6970
!setShowUSDTResetWarning ||
7071
!signatureAmount ||
71-
signatureAmount === '0'
72+
signatureAmount === '0' ||
73+
signatureAmount === '-1'
7274
) {
7375
return;
7476
}
7577

7678
const amountToApprove = parseUnits(signatureAmount, decimals).toString();
77-
const currentApproved = parseUnits(
78-
approvedAmount?.amount?.toString() || '0',
79-
decimals
80-
).toString();
79+
const currentApproved = approvedAmount?.amount
80+
? valueToBigNumber(approvedAmount.amount).toFixed(0)
81+
: '0';
8182

8283
if (needsUSDTApprovalReset(symbol, chainId, currentApproved, amountToApprove)) {
8384
setShowUSDTResetWarning(true);

0 commit comments

Comments
 (0)