Skip to content

fix: Update TPC version for fiat payments in MMPay#31627

Merged
OGPoyraz merged 1 commit into
mainfrom
ogp/update-tpc-version-to-23.6.0
Jun 12, 2026
Merged

fix: Update TPC version for fiat payments in MMPay#31627
OGPoyraz merged 1 commit into
mainfrom
ogp/update-tpc-version-to-23.6.0

Conversation

@OGPoyraz

@OGPoyraz OGPoyraz commented Jun 12, 2026

Copy link
Copy Markdown
Member

Description

Bumps @metamask/transaction-pay-controller from 23.5.0 to 23.6.0 in package.json and refreshes yarn.lock to pull in the corresponding transitive dependency updates. There are no application source changes in this PR.

Why: fiat payments in MMPay were broken on the previous TPC version. Version 23.6.0 lands the upstream fixes and behavior changes required to restore that flow.

What changes in TPC 23.6.0:

  • Added: Direct mUSD fiat injection flow for Money Account deposits behind the useFiatMUSDQuoteToInjectForMoneyAccount feature flag. When enabled and a provider supports mUSD on Monad, fiat is used to purchase mUSD directly into the Money Account, skipping the ETH→mUSD bridge. Falls back to the existing flow otherwise. Also moves fiatPayment.caipAssetId assignment into the fiat quote functions so the asset ID always matches the quote that succeeded. (core#9080)
  • Added: Fiat order polling interval and timeout are now remotely configurable via confirmations_pay_fiat.orderPollIntervalMs and confirmations_pay_fiat.orderPollTimeoutMs feature flags. (core#9090)
  • Fixed: Clear stale fiatPayment.rampsQuote when a fiat quote fetch fails, preventing the "No quotes" alert from being silently suppressed after a prior successful fetch. (core#9073)

Full upstream changelog: @metamask/transaction-pay-controller@23.6.0.

Changelog

CHANGELOG entry: Fixed fiat payments in MMPay by updating @metamask/transaction-pay-controller to 23.6.0.

Related issues

Fixes:

Manual testing steps

Feature: Fiat payment in MMPay

  Scenario: User completes a fiat payment in MMPay
    Given the user has a wallet set up
    And MMPay is enabled
    And the user is on a flow that supports paying with fiat (e.g. Money Account deposit / Perps / Predict)

    When the user selects a fiat payment method
    And the user requests a quote
    And the user proceeds with the payment

    Then a fiat quote is returned successfully
    And the payment is processed end-to-end without error
    And the on-ramp order is polled until it settles
    And the resulting on-chain transaction (or deposit) is reflected in the account

  Scenario: Fiat quote fetch fails after a previous success
    Given the user previously fetched a successful fiat quote
    When a subsequent fiat quote fetch fails
    Then the "No quotes" alert is shown (no longer silently suppressed)

Screenshots/Recordings

Before

N/A — dependency-only bump, no UI changes.

After

N/A — dependency-only bump, no UI changes.

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
Touches money-movement and pay/ramps controllers via a transitive dependency upgrade without local code review of upstream behavior; regression risk is mainly in fiat/MMPay flows.

Overview
Bumps @metamask/transaction-pay-controller from 23.5.0 to 23.6.0 in package.json and refreshes yarn.lock. There are no application source changes in this PR.

The new TPC release pulls updated transitive packages, including @metamask/assets-controller 9.x, @metamask/bridge-controller 75.1.1, @metamask/ramps-controller 14.2.0, and a newer transaction-controller revision inside TPC’s dependency tree—aligned with the PR goal of fixing fiat payments in MMPay.

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

@mm-token-exchange-service mm-token-exchange-service Bot added the team-confirmations Push issues to confirmations team label Jun 12, 2026
@mm-token-exchange-service

mm-token-exchange-service Bot commented Jun 12, 2026

Copy link
Copy Markdown

PR template — items to address before "Ready for review"

Warnings — informational, address before merging:

  • Related issues section is empty. Add Fixes: #123 / Closes: <URL> / Refs: <Jira key>, or write a short rationale after the colon.

See docs/readme/ready-for-review.md for the full Definition of Ready for Review.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​@​metamask/​ramps-controller@​14.1.1 ⏵ 14.2.098 +110079 +199 +2100
Updatednpm/​@​metamask/​bridge-controller@​75.1.0 ⏵ 75.1.19910079100 +2100
Updatednpm/​@​metamask/​transaction-pay-controller@​23.5.0 ⏵ 23.6.099 +110081 +1100 +2100

View full report

@github-actions github-actions Bot added the risk:high AI analysis: high risk label Jun 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeConfirmations, SmokeIdentity, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeSwap, SmokeStake, SmokeWalletPlatform, SmokeMoney, SmokePerps, SmokeMultiChainAPI, SmokePredictions, SmokeSeedlessOnboarding, SmokeBrowser, SmokeSnaps
  • Selected Performance tags: @PerformanceSwaps
  • Risk Level: high
  • AI Confidence: 100%
click to see 🤖 AI reasoning details

E2E Test Selection:
Hard rule (controller-version-update): @MetaMask controller package version updated in package.json: @metamask/transaction-pay-controller. Running all tests.

Performance Test Selection:
The transaction-pay-controller is used in gasless swap flows and bridge fee calculations. A minor version bump could affect swap quote fetching and execution performance. @PerformanceSwaps covers quote fetching, token selection, swap execution, and transaction completion times which are directly impacted by this controller. Other performance tags are not directly related to this controller's scope.

View GitHub Actions results

@OGPoyraz OGPoyraz added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Jun 12, 2026
@OGPoyraz OGPoyraz enabled auto-merge June 12, 2026 10:55
@github-actions

Copy link
Copy Markdown
Contributor

⚡ Performance Test Results

ℹ️ Performance test results are currently non-blocking and will not block this PR.

All tests passed · 2 tests · 1 device

📱 Devices tested (1)

Android: Google Pixel 8 Pro (v14.0)

✅ Passed Tests (2)
Test Platform Device Duration Team Recording
Swap flow - ETH to LINK, SRP 1 + SRP 2 + SRP 3 Android Google Pixel 8 Pro (v14.0) 2.96s @swap-bridge-dev-team 📹 Watch
Cross-chain swap flow - ETH to SOL - 50+ accounts, SRP 1 + SRP 2 + SRP 3 Android Google Pixel 8 Pro (v14.0) 4.76s @swap-bridge-dev-team 📹 Watch

Branch: ogp/update-tpc-version-to-23.6.0 · Build: Normal · Commit: 42eb473 · View full run

@OGPoyraz OGPoyraz added this pull request to the merge queue Jun 12, 2026
Merged via the queue into main with commit 5dcbdae Jun 12, 2026
323 of 329 checks passed
@OGPoyraz OGPoyraz deleted the ogp/update-tpc-version-to-23.6.0 branch June 12, 2026 12:37
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 12, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-7.83.0 Issue or pull request that will be included in release 7.83.0 label Jun 12, 2026
@tommasini tommasini added release-7.8.0 Issue or pull request that will be included in release 7.8.0 release-8.0.0 Issue or pull request that will be included in release 8.0.0 and removed release-7.83.0 Issue or pull request that will be included in release 7.83.0 release-7.8.0 Issue or pull request that will be included in release 7.8.0 labels Jun 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-8.0.0 Issue or pull request that will be included in release 8.0.0 risk:high AI analysis: high risk size-XS team-confirmations Push issues to confirmations team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants