Skip to content

chore: add monad mUSD#29897

Open
MoMannn wants to merge 1 commit intomainfrom
chore--add-monad-mUSD
Open

chore: add monad mUSD#29897
MoMannn wants to merge 1 commit intomainfrom
chore--add-monad-mUSD

Conversation

@MoMannn
Copy link
Copy Markdown
Member

@MoMannn MoMannn commented May 8, 2026

Description

Changelog

CHANGELOG entry: Add mUSD support on Monad

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

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

Medium Risk
Switches Money Account deposit asset selection from a hardcoded USDC address to chain-specific mUSD, which directly affects transaction calldata/required assets and can break deposits on misconfigured chains. Also changes the dev vault config to Monad addresses, impacting local/dev testing flows.

Overview
Adds Monad support to mUSD constants by mapping CHAIN_IDS.MONAD to the shared mUSD address and introducing the Monad CAIP-19 asset id.

Updates Money Account deposit logic to use MUSD_TOKEN_ADDRESS_BY_CHAIN (and throw if missing) instead of a temporary hardcoded USDC address, and adjusts related tests/config: the Money Account dev vault config is switched to Monad (0x8f) with new contract addresses, and the unit test fixtures are updated to match.

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

@metamaskbotv2 metamaskbotv2 Bot added the team-delegation MetaMask Delegation Team label May 8, 2026
@github-actions github-actions Bot added the size-S label May 8, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

🔍 Smart E2E Test Selection

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

E2E Test Selection:
The changes affect three related areas:

  1. DEV_VAULT_CONFIG update (moneyAccount/index.ts): Updates the dev fallback vault configuration from Arbitrum (0xa4b1) to Monad (0x8f) with new contract addresses. This is gated by MM_MONEY_DEPOSIT_CONFIG_DEV_ENABLED=true env var, so it only affects dev builds. However, it's a critical selector used in money account deposit flows.

  2. mUSD Monad support (musd.ts): Adds Monad chain to MUSD_TOKEN_ADDRESS_BY_CHAIN and MUSD_TOKEN_ASSET_ID_BY_CHAIN. This extends mUSD support to a new chain and affects Earn/staking flows that use mUSD.

  3. Deposit asset address activation (moneyAccountTransactions.ts): Removes the temporary hardcoded USDC address and activates the real mUSD address lookup. This is a functional change — deposits now use mUSD instead of USDC, and will throw errors for unsupported chains. This directly impacts the Money Account deposit flow and confirmation transactions.

SmokeMoney is selected because the changes directly affect MetaMask Card deposit flows (vault config, deposit asset address).
SmokeStake is selected because mUSD is used in Earn/staking/lending flows, and the musd.ts constants file is imported by multiple Earn components.
SmokeConfirmations is selected per the SmokeMoney and SmokeStake tag descriptions — deposit and lending flows involve transaction confirmations.

Performance Test Selection:
The changes are limited to contract address configurations, chain support constants, and a utility function for deposit asset address lookup. These are not UI rendering, list rendering, or data loading changes that would impact measurable performance metrics. No performance tests are warranted.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 8, 2026

@MoMannn MoMannn marked this pull request as ready for review May 8, 2026 09:56
@MoMannn MoMannn requested a review from a team as a code owner May 8, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size-S team-delegation MetaMask Delegation Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants