Skip to content

feat(stellar-wallet-snap): add recoverable confirmation refresh outcome - #291

Draft
khanti42 wants to merge 4 commits into
mainfrom
feat/stellar-confirm-recoverable-refresh
Draft

feat(stellar-wallet-snap): add recoverable confirmation refresh outcome#291
khanti42 wants to merge 4 commits into
mainfrom
feat/stellar-confirm-recoverable-refresh

Conversation

@khanti42

@khanti42 khanti42 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Explanation

Today, confirmation refresh treats all transaction re-validation failures as halt: omit the security scan, show a banner, and stop auto-cron. That is correct for hard failures (insufficient balance, trustline, etc.), but SEP-29 RequiresMemo is different — the user can fix it in-dialog (add a memo) and the UI needs to re-trigger refresh + scan without reconstructing securityScanRequest.

This PR adds a first-class recoverable?: boolean on ConfirmationContextRefreshResult:

  • halt — hard validation failure; omit scan this cycle; do not auto-reschedule; banner error.
  • recoverable — soft validation failure (currently RequiresMemoException); same omit-scan + pause auto-cron + banner behavior, but keep securityScanRequest intact so a later UI scheduleBackgroundEvent can rebuild and re-scan.
  • Other validation errors keep halt: true.
  • Handler omits the scan refresher when the transaction refresher returns halt or recoverable, and does not auto-reschedule in either case.

No confirm UI / MemoEdit changes here — this is the platform primitive so memo confirm UI can land on top cleanly.

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

@sonarqubecloud

sonarqubecloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

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