diff --git a/packages/transaction-pay-controller/CHANGELOG.md b/packages/transaction-pay-controller/CHANGELOG.md index 94cd461539..65735ab7d2 100644 --- a/packages/transaction-pay-controller/CHANGELOG.md +++ b/packages/transaction-pay-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fix BigNumber crash when exchange rate numbers exceed 15 significant digits ([#8808](https://github.com/MetaMask/core/pull/8808)) - Handle gas-station and prefunded gas-estimate edge cases for Across Predict withdraw quotes ([#8762](https://github.com/MetaMask/core/pull/8762)) ## [22.5.0] diff --git a/packages/transaction-pay-controller/src/utils/token.ts b/packages/transaction-pay-controller/src/utils/token.ts index 493b268e1a..4534a048c9 100644 --- a/packages/transaction-pay-controller/src/utils/token.ts +++ b/packages/transaction-pay-controller/src/utils/token.ts @@ -212,12 +212,12 @@ export function getTokenFiatRate( const usdRate = isStablecoin ? '1' - : new BigNumber(tokenToNativeRate ?? 1) - .multipliedBy(nativeToUsdRate) + : new BigNumber(String(tokenToNativeRate ?? 1)) + .multipliedBy(String(nativeToUsdRate)) .toString(10); - const fiatRate = new BigNumber(tokenToNativeRate ?? 1) - .multipliedBy(nativeToFiatRate) + const fiatRate = new BigNumber(String(tokenToNativeRate ?? 1)) + .multipliedBy(String(nativeToFiatRate)) .toString(10); return { usdRate, fiatRate };