Skip to content

Commit 2f6270f

Browse files
committed
Fix incorrect unlimited
1 parent 3ce2b50 commit 2f6270f

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

ui/pages/confirmations/components/confirm/info/approve/hooks/use-approve-token-simulation.test.ts

+6
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ describe('isSpendingCapUnlimited', () => {
3333
false,
3434
);
3535
});
36+
37+
it('returns false if spending cap is less than threshold after applying decimals', () => {
38+
expect(isSpendingCapUnlimited(TOKEN_VALUE_UNLIMITED_THRESHOLD, 1)).toBe(
39+
false,
40+
);
41+
});
3642
});
3743

3844
describe('useApproveTokenSimulation', () => {

ui/pages/confirmations/components/confirm/info/approve/hooks/use-approve-token-simulation.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ import { TOKEN_VALUE_UNLIMITED_THRESHOLD } from '../../shared/constants';
1010
import { parseApprovalTransactionData } from '../../../../../../../../shared/modules/transaction.utils';
1111
import { useIsNFT } from './use-is-nft';
1212

13-
export function isSpendingCapUnlimited(decodedSpendingCap: number) {
14-
return decodedSpendingCap >= TOKEN_VALUE_UNLIMITED_THRESHOLD;
13+
export function isSpendingCapUnlimited(
14+
value: number | string | BigNumber,
15+
decimals: number = 0,
16+
) {
17+
const finalValue = calcTokenAmount(value, decimals);
18+
return finalValue.gte(TOKEN_VALUE_UNLIMITED_THRESHOLD);
1519
}
1620

1721
export const useApproveTokenSimulation = (

ui/pages/confirmations/components/confirm/info/hooks/useBatchApproveBalanceChanges.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,11 @@ async function buildSimulationTokenBalanceChanges({
120120
const tokenId = isNFT && amountOrTokenId ? amountOrTokenIdHex : undefined;
121121

122122
const isUnlimited =
123-
!isNFT && isSpendingCapUnlimited(amountOrTokenId?.toNumber() ?? 0);
123+
!isNFT &&
124+
isSpendingCapUnlimited(
125+
amountOrTokenId?.toNumber() ?? 0,
126+
Number(tokenData?.decimals ?? 0),
127+
);
124128

125129
const balanceChange: ApprovalSimulationBalanceChange = {
126130
address: tokenAddress,

0 commit comments

Comments
 (0)