Skip to content

CONF-1947: Add Solana Pay rollout diagnostics in Mobile - #36362

Draft
pedronfigueiredo wants to merge 1 commit into
pnf/conf-1946-ship-the-solana-pay-source-picker-and-confirmation-flow-in-mobilefrom
pnf/conf-1947-wire-rollout-flags-analytics-and-support-diagnostics-for-solana-pay
Draft

pedronfigueiredo wants to merge 1 commit into
pnf/conf-1946-ship-the-solana-pay-source-picker-and-confirmation-flow-in-mobilefrom
pnf/conf-1947-wire-rollout-flags-analytics-and-support-diagnostics-for-solana-pay

Conversation

@pedronfigueiredo

@pedronfigueiredo pedronfigueiredo commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Description

Adds the Mobile-owned rollout controls, privacy-safe lifecycle analytics, and support diagnostics for Solana Pay.

  • Evaluates confirmations_pay.payStrategies.relay.solana through Mobile's standard version-gated feature-flag validation, honoring minimumVersion and failing closed for missing or malformed values.
  • Hides new Solana sources while retaining an already-admitted transaction-owned source so rollback does not interrupt recovery.
  • Uses Mobile's established transaction/confirmation analytics identity instead of persisting a custom per-intent correlation identifier.
  • Registers MetaMask Pay Solana Lifecycle in the central analytics event catalog and maps Core lifecycle transitions without raw account, asset, amount, provider-request, transaction identifiers, or messages.
  • Maps client submission failures to stable support error codes and exposes Core's sanitized diagnostics through the existing MM Pay debug surface using transaction-owned source and solanaExecution metadata.

Ordinary EVM MetaMask Pay lifecycle remains represented by the standard transaction analytics events. The dedicated Solana event is limited to categorical source, Relay, follow-up, notification, and restart-recovery states that ordinary EVM events cannot represent.

Changelog

CHANGELOG entry: Added rollout controls and support diagnostics for Solana payments.

Related issues

Refs: CONF-1947

Solana Pay ticket and PR index

Manual testing steps

Feature: Solana Pay rollout controls and diagnostics

  Scenario: rollout is disabled
    Given the Solana Pay rollout flag is disabled
    When a user opens the Pay source picker
    Then new Solana sources are not available
    And an already-admitted Solana source remains visible for recovery

  Scenario: rollout is enabled
    Given the Solana Pay rollout flag is enabled
    When a user selects a Solana source and completes a supported Pay flow
    Then the Solana source uses the standard Mobile analytics correlation
    And lifecycle outcomes emit privacy-safe MetaMask Pay analytics
    And sanitized support diagnostics are available in the MM Pay debug surface

Automated integration audit against local Core commit bb42d2630dc758f7b8933c61eb5e2ef941c66f50:

  • 9 focused Jest suites passed (119 tests).
  • ESLint and Prettier passed for changed files.
  • TypeScript compatibility reached only the unrelated baseline missing app/util/termsOfUse/termsOfUseContent errors.
  • Temporary local Core dependency links were removed after validation.

Screenshots/Recordings

N/A — no production visual changes; rollout filtering and the existing developer-only MM Pay debug surface are covered by focused tests.

Before

N/A

After

N/A

Pre-merge author checklist

Performance checks (if applicable)

  • I've considered Android performance testing; this change does not add a performance-sensitive path
  • I've considered power-user testing; this change only filters an existing source list
  • I've considered Sentry instrumentation; lifecycle analytics are provided through the AnalyticsController instead

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.

@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.

@sonarqubecloud

Copy link
Copy Markdown

@pedronfigueiredo
pedronfigueiredo force-pushed the pnf/conf-1947-wire-rollout-flags-analytics-and-support-diagnostics-for-solana-pay branch from fea4a25 to a245fe4 Compare September 17, 2026 15:50
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeConfirmations, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeSwap, SmokeStake, SmokeWalletPlatform, SmokeMoney, SmokePerps, SmokeMultiChainAPI, SmokePredictions, SmokeSeedlessOnboarding, SmokeBrowser, SmokeSnaps, SmokeMMConnect
  • Selected Performance tags: @PerformanceAccountList, @PerformanceOnboarding, @PerformanceLogin, @PerformanceSwaps, @PerformanceLaunch, @PerformanceAssetLoading, @PerformancePredict, @PerformancePreps, @PerformanceMoney, @PerformanceRewards
  • Risk Level: high
  • AI Confidence: %
click to see 🤖 AI reasoning details

E2E Test Selection:
Fallback: AI analysis did not complete successfully. Running all tests.

Performance Test Selection:
Fallback: AI analysis did not complete successfully. Running all performance tests.

View GitHub Actions results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size-L team-confirmations Push issues to confirmations team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant