-
-
Notifications
You must be signed in to change notification settings - Fork 268
fix: use currency rate fallback for native token fiat when market data missing #7636
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+113
−0
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
Author
|
@metamaskbot publish-preview |
Contributor
|
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions. |
sahar-fehri
approved these changes
Jan 15, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Explanation
The
selectAssetsBySelectedAccountGroupselector was returningundefinedfor thefiatfield on native tokens for certain chains (like Ink chain0xdef1) even though the currency conversion rate was available.Problem:
The
getFiatBalanceForEvmTokenfunction requiresmarketData[chainId][tokenAddress]to exist in order to calculate fiat values. For native tokens, this market data entry should containprice: 1(since 1 ETH = 1 ETH). However, some chains don't have this native token entry inmarketData, causing the function to returnundefinedeven whencurrencyRateshas the conversion rate for the native currency symbol (e.g., ETH).Solution:
Added a fallback mechanism specifically for native tokens: when
marketDatadoesn't have an entry for the native token butcurrencyRateshas the conversion rate for the native currency symbol, the function now usesprice = 1and multiplies directly by the currency rate. This ensures native token fiat values are calculated correctly for chains like Ink (0xdef1) that use ETH as their native currency but don't have explicit market data entries.UI extension: MetaMask/metamask-extension#39269
References
Checklist
Note
Ensures native token fiat is calculated even when market data is absent by leveraging the native currency conversion rate.
getFiatBalanceForEvmTokento acceptnativeCurrencySymboland, when no market data exists for a native token, compute fiat usingcurrencyRates(price=1 in native units); returnundefinedif rate also missingselectAssetsBySelectedAccountGroupintogetFiatBalanceForEvmTokenCHANGELOG.mdunder Unreleased -> FixedWritten by Cursor Bugbot for commit 7f46dc3. This will update automatically on new commits. Configure here.