Skip to content

Feat/fuzz batch operations#1839

Open
akinboyewaSamson wants to merge 2 commits into
EarnQuestOne:mainfrom
akinboyewaSamson:feat/fuzz-batch-operations
Open

Feat/fuzz batch operations#1839
akinboyewaSamson wants to merge 2 commits into
EarnQuestOne:mainfrom
akinboyewaSamson:feat/fuzz-batch-operations

Conversation

@akinboyewaSamson

Copy link
Copy Markdown

closes #1719

Description

This PR introduces targeted fuzz testing frameworks for structural batch operations (batch_registration and batch_approval). Prior to this change, the project only had fuzzers coverage for single validation, individual submissions, and unique quest creations, leaving complex atomic collections, boundary sizes, and status transitions untested against malicious or unpredictable vector variations.

Changes Made

Cargo.toml(Fuzz Package): Registered and set up build targets forbatch_registration_fuzzerandbatch_approval_fuzzerlinking standard testing utilities fromsoroban-sdk`.

batch_registration_fuzzer.rs: Implemented a data stream loop translating raw byte arrays into collections of Soroban String` types to test batch array limits, duplicate identifiers, and boundary constraints.

batch_approval_fuzzer.rs`: Created a structured profile harness handling arbitrary transaction amounts and nested parameters to verify transaction stability during multiple concurrent approvals.

Verification Status

Files have been verified and validated locally via the feat/fuzz-batch-operations branch tracking log:

modified:   contracts/earn-quest/fuzz/Cargo.toml
untracked:  contracts/earn-quest/fuzz/fuzz_targets/batch_approval_fuzzer.rs
untracked:  contracts/earn-quest/fuzz/fuzz_targets/batch_registration_fuzzer.rs

 Checklist

* [x] Fuzz target structures compile accurately without system macro errors.
* [x] Input streams cleanly interface with Soroban runtime mocks.
* [x] All native file comments have been omitted for low-overhead continuous pipeline execution.

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.

Add Fuzz Tests for Batch Registration and Approval Inputs

2 participants