feat(validation): add dust transaction rejection guard - #708
Merged
Sadeequ merged 2 commits intoJul 31, 2026
Merged
Conversation
Implements MIN_TRANSFER_AMOUNT check on all incoming deposits and swaps to reject micro-denominated (dust) transactions that waste ledger throughput and are commonly used for spam across payment corridors. Changes: - src/validation/dust.rs (new): defines MIN_TRANSFER_AMOUNT = 10_000 stroops (0.001 XLM) and check_min_transfer() helper; includes 10 unit tests covering zero, boundary, and valid amounts - src/validation.rs: declares 'pub mod dust' submodule and re-exports check_min_transfer / MIN_TRANSFER_AMOUNT at the validation crate level - src/lib.rs: appends AmountTooLow = 48 to ContractError enum - src/fees.rs: calls check_min_transfer(collected) at the top of add_corridor_fees() to gate deposit entry point - src/router/multihop.rs: calls check_min_transfer(amount_in) inside execute_single_hop() to gate swap entry point Closes: Anti-Spam | Automated Dust Transaction Rejection Guard Impact: Low | Module: stellarflow-contracts/validation/dust.rs
|
@nextgenuniversity1-oss Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
closes #608
Implements MIN_TRANSFER_AMOUNT check on all incoming deposits and swaps to reject micro-denominated (dust) transactions that waste ledger throughput and are commonly used for spam across payment corridors.
Changes:
Closes: Anti-Spam | Automated Dust Transaction Rejection Guard
Impact: Low | Module: stellarflow-contracts/validation/dust.rs