feat: end-to-end dust protection (classification, restrictions, donation, report)#6989
Open
Parsh wants to merge 44 commits into
Open
feat: end-to-end dust protection (classification, restrictions, donation, report)#6989Parsh wants to merge 44 commits into
Parsh wants to merge 44 commits into
Conversation
…et Details screen per product decision
…ces and implement dust classification logic
…nt and toast notifications for new dust UTXOs
…ot Spend indicators
…llet selection handling
…ance UI with warnings
…related UI elements
…d enhance donation flow
… with dust reasoning
… enhance wallet output handling
… and enhance taint detection logic
…on capabilities - Implemented dust report UI and logic in DustReportScreen - Added useDustReport hook for handling dust report data - Enhanced localization files for English and Spanish - Integrated dust report navigation in WalletSettings - Created unit tests for dust report logic
Dust Report: Scanning and Donations
…refreshWalletsWorker
…assification Implement address-level taint model and enhance dust UTXO management
Implement Donate Dust feature for clearing Do Not Spend UTXOs
Implement Do Not Spend UTXO restrictions and enhance UI warnings
…do not spend UTXOs
…entifiers and improved messaging
Enhance dust report terminology and UI for better clarity
… active dust report
Enhance active dust report with clarity & fix dust report mismatch(due to manual override)
ben-kaufman
previously approved these changes
May 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers the complete dust-protection feature set for Keeper across wallet sync, coin selection, UTXO management, send flow, transaction history, and wallet settings.
It combines five related OpenSpec changes into one cohesive rollout:
Problem
Dust attacks can reduce user privacy by encouraging linkage when suspicious small UTXOs are spent. Prior behavior lacked end-to-end protection and clear user actions.
What’s Included
1) Automatic dust detection + manual spendability control
Do Not Spend/Spendable.2) Spend restrictions in send flow
Do Not SpendUTXOs from automatic coin selection.Do Not Spendcoin.3) Dust donation flow
Donate DustCTA in Manage Coins.Do Not SpendUTXOs at low fee tier.4) Address-level taint + descendant propagation
Potential dust spendwhen tainted senders are involved.initial,adjacent,descendant).5) Dust Report (wallet/vault settings)
Dust Reportentry point from Wallet/Vault Settings.Architecture / Data Changes
Testing
Automated tests added/updated
Maestro flows added
flows/dustUTXOClassification.yamlflows/dustSpendRestrictions.yamlflows/dustDonation.yamlflows/dustDescendantClassification.yamlflows/dustAnalysisReport.yamlflows/dustSanity.yamlNotes