You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature: my feature nameScenario: user [verb for user action]Given [describe expected initial app state]
When user [verb for user action]
Then [describe expected outcome]
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.
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:
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.
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.
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.
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
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
Changelog
CHANGELOG entry: Add mUSD support on Monad
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
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.MONADto 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.