refactor(confirmations): use approval callbacks instead of prep mutations - #35754
pedronfigueiredo wants to merge 3 commits into
Conversation
|
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. |
PR template — items to address before "Ready for review"Warnings — informational, address before merging:
See docs/readme/ready-for-review.md for the full Definition of Ready for Review. |
🧪 Flaky unit test detectionRun history flaky detectionHistorical failure rate is a hint, not proof — review each suggestion in context. See the flaky-test-detection skill for the full pattern reference and manual audit workflow. Failures / runs sampled per window:
AI-detected flaky patterns
|
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
Impact areas:
The risk is high because this changes core transaction signing behavior that affects multiple user flows. The test file changes confirm the behavioral changes (e.g., Performance Test Selection: |
Related pull requests
Description
Mobile now relies on TransactionController approval-time callbacks (
isSponsoredandshouldSign) instead of imperatively preparing approval metadata in the confirmation flow.Mobile still owns capability discovery and client-specific behavior: signer-versus-payer handling,
waitForResult, Smart Transaction fee-token batch construction, fee-token EIP-7702 routing, hardware send deferral, ApprovalController acceptance, fiat branching, network enablement, and product navigation. The controller now derives external signing internally, so the confirmation flow no longer needs to mutateisExternalSignbefore approval.Characterization coverage was updated for hardware payer/software signer behavior, gas-fee-token handling, ignored fee tokens, and hardware send routing.
Validation
npx jest --no-watchman app/components/Views/confirmations/hooks/transactions/useTransactionConfirm.test.ts app/util/transactions/hooks/index.test.ts