Skip to content

Commit 23fa295

Browse files
committed
update
1 parent e106cd3 commit 23fa295

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

ui/pages/confirmations/components/confirm/info/typed-sign/permit-simulation/permit-simulation.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ const PermitSimulation: React.FC<{
5555
const { tokenValue, tokenValueMaxPrecision } = useMemo(() => {
5656
const tokenAmount = calcTokenAmount(value, tokenDecimals);
5757

58-
// FIXME - Precision may be lost for large values when using formatAmount
59-
/** @see {@link https://github.com/MetaMask/metamask-extension/issues/25755} */
6058
return {
6159
tokenValue: formatAmount('en-US', tokenAmount),
6260
tokenValueMaxPrecision: formatAmountMaxPrecision('en-US', tokenAmount),

ui/pages/confirmations/components/simulation-details/formatAmount.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,14 @@ export function formatAmount(locale: string, amount: BigNumber): string {
8181
);
8282

8383
if (maximumFractionDigits === 0) {
84-
// No decimals to display – we can use BigInt to localize without loss of precision.
85-
return BigInt(amount.toFixed(0)).toLocaleString(locale);
84+
return new Intl.NumberFormat(locale, {
85+
maximumFractionDigits,
86+
} as Intl.NumberFormatOptions).format(
87+
// string is valid parameter for format function
88+
// for some reason it gives TS issue
89+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/format#number
90+
amount.toFixed(maximumFractionDigits) as unknown as number,
91+
);
8692
}
8793

8894
// At most 4 (MAX_SIGNIFICANT_DECIMAL_PLACES + 1) significant digits – Use Intl.NumberFormat to localize

0 commit comments

Comments
 (0)