Skip to content

feat(activity): show money account deposits and withdrawals as MM Pay rows - #45577

Draft
jpuri wants to merge 1 commit into
feat/money-account-suppress-irrelevant-alertsfrom
feat/confirmations-money-account-activity-list
Draft

feat(activity): show money account deposits and withdrawals as MM Pay rows#45577
jpuri wants to merge 1 commit into
feat/money-account-suppress-irrelevant-alertsfrom
feat/confirmations-money-account-activity-list

Conversation

@jpuri

@jpuri jpuri commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Description

Money-account deposits and withdrawals were invisible or generic in the activity list. This PR surfaces them like the other MM Pay transactions (perps), mirroring mobile's money activity rows.

  • Include money-account batches in the local activity list. They execute from the Money Keyring account, so the selected-address filter in selectLocalTransactions dropped them entirely — this is why nothing changed in the list before.
  • New moneyAccountDeposit / moneyAccountWithdraw activity kinds (extension-local extension of the @metamask/client-utils union). mapLocalTransaction only reads the top-level type, so these EIP-7702 batches arrived as contractInteraction (deposits) or a raw mUSD send (withdrawals); enrichLocalActivity now re-types them from the nested batch types via hasTransactionType.
  • Amount resolution mirrors mobile: the committed mUSD requiredAssets entry or the nested approve/transfer calldata, with MM Pay's quoted targetFiat as the placeholder fallback. Exposed as fiat since mUSD is pegged 1:1 to USD.
  • Rows render perps-style (like the "Account funded / Perps balance / $0.05" rows): status-derived title (Depositing/Deposited/Deposit failed, Sending/Sent/Send failed), "Money account" subtitle, signed fiat amount (green + for deposits, − for withdrawals), mUSD avatar with chain badge.
  • Details page gets a money-account template modeled on the perps details: fiat hero, status/date, MM Pay fee breakdown (network/provider/total), per-transaction summary, and an "Add funds" CTA for confirmed deposits (block explorer button otherwise).

Related issues

Fixes: CONF-1826

Manual testing steps

  1. Enable the money account feature and create a money account deposit; confirm it.
  2. Open the Activity tab: the row should show "Depositing…" then "Deposited" with subtitle "Money account" and a green fiat amount (e.g. +$5.00), with the mUSD icon.
  3. Click the row: details show the fiat hero, status, date, MM Pay fees, and the transaction summary, with an "Add funds" button once confirmed.
  4. Repeat with a withdrawal: row shows "Sending"/"Sent" with -$X.XX, details show the same layout with a block explorer button.

Pre-merge author checklist

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, and includes the necessary testing evidence such as recordings and or screenshots.

🤖 Generated with Claude Code

… rows

Money-account deposits and withdrawals were invisible or generic in the
activity list. Surface them like the other MM Pay transactions (perps),
mirroring mobile's money activity rows:

- Include money-account batches in the local activity list. They execute
  from the Money Keyring account, so the selected-address filter dropped
  them entirely.
- Add extension-local `moneyAccountDeposit` / `moneyAccountWithdraw`
  activity kinds. `mapLocalTransaction` only reads the top-level type, so
  these EIP-7702 batches arrived as `contractInteraction` (deposits) or a
  raw mUSD `send` (withdrawals); `enrichLocalActivity` now re-types them
  from the nested batch types.
- Resolve the mUSD amount from the committed `requiredAssets` entry or the
  nested approve/transfer calldata, with MM Pay's quoted target fiat as the
  placeholder fallback, and expose it as fiat (mUSD is pegged 1:1 to USD).
- Render rows perps-style: status-derived title, "Money account" subtitle,
  signed fiat amount (green for deposits), mUSD avatar.
- Add a money-account details template modeled on the perps details: fiat
  hero, status/date, MM Pay fee breakdown, transaction summary, and an
  "Add funds" CTA for confirmed deposits.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jpuri
jpuri deployed to pr-comment August 17, 2026 11:02 — with GitHub Actions Active
@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.

@metamask-ci metamask-ci Bot added the team-confirmations Push issues to confirmations team label Aug 17, 2026
@metamask-ci

metamask-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/core-extension-ux (4 files, +199 -2)
  • 📁 shared/
    • 📁 lib/
      • 📁 activity/
        • 📄 types.ts +28 -2
  • 📁 ui/
    • 📁 pages/
      • 📁 activity/
        • 📁 rows/
          • 📄 useActivityRowContent.tsx +28 -0
      • 📁 details/
        • 📁 templates/
          • 📄 money-account-details.tsx +139 -0
          • 📄 template-loader.tsx +4 -0

@jpuri jpuri added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Aug 17, 2026
@metamask-ci metamask-ci Bot added the INVALID-PR-TEMPLATE PR's body doesn't match template label Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

INVALID-PR-TEMPLATE PR's body doesn't match template no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed size-L team-confirmations Push issues to confirmations team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant