Skip to content

CONF-1947: Add Solana Pay rollout diagnostics in Core - #10274

Draft
pedronfigueiredo wants to merge 3 commits into
pnf/conf-1944-run-the-one-attempt-solana-source-path-and-recovery-loop-in-corefrom
pnf/conf-1947-wire-rollout-flags-analytics-and-support-diagnostics-for-solana-pay
Draft

pedronfigueiredo wants to merge 3 commits into
pnf/conf-1944-run-the-one-attempt-solana-source-path-and-recovery-loop-in-corefrom
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

Summary

  • Keep Solana Pay admission fail-closed inside Core at first executable-quote creation while allowing already-admitted submission, observation, and recovery after rollback.
  • Align diagnostics with the transaction-owned metamaskPay.solanaExecution checkpoint introduced by the rebased parent branch.
  • Persist stable categorical error codes and expose privacy-safe support/lifecycle projections containing statuses and identifier-presence booleans, never raw identifiers or free-form errors.
  • Emit deduplicated lifecycle transitions for external Solana source, Relay, notification, follow-up, and recovery states; unknown Relay statuses remain fail-closed.

Commits

  • 6d31740aa0 — adapt Solana rollout diagnostics to the narrowed transaction-owned execution contract.
  • 5728f2cb3c — verify admission-only gating and continued execution after rollback.
  • bb42d2630d — compare every mutable emitted lifecycle field and cover categorical transitions.

Standards alignment

  • Feature-flag admission follows the existing internal Core remote-feature-flag pattern; client visibility remains client-owned rather than going through a public controller flag middleman.
  • Analytics transport follows existing EVM/client patterns. Clients enrich the categorical payload using their existing transaction and confirmation correlation.
  • The dedicated categorical event exists only for non-EVM intermediate and recovery states that ordinary EVM transaction lifecycle events do not represent.
  • The custom durable analytics UUID and its validation/generation contract were removed.
  • Rollout/analytics prose was removed from ARCHITECTURE.md; that document retains only the execution and lifecycle architecture inherited from CONF-1944: Run the one-attempt Solana Pay path and recovery loop #10273.

Validation

  • yarn workspace @metamask/transaction-pay-controller run test — passed with 100% statements, lines, and functions; 99.47% branches.
  • yarn workspace @metamask/transaction-controller run test — passed.
  • yarn build — passed.
  • Targeted ESLint and Prettier checks — passed.
  • yarn changelog:validate — passed.
  • TransactionPayController messenger action-type check — passed.
  • git diff --check — passed.

Solana Pay ticket and PR index

@pedronfigueiredo
pedronfigueiredo force-pushed the pnf/conf-1947-wire-rollout-flags-analytics-and-support-diagnostics-for-solana-pay branch from ad6be88 to bb42d26 Compare September 17, 2026 15: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.

1 participant