Skip to content

fix(money): correct mUSD casing and list it first on Monad in FAQs (MUSD-1158)#33190

Merged
Kureev merged 3 commits into
mainfrom
kureev/MUSD-1158
Jul 14, 2026
Merged

fix(money): correct mUSD casing and list it first on Monad in FAQs (MUSD-1158)#33190
Kureev merged 3 commits into
mainfrom
kureev/MUSD-1158

Conversation

@Kureev

@Kureev Kureev commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Description

The Money "How it works" FAQ ("What tokens can I deposit into the Money account?") rendered mUSD with the raw registry casing "MUSD", and the Monad network line listed mUSD after USDC instead of first.

The FAQ token bullets are built from the confirmations_relay_fixed_spread remote flag via selectMoneyNoFeeDepositTokens, whose normalizeTokenSymbol uppercased every non-aave alias, turning the musd alias into "MUSD". The hardcoded fallback list and the ensureMonadMusdListed helper in depositFaqTokens.ts used the same uppercase literal, and the helper appended mUSD to the end of the Monad list.

This PR:

  • Canonicalises the display symbol by token address via getTokenDisplaySymbol in selectMoneyNoFeeDepositTokens, so mUSD routes render the branded mUSD casing regardless of how the flag names the alias.
  • Derives MUSD_SYMBOL in depositFaqTokens.ts from MUSD_TOKEN.symbol and fixes the fallback list literals.
  • Makes ensureMonadMusdListed list mUSD first on Monad, repositioning it to the front if it is already present elsewhere in the list.

The only consumer of this pipeline is MoneyHowItWorksView, so the blast radius is limited to the FAQ token list.

Changelog

CHANGELOG entry: Fixed mUSD casing in the Money account FAQs and listed mUSD first for the Monad network

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MUSD-1158

Manual testing steps

Feature: Money account FAQ token list

  Scenario: user reads the no-fee deposit token list in the FAQs
    Given the user opens the Money account "How it works" page

    When user expands the FAQ item "What tokens can I deposit into the Money account?"
    Then every mUSD mention uses the "mUSD" casing (never "MUSD")
    And the Monad line lists mUSD first, e.g. "Monad: mUSD, USDC"

Screenshots/Recordings

Before

After

image

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Low Risk
Display-only FAQ copy and selector ordering; no auth, transactions, or deposit logic changes.

Overview
Fixes how mUSD appears in the Money “How it works” FAQ deposit token list (MoneyHowItWorksView), which is built from selectMoneyNoFeeDepositTokens and formatNoFeeTokenBullets.

selectMoneyNoFeeDepositTokens now runs relay-route symbols through getTokenDisplaySymbol (by source token address) after alias normalization, so the musd alias no longer surfaces as "MUSD" from blanket uppercasing.

depositFaqTokens uses MUSD_TOKEN.symbol for the Monad FAQ entry, updates fallback literals to mUSD, and changes ensureMonadMusdListed to put mUSD first on Monad (moving it to the front if it was already in the list).

Reviewed by Cursor Bugbot for commit 9b899ce. Bugbot is set up for automated code reviews on this repo. Configure here.

@Kureev Kureev added team-earn pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. labels Jul 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@Kureev Kureev self-assigned this Jul 13, 2026
@Kureev Kureev removed the pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. label Jul 13, 2026
@Kureev Kureev marked this pull request as ready for review July 13, 2026 11:04
@Kureev Kureev requested a review from a team as a code owner July 13, 2026 11:04
@github-actions github-actions Bot added the risk:low AI analysis: low risk label Jul 13, 2026
@Kureev Kureev enabled auto-merge July 13, 2026 13:28
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeMoney
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: medium
  • AI Confidence: 88%
click to see 🤖 AI reasoning details

E2E Test Selection:
The PR changes are confined to the Money feature area (app/components/UI/Money/):

  1. featureFlags.ts: Updated selectMoneyNoFeeDepositTokens selector to use getTokenDisplaySymbol() for proper mUSD token display symbol resolution. This affects how the mUSD token symbol is displayed in the no-fee deposit token list.

  2. depositFaqTokens.ts: Changed the mUSD symbol from 'MUSD' to 'mUSD' (using the MUSD_TOKEN.symbol constant for consistency), and changed ensureMonadMusdListed to prepend mUSD first in the list rather than appending it last.

  3. Test files: Updated unit tests to reflect the new 'mUSD' symbol and ordering changes.

These changes affect the Money/Card/Ramps feature's token display and deposit FAQ token ordering. The SmokeMoney tag covers MetaMask Card and fiat on/off-ramp flows, which is exactly what these changes affect. No other feature areas (confirmations, swaps, accounts, browser, snaps, etc.) are impacted.

The changes are not cosmetic — they fix a token symbol casing issue ('MUSD' → 'mUSD') and change ordering behavior (mUSD now appears first in the no-fee token list), which could affect user-facing display in the Money/deposit flows. SmokeMoney tests should validate these changes work correctly in the E2E environment.

Performance Test Selection:
The changes are limited to token symbol display logic and list ordering within the Money feature. No performance-sensitive code paths are affected — there are no new rendering loops, no additional API calls, no state management changes, and no changes to asset loading or transaction flows that would impact measured performance metrics.

View GitHub Actions results

@sonarqubecloud

Copy link
Copy Markdown

@Kureev Kureev added this pull request to the merge queue Jul 14, 2026
Merged via the queue into main with commit d2026ac Jul 14, 2026
153 checks passed
@Kureev Kureev deleted the kureev/MUSD-1158 branch July 14, 2026 14:01
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 14, 2026
@metamask-ci metamask-ci Bot added the release-8.4.0 Issue or pull request that will be included in release 8.4.0 label Jul 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-8.4.0 Issue or pull request that will be included in release 8.4.0 risk:low AI analysis: low risk size-S team-earn

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants