Skip to content

fix: Fix batch transaction_type in metrics for pay transactions#8469

Merged
OGPoyraz merged 3 commits intomainfrom
ogp/CONF-1190
Apr 15, 2026
Merged

fix: Fix batch transaction_type in metrics for pay transactions#8469
OGPoyraz merged 3 commits intomainfrom
ogp/CONF-1190

Conversation

@OGPoyraz
Copy link
Copy Markdown
Member

@OGPoyraz OGPoyraz commented Apr 15, 2026

Explanation

Resolve the effective transaction type from nestedTransactions when the parent is a batch transaction, so relay deposits for mUSD conversions (and other supported types) are correctly classified even when batched.

Result of transaction metrics in mobile with preview build:
Screenshot 2026-04-15 at 15 22 01

References

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
Changes how relay deposit transactions are typed when the parent transaction is batch, which can affect metrics and downstream type-based handling. Adds a new TransactionType enum value that consumers may need to recognize.

Overview
Fixes MetaMask Pay relay submissions so relay deposit transactions are typed based on the underlying nested transaction when the parent is TransactionType.batch, rather than always using the top-level batch type.

Adds a new TransactionType.musdRelayDeposit and maps musdConversion -> musdRelayDeposit in RELAY_DEPOSIT_TYPES, with expanded unit tests covering batch/nested resolution and fallback behavior. Changelogs are updated for both transaction-controller and transaction-pay-controller.

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

@OGPoyraz
Copy link
Copy Markdown
Member Author

@metamaskbot publish-preview

@OGPoyraz
Copy link
Copy Markdown
Member Author

@metamaskbot publish-preview

@github-actions
Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.0.0-preview-51be4cab9
@metamask-previews/accounts-controller@37.2.0-preview-51be4cab9
@metamask-previews/address-book-controller@7.1.1-preview-51be4cab9
@metamask-previews/ai-controllers@0.6.3-preview-51be4cab9
@metamask-previews/analytics-controller@1.0.1-preview-51be4cab9
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-51be4cab9
@metamask-previews/announcement-controller@8.1.0-preview-51be4cab9
@metamask-previews/app-metadata-controller@2.0.1-preview-51be4cab9
@metamask-previews/approval-controller@9.0.1-preview-51be4cab9
@metamask-previews/assets-controller@5.0.1-preview-51be4cab9
@metamask-previews/assets-controllers@104.0.0-preview-51be4cab9
@metamask-previews/base-controller@9.1.0-preview-51be4cab9
@metamask-previews/base-data-service@0.1.1-preview-51be4cab9
@metamask-previews/bridge-controller@70.1.0-preview-51be4cab9
@metamask-previews/bridge-status-controller@70.0.5-preview-51be4cab9
@metamask-previews/build-utils@3.0.4-preview-51be4cab9
@metamask-previews/chain-agnostic-permission@1.5.0-preview-51be4cab9
@metamask-previews/claims-controller@0.5.0-preview-51be4cab9
@metamask-previews/client-controller@1.0.1-preview-51be4cab9
@metamask-previews/compliance-controller@2.0.0-preview-51be4cab9
@metamask-previews/composable-controller@12.0.1-preview-51be4cab9
@metamask-previews/config-registry-controller@0.2.0-preview-51be4cab9
@metamask-previews/connectivity-controller@0.2.0-preview-51be4cab9
@metamask-previews/controller-utils@11.20.0-preview-51be4cab9
@metamask-previews/core-backend@6.2.1-preview-51be4cab9
@metamask-previews/delegation-controller@3.0.0-preview-51be4cab9
@metamask-previews/earn-controller@12.0.0-preview-51be4cab9
@metamask-previews/eip-5792-middleware@3.0.3-preview-51be4cab9
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.0-preview-51be4cab9
@metamask-previews/eip1193-permission-middleware@1.0.3-preview-51be4cab9
@metamask-previews/ens-controller@19.1.1-preview-51be4cab9
@metamask-previews/eth-block-tracker@15.0.1-preview-51be4cab9
@metamask-previews/eth-json-rpc-middleware@23.1.1-preview-51be4cab9
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-51be4cab9
@metamask-previews/foundryup@1.0.1-preview-51be4cab9
@metamask-previews/gas-fee-controller@26.1.1-preview-51be4cab9
@metamask-previews/gator-permissions-controller@3.0.1-preview-51be4cab9
@metamask-previews/geolocation-controller@0.1.2-preview-51be4cab9
@metamask-previews/json-rpc-engine@10.2.4-preview-51be4cab9
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-51be4cab9
@metamask-previews/keyring-controller@25.2.0-preview-51be4cab9
@metamask-previews/logging-controller@8.0.1-preview-51be4cab9
@metamask-previews/message-manager@14.1.1-preview-51be4cab9
@metamask-previews/messenger@1.1.1-preview-51be4cab9
@metamask-previews/messenger-cli@0.1.0-preview-51be4cab9
@metamask-previews/money-account-balance-service@0.0.0-preview-51be4cab9
@metamask-previews/money-account-controller@0.1.0-preview-51be4cab9
@metamask-previews/multichain-account-service@8.0.1-preview-51be4cab9
@metamask-previews/multichain-api-middleware@2.0.0-preview-51be4cab9
@metamask-previews/multichain-network-controller@3.0.6-preview-51be4cab9
@metamask-previews/multichain-transactions-controller@7.0.4-preview-51be4cab9
@metamask-previews/name-controller@9.1.1-preview-51be4cab9
@metamask-previews/network-controller@30.0.1-preview-51be4cab9
@metamask-previews/network-enablement-controller@5.0.2-preview-51be4cab9
@metamask-previews/notification-services-controller@23.1.0-preview-51be4cab9
@metamask-previews/permission-controller@12.3.0-preview-51be4cab9
@metamask-previews/permission-log-controller@5.1.0-preview-51be4cab9
@metamask-previews/perps-controller@3.1.0-preview-51be4cab9
@metamask-previews/phishing-controller@17.1.1-preview-51be4cab9
@metamask-previews/polling-controller@16.0.4-preview-51be4cab9
@metamask-previews/preferences-controller@23.1.0-preview-51be4cab9
@metamask-previews/profile-metrics-controller@3.1.3-preview-51be4cab9
@metamask-previews/profile-sync-controller@28.0.2-preview-51be4cab9
@metamask-previews/ramps-controller@13.1.0-preview-51be4cab9
@metamask-previews/rate-limit-controller@7.0.1-preview-51be4cab9
@metamask-previews/react-data-query@0.2.0-preview-51be4cab9
@metamask-previews/remote-feature-flag-controller@4.2.0-preview-51be4cab9
@metamask-previews/sample-controllers@4.0.4-preview-51be4cab9
@metamask-previews/seedless-onboarding-controller@9.1.0-preview-51be4cab9
@metamask-previews/selected-network-controller@26.1.0-preview-51be4cab9
@metamask-previews/shield-controller@5.1.1-preview-51be4cab9
@metamask-previews/signature-controller@39.1.2-preview-51be4cab9
@metamask-previews/social-controllers@0.1.0-preview-51be4cab9
@metamask-previews/storage-service@1.0.1-preview-51be4cab9
@metamask-previews/subscription-controller@6.1.2-preview-51be4cab9
@metamask-previews/transaction-controller@64.2.0-preview-51be4cab9
@metamask-previews/transaction-pay-controller@19.1.2-preview-51be4cab9
@metamask-previews/user-operation-controller@41.2.0-preview-51be4cab9

@OGPoyraz OGPoyraz marked this pull request as ready for review April 15, 2026 13:39
@OGPoyraz OGPoyraz requested review from a team as code owners April 15, 2026 13:39
@OGPoyraz OGPoyraz added this pull request to the merge queue Apr 15, 2026
Merged via the queue into main with commit 1a802e0 Apr 15, 2026
345 checks passed
@OGPoyraz OGPoyraz deleted the ogp/CONF-1190 branch April 15, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants