[Peras 25] Conformance and property tests for voting committee implementations#1977
Open
agustinmista wants to merge 7 commits intoperas/bls-crypto-for-voting-committeesfrom
Open
[Peras 25] Conformance and property tests for voting committee implementations#1977agustinmista wants to merge 7 commits intoperas/bls-crypto-for-voting-committeesfrom
agustinmista wants to merge 7 commits intoperas/bls-crypto-for-voting-committeesfrom
Conversation
This was referenced Apr 13, 2026
0fba5cd to
ed32da6
Compare
d90d865 to
542a547
Compare
ed32da6 to
fb6fc29
Compare
542a547 to
e6ad1a9
Compare
01757d1 to
89aeea0
Compare
e6ad1a9 to
91664c2
Compare
8dfe125 to
9af74bb
Compare
91664c2 to
0b3f25f
Compare
This commit defines some common test helpers used by the upcoming property and conformance tests for both WFALS and EveryoneVotes. Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
This commit reorganizes the existing model and conformance test infrastructure for WFALS in anticipation to the the tests for the real implementation implemented in the next commit. Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
This commit adds conformance tests for the real WFALS implementation. In particular, we chech that the real implementation matches both the precomputed output of the rust prototype as well as the WFALS model against random stake distributions and target committee sizes. Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
This commit implements property tests for the real WFALS implementation asserting that: * votes cast by eligible voters are successfully verifiable under the same voting committee, and * fake (illegal) votes are successfully rejected Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
This commit implements property tests for the EveryoneVotes implementation asserting that: * votes cast by eligible voters are successfully verifiable under the same voting committee, and * fake (illegal) votes are successfully rejected Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
This commit adds property tests to validate the implementation of ensureSameTarget, provided by the generic voting committee API. Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
This commit adds property tests for the verification helpers for provided to use along with trivial aggregate vote signatuures and aggregate VRF outputs, which verify a collection of items by verifying each on individually in a loop. Co-authored-by: Nicolas BACQUEY <nicolas.bacquey@tweag.io> Co-authored-by: Thomas BAGREL <thomas.bagrel@tweag.io> Co-authored-by: Agustin Mista <agustin.mista@moduscreate.com>
9af74bb to
6a7c5f1
Compare
0b3f25f to
1e2b1a9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR provides:
VotesWithSameTarget) and crypto instance definition helpers (trivialVerifyAggregate(VoteSignature|VRFOutput)).WFALSbetween the real implementation and:WFALSandEveryoneVotes, asserting that:NOTES:
EveryoneVotestests.