Skip to content

feat(fuzz): add governance lifecycle fuzz target - #1

Open
devnWisdom wants to merge 1 commit into
mainfrom
feat/fuzz-governance-lifecycle-558
Open

feat(fuzz): add governance lifecycle fuzz target#1
devnWisdom wants to merge 1 commit into
mainfrom
feat/fuzz-governance-lifecycle-558

Conversation

@devnWisdom

Copy link
Copy Markdown
Owner

Summary

Adds fuzz_governance fuzz target covering the full community_governance proposal lifecycle: propose → vote → finalize → execute.

What's included

  • fuzz/fuzz_targets/fuzz_governance.rs — fuzz target with arbitrary voter count, voting period, and approve/reject bit pattern
  • Seed corpus entries: single voter approve, 8-voter all-reject, 16-voter mixed
  • Registered as [[bin]] in fuzz/Cargo.toml

Invariants verified

  • propose() always returns a positive proposal ID
  • Vote counts match the fuzz-generated approval pattern exactly
  • finalize() always produces a terminal status (Passed / Rejected / Expired)
  • execute() only runs after Passed + timelock, and results in Executed status

Testing

Run with: cargo +nightly fuzz run fuzz_governance from apps/contracts/fuzz/

Closes AnnabelJoe#558

Adds fuzz_governance fuzz target covering the full proposal lifecycle:
propose → vote → finalize → execute.

Verifies:
- proposal IDs are always positive
- vote counts match the approval pattern
- finalize() always produces a terminal status
- execute() succeeds after Passed + timelock

Closes AnnabelJoe#558
@github-actions

Copy link
Copy Markdown

🔍 Vercel Preview Deployment

URL: Learn More: https://err.sh/vercel/missing-token-value

Uses Stellar testnet contract addresses.

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.

1 participant