Skip to content

ZK-062: Add fuzz and property tests for note serialization, witness encoding, and Merkle paths #306

@ANAVHEOBA

Description

@ANAVHEOBA

Wave: PrivacyLayer ZK Wave 1
Issue Key: ZK-062
Area: testing
Priority: Medium
Drips Complexity: High

Summary

Complement fixed fixtures with fuzz and property tests over the most failure-prone encoding and tree-handling code.

Relevant Code

  • sdk/src/note.ts
  • sdk/src/proof.ts
  • sdk/src/merkle.ts

Scope

  • Fuzz note import/export, witness serialization, and Merkle path generation with seeded randomness.
  • Promote minimal reproductions from failing fuzz cases into fixed regressions.
  • Focus on deterministic coverage that can run in CI.

Acceptance Criteria

  • Fuzz or property tests cover note parsing, witness encoding, and Merkle path logic.
  • Failures are reproducible from saved seeds or reduced cases.
  • The suite is stable enough for automated runs.

Out of Scope

  • Soroban contract changes
  • Frontend and wallet UI work

Dependencies

  • ZK-015
  • ZK-028
  • ZK-055

References

  • sdk/src/note.ts
  • sdk/src/proof.ts
  • sdk/src/merkle.ts

Metadata

Metadata

Labels

area: testingIntegration tests, fuzzing, and regression coveragebountyEligible for Drips Wave bounty reviewcomplexity: highDrips complexity: high / 200 pointspriority: mediumImportant work that should land within the wavetestingCoverage, fixtures, fuzzing, and regression workwave: zk-1Wave 1: ZK system buildout before contract work

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions