Skip to content

ci pipeline configuration pipeline implemented#184

Open
MoscowDev wants to merge 1 commit into
BETAIL-BOYS:mainfrom
MoscowDev:feature/XDR-transaction-testing
Open

ci pipeline configuration pipeline implemented#184
MoscowDev wants to merge 1 commit into
BETAIL-BOYS:mainfrom
MoscowDev:feature/XDR-transaction-testing

Conversation

@MoscowDev

Copy link
Copy Markdown

Property-Based Fuzz Testing Implementation Summary

Implemented comprehensive property-based fuzz testing for the /transactions/batch-build payload parser to validate the resilience and stability of the XDR transaction builder against malformed, oversized, and maliciously structured input data.

Completed Work

  • Integrated the fast-check property-based testing framework into the backend testing suite.

  • Designed and implemented arbitrary generators capable of producing highly randomized transaction payloads, including:

    • Arrays of swap intents with varying nesting depths.
    • Missing or malformed required fields.
    • Negative, zero, and invalid asset amounts.
    • Unexpected data types and mixed-type arrays.
    • Excessively long Stellar address strings.
    • Boundary values such as Number.MAX_SAFE_INTEGER, NaN, Infinity, and other numeric edge cases.
  • Developed fuzz test scenarios that continuously generate and submit randomized payloads to the /transactions/batch-build endpoint to simulate real-world and adversarial input conditions.

  • Added validation assertions to ensure:

    • Invalid payloads consistently return 400 Bad Request responses.
    • Input validation failures are handled gracefully without propagating exceptions to the Stellar SDK layer.
    • The endpoint never returns 500 Internal Server Error responses due to malformed user input.
  • Verified that the XDR builder remains stable when processing deeply nested arrays, oversized payload structures, and malformed asset amount values.

Outcome

The transaction builder endpoint is now protected by robust fuzz testing coverage that proactively identifies edge cases and validation gaps. The implementation significantly improves API reliability by ensuring malformed or malicious payloads are safely rejected through validation logic, preventing crashes, panics, or unexpected failures within the XDR generation workflow.
closes #171

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.

[Testing] Fuzz Testing for XDR Transaction Builder Payload Parsing

1 participant