Skip to content

test: implement property-based fuzz tests for all Soroban contracts - #33

Closed
bbkenny wants to merge 1 commit into
wraith-protocol:mainfrom
bbkenny:fix/property-fuzz-tests-issue-5
Closed

bbkenny wants to merge 1 commit into
wraith-protocol:mainfrom
bbkenny:fix/property-fuzz-tests-issue-5

Conversation

@bbkenny

@bbkenny bbkenny commented May 29, 2026

Copy link
Copy Markdown

This PR adds property-based fuzz tests to all Stellar Soroban contracts in the workspace using the proptest framework.

Key changes:

  • Integrated proptest into the workspace and individual contract crates.
  • Added test_announce_fuzz to stealth-announcer to verify event emission integrity with arbitrary inputs.
  • Added test_registry_fuzz to stealth-registry to verify data persistence for arbitrary schemes and meta-addresses.
  • Added test_names_fuzz to wraith-names to verify name registration and reverse lookup logic.

These tests help ensure the robustness of the protocol contracts against edge cases and malformed inputs.

Closes #5

@bbkenny

bbkenny commented May 29, 2026

Copy link
Copy Markdown
Author

Hi @wraith-protocol, I've implemented the property-based fuzz tests for all Soroban contracts as requested in issue #5. These tests use the proptest framework to verify contract invariants against arbitrary inputs, significantly improving the robustness of the protocol. Ready for review!

@drips-wave

drips-wave Bot commented May 29, 2026

Copy link
Copy Markdown

@bbkenny 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! 🚀

Learn more about application limits

@truthixify

Copy link
Copy Markdown
Contributor

Closing this one — issue #5 was already addressed by #13 which landed first and went a bit broader (dedicated tests/properties.rs per crate, a WRAITH_PROPTEST_CASES env knob, and the nightly CI matrix at 16k cases). Your approach (proptests inline in the lib.rs #[cfg(test)] modules) is also valid — sorry the duplication happened, that's on us for not making the assignment-tracking more visible.

Definitely don't want this to be a wasted effort though. A few open issues that would slot in nicely with the same proptest muscle:

Thanks for picking this up @bbkenny — pick any of those (or another open Stellar Wave issue) and I'll prioritize the review.

@truthixify truthixify closed this Jun 1, 2026
@bbkenny

bbkenny commented Jun 2, 2026

Copy link
Copy Markdown
Author

Thanks for the update and for the detailed explanation! I completely understand, these overlaps happen sometimes.

I would have loved to tackle one of those other issues you mentioned, but unfortunately, this current Drips Wave has ended, so I can no longer apply to new issues to get assigned to them for the program.

However, no worries at all! I still have a couple of other active PRs open under the Wraith Protocol organization (like the Web Worker scanning in wraith-protocol/demo and the custom-asset send builder in wraith-protocol/sdk ).I'll pivot my focus over to those to get their feedback's fixed so we can get them merged!

Thanks again for the great communication and support!

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.

Property-based fuzz tests for all Stellar Soroban contracts

2 participants