fix: use chainId-based native currency in transaction display hooks #37449
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes currency display issues in transaction display hooks by ensuring the use of chainId-based native currency instead of relying solely on account-based currency.
Problem:
In multi-chain scenarios, the current transaction display logic only relies on account information to determine native currency, which can lead to incorrect currency symbols and conversion rates being displayed on different chains.
Solution:
effectiveNativeCurrencylogic in theuseCurrencyDisplayhook to prioritize chainId-based native currencyuseTransactionDisplayDataChangelog
CHANGELOG entry: Fixed transaction display to use correct chain-specific native currency symbols and conversion rates
Related issues
Fixes:
Manual testing steps
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Ensure currency symbols and conversion rates are resolved by transaction chainId across currency/token display hooks.
ui/hooks/useCurrencyDisplay.js:effectiveNativeCurrencyusingchainId(fallback to account native currency).isNativeCurrencywith chainId-aware checks.currencyRatesto deriveeffectiveConversionRate.effectiveNativeCurrency/effectiveConversionRatein conversions and ETH display; update memo deps.ui/hooks/useTokenFiatAmount.js:tokenConversionRatefromcurrencyRates+networkConfigurationsByChainId.formattedin memo deps.ui/hooks/useTransactionDisplayData.js:txChainIdand pass touseTokenFiatAmount,useUserPreferencedCurrency(PRIMARY/SECONDARY), anduseCurrencyDisplay.Written by Cursor Bugbot for commit c7f9ce4. This will update automatically on new commits. Configure here.