@maci-protocol/website 0.0.0-ci.e535d7c → 0.0.0-ci.e998765

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/docusaurus.config.ts +2 -2
  2. package/package.json +4 -4
  3. package/static/img/circuits/MACI-Circuits.excalidraw +51 -51
  4. package/static/img/circuits/processMessages.svg +1 -1
  5. package/static/img/circuits/processMessages_2_0.svg +1 -1
  6. package/static/img/circuits/processOne.svg +1 -1
  7. package/static/img/circuits/processTopup.svg +1 -1
  8. package/static/img/circuits/quinBatchLeavesExists.svg +1 -1
  9. package/static/img/circuits/quinCheckRoot.svg +1 -1
  10. package/static/img/circuits/quinGeneratePathIndices.svg +1 -1
  11. package/static/img/circuits/quinSelector.svg +1 -1
  12. package/static/img/circuits/resultsCommitmentVerifier.svg +1 -1
  13. package/static/img/circuits/splicer.svg +1 -1
  14. package/static/img/circuits/tallyVotes.svg +1 -1
  15. package/versioned_docs/version-v0.x/quadratic-vote-tallying-circuit.md +16 -16
  16. package/versioned_docs/version-v3.x/core-concepts/key-change.md +3 -3
  17. package/versioned_docs/version-v3.x/core-concepts/poll-types.md +31 -7
  18. package/versioned_docs/version-v3.x/core-concepts/polls.md +31 -7
  19. package/versioned_docs/version-v3.x/core-concepts/spec.md +8 -8
  20. package/versioned_docs/version-v3.x/core-concepts/workflow.md +1 -1
  21. package/versioned_docs/version-v3.x/guides/compile-circuits.md +31 -15
  22. package/versioned_docs/version-v3.x/guides/integrating.md +1 -1
  23. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +1 -1
  24. package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +8 -2
  25. package/versioned_docs/version-v3.x/guides/troubleshooting.md +6 -6
  26. package/versioned_docs/version-v3.x/quick-start.md +23 -15
  27. package/versioned_docs/version-v3.x/resources.md +1 -0
  28. package/versioned_docs/version-v3.x/security/audit.md +2 -2
  29. package/versioned_docs/version-v3.x/security/trusted-setup.md +35 -35
  30. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +8 -8
  31. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +2 -2
  32. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  33. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +2 -2
  34. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +1 -1
  35. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +1 -1
  36. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +2 -2
  37. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +4 -4
  38. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +7 -3
  39. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +3 -3
  40. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +3 -3
  41. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +8 -8
  42. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +3 -3
@@ -49,14 +49,14 @@ pnpm download-zkeys:ceremony
49
49
 
50
50
  Here are the **maximum** values supported by these artifacts:
51
51
 
52
- **_ProcessMessages_**
52
+ **_MessageProcessor_**
53
53
 
54
54
  - users: $2^14 = 16384$
55
55
  - votes: $5^9 = 1953125$
56
56
  - batch size for proving: $5^2 = 25$
57
57
  - vote options: $5^3 = 125$
58
58
 
59
- **_TallyVotes_**
59
+ **_VoteTally_**
60
60
 
61
61
  - users (ballots): $2^14 = 16384$
62
62
  - batch size for proving: $2^5 = 32$
@@ -70,14 +70,14 @@ Please note that this ceremony has not started yet. We will inform when it will
70
70
 
71
71
  Here are the **maximum** values supported by these artifacts:
72
72
 
73
- **_ProcessMessages_**
73
+ **_MessageProcessor_**
74
74
 
75
75
  - users: $2^14 = 16384$
76
76
  - votes: $5^9 = 1953125$
77
77
  - batch size for proving: $5^3 = 125$
78
78
  - vote options: $5^3 = 125$
79
79
 
80
- **_TallyVotes_**
80
+ **_VoteTally_**
81
81
 
82
82
  - users (ballots): $2^14 = 16384$
83
83
  - batch size for proving: $2^7 = 128$
@@ -101,14 +101,14 @@ download:ceremony-zkeys
101
101
 
102
102
  Here are the **maximum** values supported by these artifacts:
103
103
 
104
- **_ProcessMessages_**
104
+ **_MessageProcessor_**
105
105
 
106
106
  - users: $5^6 = 15625$
107
107
  - votes: $5^9 = 1953125$
108
108
  - batch size for proving: $5^2 = 25$
109
109
  - vote options: $5^3 = 125$
110
110
 
111
- **_TallyVotes_**
111
+ **_VoteTally_**
112
112
 
113
113
  - users (ballots): $5^6 = 15625$
114
114
  - batch size for proving: $5^2 = 25$
@@ -118,39 +118,39 @@ For your convenience, here is a list of the artifacts that can be used in produc
118
118
 
119
119
  | Artifact | Description | Parameters | Link |
120
120
  | -------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
121
- | processMessages zKey | The production-ready zKey for the processMessages circuit. | 6-9-2-3 | [processMessages_6-9-2-3_final.zkey](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessages_6-9-2-3/contributions/maci-processmessages_6-9-2-3_final.zkey) |
121
+ | MessageProcessor zKey | The production-ready zKey for the MessageProcessor circuit. | 6-9-2-3 | [processMessages_6-9-2-3_final.zkey](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-MessageProcessorQv_6-9-2-3/contributions/MACI-MessageProcessorQv_6-9-2-3_final.zkey) |
122
122
  | processMessagesNonQv zKey | The production-ready zKey for the processMessagesNonQv circuit. | 6-9-2-3 | [processMessagesNonQv_6-9-2-3_final.zkey](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessagesnonqv_6-9-2-3/contributions/maci-processmessagesnonqv_6-9-2-3_final.zkey) |
123
- | tallyVotes zKey | The production-ready zKey for the tallyVotes circuit. | 6-2-3 | [tallyVotes_6-2-3_final.zkey](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/contributions/tallyvotes_6-2-3_final.zkey) |
124
- | tallyVotesNonQv zKey | The production-ready zKey for the tallyVotesNonQv circuit. | 6-2-3 | [tallyVotesNonQv_6-2-3_final.zkey](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-tallyvotesnonqv_6-2-3/contributions/maci-tallyvotesnonqv_6-2-3_final.zkey) |
125
- | processMessages r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-9-2-3 | [MACI-ProcessMessages_6-9-2-3.r1cs ](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessages_6-9-2-3/MACI-ProcessMessages_6-9-2-3.r1cs) |
123
+ | VoteTally zKey | The production-ready zKey for the VoteTally circuit. | 6-2-3 | [tallyVotes_6-2-3_final.zkey](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/contributions/VoteTallyQv_6-2-3_final.zkey) |
124
+ | tallyVotesNonQv zKey | The production-ready zKey for the tallyVotesNonQv circuit. | 6-2-3 | [tallyVotesNonQv_6-2-3_final.zkey](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-VoteTallyNonQv_6-2-3/contributions/MACI-VoteTallyNonQv_6-2-3_final.zkey) |
125
+ | MessageProcessor r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-9-2-3 | [MACI-MessageProcessorQv_6-9-2-3.r1cs ](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-MessageProcessorQv_6-9-2-3/MACI-MessageProcessorQv_6-9-2-3.r1cs) |
126
126
  | processMessagesNonQv r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-9-2-3 | [MACI-ProcessMessagesNonQv_6-9-2-3.r1cs](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessagesnonqv_6-9-2-3/MACI-ProcessMessagesNonQv_6-9-2-3.r1cs) |
127
- | tallyVotes r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-2-3 | [tallyvotes_6-2-3.r1cs](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.r1cs) |
128
- | tallyVotesNonQv r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-2-3 | [tallyvotesnonqv_6-2-3.r1cs](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-tallyvotesnonqv_6-2-3/MACI-TallyVotesNonQv_6-2-3.r1cs) |
129
- | processMessages wasm | The WASM file that can be used to generate proofs | 6-9-2-3 | [MACI-ProcessMessages_6-9-2-3.wasm](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessages_6-9-2-3/MACI-ProcessMessages_6-9-2-3.wasm) |
127
+ | VoteTally r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-2-3 | [VoteTallyQv_6-2-3.r1cs](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3.r1cs) |
128
+ | tallyVotesNonQv r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-2-3 | [VoteTallyNonQv_6-2-3.r1cs](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-VoteTallyNonQv_6-2-3/MACI-VoteTallyNonQv_6-2-3.r1cs) |
129
+ | MessageProcessor wasm | The WASM file that can be used to generate proofs | 6-9-2-3 | [MACI-MessageProcessorQv_6-9-2-3.wasm](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-MessageProcessorQv_6-9-2-3/MACI-MessageProcessorQv_6-9-2-3.wasm) |
130
130
  | processMessagesNonQv wasm | The WASM file that can be used to generate proofs | 6-9-2-3 | [MACI-ProcessMessagesNonQv_6-9-2-3.wasm](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessagesnonqv_6-9-2-3/MACI-ProcessMessagesNonQv_6-9-2-3.wasm) |
131
- | tallyVotes wasm | The WASM file that can be used to generate proofs | 6-2-3 | [tallyvotes_6-2-3.wasm](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.wasm) |
132
- | tallyVotesNonQv wasm | The WASM file that can be used to generate proofs | 6-2-3 | [tallyvotesnonqv_6-2-3.wasm](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-tallyvotesnonqv_6-2-3/MACI-TallyVotesNonQv_6-2-3.wasm) |
133
- | processMessages vKey | The verification key that can be used to verify the processMessages circuit's proofs | 6-9-2-3 | [maci-processmessages_6-9-2-3_vkey.json](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessages_6-9-2-3/maci-processmessages_6-9-2-3_vkey.json) |
131
+ | VoteTally wasm | The WASM file that can be used to generate proofs | 6-2-3 | [VoteTallyQv_6-2-3.wasm](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3.wasm) |
132
+ | tallyVotesNonQv wasm | The WASM file that can be used to generate proofs | 6-2-3 | [VoteTallyNonQv_6-2-3.wasm](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-VoteTallyNonQv_6-2-3/MACI-VoteTallyNonQv_6-2-3.wasm) |
133
+ | MessageProcessor vKey | The verification key that can be used to verify the MessageProcessor circuit's proofs | 6-9-2-3 | [MACI-MessageProcessorQv_6-9-2-3_vkey.json](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-MessageProcessorQv_6-9-2-3/MACI-MessageProcessorQv_6-9-2-3_vkey.json) |
134
134
  | processMessagesNonQv vKey | The verification key that can be used to verify the processMessagesNonQv circuit's proofs | 6-9-2-3 | [maci-processmessagesnonqv_6-9-2-3_vkey.json](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessagesnonqv_6-9-2-3/maci-processmessagesnonqv_6-9-2-3_vkey.json) |
135
- | tallyVotes vKey | The verification key that can be used to verify the tallyVotes circuit's proofs | 6-2-3 | [tallyvotes_6-2-3_vkey.json](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_vkey.json) |
136
- | tallyVotesNonQv vKey | The verification key that can be used to verify the tallyVotesNonQv circuit's proofs | 6-2-3 | [tallyvotesnonqv_6-2-3_vkey.json](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-tallyvotesnonqv_6-2-3/maci-tallyvotesnonqv_6-2-3_vkey.json) |
137
- | processMessages Solidity verifier | The Solidity smart contract which can be used to verify the processMessages circuit proofs on-chain | 6-9-2-3 | [maci-processmessages_6-9-2-3_verifier.sol](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessages_6-9-2-3/maci-processmessages_6-9-2-3_verifier.sol) |
135
+ | VoteTally vKey | The verification key that can be used to verify the VoteTally circuit's proofs | 6-2-3 | [VoteTallyQv_6-2-3_vkey.json](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3_vkey.json) |
136
+ | tallyVotesNonQv vKey | The verification key that can be used to verify the tallyVotesNonQv circuit's proofs | 6-2-3 | [VoteTallyNonQv_6-2-3_vkey.json](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-VoteTallyNonQv_6-2-3/MACI-VoteTallyNonQv_6-2-3_vkey.json) |
137
+ | MessageProcessor Solidity verifier | The Solidity smart contract which can be used to verify the MessageProcessor circuit proofs on-chain | 6-9-2-3 | [MACI-MessageProcessorQv_6-9-2-3_verifier.sol](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-MessageProcessorQv_6-9-2-3/MACI-MessageProcessorQv_6-9-2-3_verifier.sol) |
138
138
  | processMessagesNonQv Solidity verifier | The Solidity smart contract which can be used to verify the processMessagesNonQv circuit proofs on-chain | 6-9-2-3 | [maci-processmessagesnonqv_6-9-2-3_verifier.sol](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-processmessagesnonqv_6-9-2-3/maci-processmessagesnonqv_6-9-2-3_verifier.sol) |
139
- | tallyVotes Solidity verifier | The Solidity smart contract which can be used to verify the tallyVotes circuit proofs on-chain | 6-2-3 | [tallyvotes_6-2-3_verifier.sol](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_verifier.sol) |
140
- | tallyVotesNonQv Solidity verifier | The Solidity smart contract which can be used to verify the tallyVotesNonQv circuit proofs on-chain | 6-2-3 | [tallyvotesnonqv_6-2-3_verifier.sol](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/maci-tallyvotesnonqv_6-2-3/maci-tallyvotesnonqv_6-2-3_verifier.sol) |
139
+ | VoteTally Solidity verifier | The Solidity smart contract which can be used to verify the VoteTally circuit proofs on-chain | 6-2-3 | [VoteTallyQv_6-2-3_verifier.sol](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3_verifier.sol) |
140
+ | tallyVotesNonQv Solidity verifier | The Solidity smart contract which can be used to verify the tallyVotesNonQv circuit proofs on-chain | 6-2-3 | [VoteTallyNonQv_6-2-3_verifier.sol](https://maci-v1-2-0-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/MACI-VoteTallyNonQv_6-2-3/MACI-VoteTallyNonQv_6-2-3_verifier.sol) |
141
141
 
142
142
  ## Maci v1.1 Trusted Setup Ceremony
143
143
 
144
144
  Here are the **maximum** values supported by these artifacts:
145
145
 
146
- **_ProcessMessages_**
146
+ **_MessageProcessor_**
147
147
 
148
148
  - users: $5^6 = 15625$
149
149
  - votes: $5^8 = 390625$
150
150
  - messages per batch: $5^2 = 25$
151
151
  - vote options: $5^3 = 125$
152
152
 
153
- **_TallyVotes_**
153
+ **_VoteTally_**
154
154
 
155
155
  - users (ballots): $5^6 = 15625$
156
156
  - batch size: $5^2 = 25$
@@ -158,15 +158,15 @@ Here are the **maximum** values supported by these artifacts:
158
158
 
159
159
  For your convenience, here is a list of the artifacts that can be used in production:
160
160
 
161
- | Artifact | Description | Parameters | Link |
162
- | --------------------------------- | --------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
163
- | processMessages zKey | The production-ready zKey for the processMessages circuit. | 6-8-2-3 | [processmessages_6-8-2-3_final.zkey](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/contributions/processmessages_6-8-2-3_final.zkey) |
164
- | tallyVotes zKey | The production-ready zKey for the tallyVotes circuit. | 6-2-3 | [tallyvotes_6-2-3_final.zkey](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/contributions/tallyvotes_6-2-3_final.zkey) |
165
- | processMessages r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-8-2-3 | [processmessages_6-8-2-3.r1cs](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.r1cs) |
166
- | tallyVotes r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-2-3 | [tallyvotes_6-2-3.r1cs](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.r1cs) |
167
- | processMessage wasm | The WASM file that can be used to generate proofs | 6-8-2-3 | [processmessages_6-8-2-3.wasm](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.wasm) |
168
- | tallyVotes wasm | The WASM file that can be used to generate proofs | 6-2-3 | [tallyvotes_6-2-3.wasm](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.wasm) |
169
- | processMessages vKey | The verification key that can be used to verify the processMessages circuit's proofs | 6-8-2-3 | [processmessages_6-8-2-3_vkey.json](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_vkey.json) |
170
- | tallyVotes vKey | The verification key that can be used to verify the tallyVotes circuit's proofs | 6-2-3 | [tallyvotes_6-2-3_vkey.json](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_vkey.json) |
171
- | processMessages Solidity verifier | The Solidity smart contract which can be used to verify the processMessages circuit proofs on-chain | 6-8-2-3 | [processmessages_6-8-2-3_verifier.sol](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_verifier.sol) |
172
- | tallyVotes Solidity verifier | The Solidity smart contract which can be used to verify the tallyVotes circuit proofs on-chain | 6-2-3 | [tallyvotes_6-2-3_verifier.sol](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_verifier.sol) |
161
+ | Artifact | Description | Parameters | Link |
162
+ | ---------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
163
+ | MessageProcessor zKey | The production-ready zKey for the MessageProcessor circuit. | 6-8-2-3 | [processmessages_6-8-2-3_final.zkey](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/contributions/processmessages_6-8-2-3_final.zkey) |
164
+ | VoteTally zKey | The production-ready zKey for the VoteTally circuit. | 6-2-3 | [VoteTallyQv_6-2-3_final.zkey](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/contributions/VoteTallyQv_6-2-3_final.zkey) |
165
+ | MessageProcessor r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-8-2-3 | [processmessages_6-8-2-3.r1cs](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.r1cs) |
166
+ | VoteTally r1cs | The Rank-1 Constraint System file that was used to generate the zKey | 6-2-3 | [VoteTallyQv_6-2-3.r1cs](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3.r1cs) |
167
+ | processMessage wasm | The WASM file that can be used to generate proofs | 6-8-2-3 | [processmessages_6-8-2-3.wasm](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.wasm) |
168
+ | VoteTally wasm | The WASM file that can be used to generate proofs | 6-2-3 | [VoteTallyQv_6-2-3.wasm](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3.wasm) |
169
+ | MessageProcessor vKey | The verification key that can be used to verify the MessageProcessor circuit's proofs | 6-8-2-3 | [processmessages_6-8-2-3_vkey.json](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_vkey.json) |
170
+ | VoteTally vKey | The verification key that can be used to verify the VoteTally circuit's proofs | 6-2-3 | [VoteTallyQv_6-2-3_vkey.json](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3_vkey.json) |
171
+ | MessageProcessor Solidity verifier | The Solidity smart contract which can be used to verify the MessageProcessor circuit proofs on-chain | 6-8-2-3 | [processmessages_6-8-2-3_verifier.sol](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_verifier.sol) |
172
+ | VoteTally Solidity verifier | The Solidity smart contract which can be used to verify the VoteTally circuit proofs on-chain | 6-2-3 | [VoteTallyQv_6-2-3_verifier.sol](https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/VoteTallyQv_6-2-3/VoteTallyQv_6-2-3_verifier.sol) |
@@ -7,14 +7,14 @@ sidebar_position: 2
7
7
 
8
8
  There are a number of MACI's smart contracts which can be re-used by different deployments. These are the following:
9
9
 
10
- - [VerifyingKeysRegistry](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/VerifyingKeysRegistry.sol)
11
- - [PoseidonHashers](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/crypto/Hasher.sol)
12
- - [PollFactory](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/PollFactory.sol)
13
- - [MessageProcessorFactory](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/MessageProcessorFactory.sol)
14
- - [TallyFactory](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/TallyFactory.sol)
15
- - [Verifier](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/crypto/Verifier.sol)
10
+ - [VerifyingKeysRegistry](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/VerifyingKeysRegistry.sol)
11
+ - [PoseidonHashers](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/crypto/Hasher.sol)
12
+ - [PollFactory](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/PollFactory.sol)
13
+ - [MessageProcessorFactory](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/MessageProcessorFactory.sol)
14
+ - [TallyFactory](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/TallyFactory.sol)
15
+ - [Verifier](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/crypto/Verifier.sol)
16
16
  - [FreeForAllPolicy](https://github.com/privacy-scaling-explorations/excubiae/tree/main/packages/contracts/contracts/extensions/freeForAll)
17
- - [ConstantInitialVoiceCreditProxy](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy.sol) - if you are happy to work with a fixed amount of credits
17
+ - [ConstantInitialVoiceCreditProxy](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy.sol) - if you are happy to work with a fixed amount of credits
18
18
 
19
19
  VkRegistries can be re-used by different protocols to share the same set of verifying keys. Please be advised that you should be verifying that those verifying keys are the ones that have undergone a trusted setup ceremony.
20
20
 
@@ -25,7 +25,7 @@ In order to verify you will need the following:
25
25
  - run checkVerifyingKeys with the cli (see below)
26
26
 
27
27
  ```bash
28
- cd cli && node build/ts/index.js checkVerifyingKeys -q false -vk 0x74569d524a193daC0D3Df17B9E207C916174745b -s 6 -i 2 -m 9 -v 3 -b 2 -p ./zkeys/ProcessMessages_6-9-2-3/processMessages_6-9-2-3.zkey -t ./zkeys/TallyVotes_6-2-3/tallyVotes_6-2-3.zkey
28
+ cd cli && node build/ts/index.js checkVerifyingKeys -q false -vk 0x74569d524a193daC0D3Df17B9E207C916174745b -s 6 -i 2 -m 9 -v 3 -b 2 -p ./zkeys/MessageProcessorQv_6-9-2-3/MessageProcessorQv_6-9-2-3.zkey -t ./zkeys/VoteTallyQv_6-2-3/tallyVotes_6-2-3.zkey
29
29
  ```
30
30
 
31
31
  :::info
@@ -6,7 +6,7 @@ sidebar_position: 1
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [MACI.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/MACI.sol)
9
+ Code location: [MACI.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/MACI.sol)
10
10
  :::
11
11
 
12
12
  `MACI.sol` is the core contract of the project, as it provides the base layer for user signups and Polls to be created.
@@ -149,7 +149,7 @@ Polls require the following information:
149
149
  - `coordinatorPubKey`: the public key of the poll's coordinator
150
150
  - `verifier`: the address of the zk-SNARK verifier contract
151
151
  - `vkRegistry`: the address of the vk registry contract
152
- - `mode`: the mode of the poll, to set whether it supports quadratic voting or non quadratic voting
152
+ - `mode`: the mode of the poll, to set whether it supports quadratic voting, non quadratic voting, full credits voting
153
153
  - `signUpPolicy`: the address of the sign up policy contract
154
154
  - `initialVoiceCreditProxy`: the address of the initial voice credit proxy contract
155
155
  - `relayers`: the addresses of the relayers for the poll (if offchain voting is enabled)
@@ -6,7 +6,7 @@ sidebar_position: 4
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [MessageProcessor.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/MessageProcessor.sol)
9
+ Code location: [MessageProcessor.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/MessageProcessor.sol)
10
10
  :::
11
11
 
12
12
  This contract is used to prepare parameters for the zk-SNARK circuits as well as for verifying proofs. It should be deployed alongside a `Poll`.
@@ -6,7 +6,7 @@ sidebar_position: 9
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [Params.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/utils/Params.sol)
9
+ Code location: [Params.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/utilities/Params.sol)
10
10
  :::
11
11
 
12
12
  A contract holding three structs:
@@ -14,7 +14,7 @@ A contract holding three structs:
14
14
  ```ts
15
15
  /// @notice A struct holding the depths of the merkle trees
16
16
  struct TreeDepths {
17
- uint8 intStateTreeDepth;
17
+ uint8 tallyProcessingStateTreeDepth;
18
18
  uint8 voteOptionTreeDepth;
19
19
  }
20
20
 
@@ -6,7 +6,7 @@ sidebar_position: 2
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [Poll.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/Poll.sol)
9
+ Code location: [Poll.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/Poll.sol)
10
10
  :::
11
11
 
12
12
  This contract allows users to submit their votes.
@@ -6,7 +6,7 @@ sidebar_position: 3
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [PollFactory.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/PollFactory.sol)
9
+ Code location: [PollFactory.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/PollFactory.sol)
10
10
  :::
11
11
 
12
12
  `PollFactory` is a smart contract that is used to deploy new Polls. This is used by MACI inside the `deployPoll` function.
@@ -6,7 +6,7 @@ sidebar_position: 5
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [Tally.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/Tally.sol)
9
+ Code location: [Tally.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/Tally.sol)
10
10
  :::
11
11
 
12
12
  The `Tally` contract is used by the coordinator to submit commitments to the tally results via the `tallyVotes` function. This is done in batches and the final commitment can be used by the users to verify the validity of the results.
@@ -34,7 +34,7 @@ This contract should be deployed alongside a `Poll`, with the the constructor ac
34
34
  - `vkRegistry` - The address of the vkRegistry contract
35
35
  - `poll` - The address of the poll contract
36
36
  - `messageProcessor` - The address of the messageProcessor contract
37
- - `mode` - The mode of the tally contract - depending on this, the commitments will be processed differently, and it must equal the Poll mode (quadratic vs non quadratic voting)
37
+ - `mode` - The mode of the tally contract - depending on this, the commitments will be processed differently, and it must equal the Poll mode (quadratic vs non quadratic vs full credits voting)
38
38
 
39
39
  Users can use the verification functions to verify the Tally results. These are as follows:
40
40
 
@@ -6,19 +6,19 @@ sidebar_position: 8
6
6
  ---
7
7
 
8
8
  :::info
9
- Code location: [VerifyingKeysRegistry.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/contracts/contracts/VerifyingKeysRegistry.sol)
9
+ Code location: [VerifyingKeysRegistry.sol](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/contracts/contracts/VerifyingKeysRegistry.sol)
10
10
  :::
11
11
 
12
12
  The VerifyingKeysRegistry is a contract that holds the verifying keys for the zk-SNARK circuits. It holds four different sets of keys:
13
13
 
14
- - `processVks` - The keys for the processMessages circuit
15
- - `tallyVks` - The keys for the tallyVotes circuit
14
+ - `processVks` - The keys for the MessageProcessor circuit
15
+ - `tallyVks` - The keys for the VoteTally circuit
16
16
  - `pollJoiningVk` - The key for the poll joining circuit
17
17
  - `pollJoinedVk` - The key for the poll joined circuit
18
18
 
19
19
  Each circuit will have a signature which is its compile-time constants represented as a uint256.
20
20
 
21
- Please note that each Verifying Key should be set with the corresponding mode. Available modes are quadratic voting and non quadratic voting.
21
+ Please note that each Verifying Key should be set with the corresponding mode. Available modes are quadratic, non quadratic and full credits voting.
22
22
 
23
23
  The contract owner can set them using the `setVerifyingKeysBatch` function:
24
24
 
@@ -5,11 +5,11 @@ sidebar_label: Process Messages Circuit
5
5
  sidebar_position: 3
6
6
  ---
7
7
 
8
- [**Repo link**](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core)
8
+ [**Repo link**](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator)
9
9
 
10
10
  This circuit allows the coordinator to prove that they have correctly processed each message in reverse order, in a consecutive batch of 5 ^ messageBatchDepth messages to the respective state leaf within the state tree. Coordinators would use this circuit to prove correct execution at the end of each Poll.
11
11
 
12
- The [`processMessages`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/qv/processMessages.circom) circuit will try to decrypt the messages, and based on the content of the message, update within itself the trees, to generate a proof that the coordinator's off-chain processing was done correctly. In other words, the circuit takes a final state, an initial state, and the leaves (messages and user signups) - it processes these messages via the different state transitions to finally check that the expected state is correct.
12
+ The [`MessageProcessorQv`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/qv/MessageProcessor.circom) circuit will try to decrypt the messages, and based on the content of the message, update within itself the trees, to generate a proof that the coordinator's off-chain processing was done correctly. In other words, the circuit takes a final state, an initial state, and the leaves (messages and user signups) - it processes these messages via the different state transitions to finally check that the expected state is correct.
13
13
  The pre-requisites for this circuit are:
14
14
 
15
15
  - the related Poll has ended
@@ -21,7 +21,11 @@ This circuit requires the coordinator's private key, hence a proof for this circ
21
21
  ![ProcessMessages](/img/circuits/processMessages_2_0.svg)
22
22
 
23
23
  :::info
24
- A version working with non quadratic voting (non-qv) is also [available](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/non-qv/processMessages.circom). This version is called `processMessagesNonQV` and is to be used when the Poll is not using the quadratic voting feature. Note that by default MACI works with quadratic voting.
24
+ A version working with non quadratic voting (non-qv) is also [available](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/non-qv/MessageProcessor.circom). This version is called `MessageProcessorNonQV` and is to be used when the Poll is not using the quadratic voting feature. Note that by default MACI works with quadratic voting.
25
+ :::
26
+
27
+ :::info
28
+ A version working with full credits voting (full) is also [available](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/full/MessageProcessor.circom). This version is called `MessageProcessorFull` and is to be used when the Poll is not using the quadratic or non quadratic voting features. Note that by default MACI works with quadratic voting.
25
29
  :::
26
30
 
27
31
  #### Parameters
@@ -37,7 +37,7 @@ MACI's circuits are parameterized, and thus can be configured to support differe
37
37
  - **STATE_TREE_DEPTH** = how many users the system supports
38
38
  - **VOTE_OPTIONS_TREE_DEPTH** = how many vote options the system supports
39
39
  - **MESSAGE_BATCH_SIZE** = how many messages in a batch the circuit should process
40
- - **INT_STATE_TREE_DEPTH** = how many ballots can be processed per batch when tallying the results (`5 ** INT_STATE_TREE_DEPTH` ballots)
40
+ - **TALLY_PROCESSING_STATE_TREE_DEPTH** = how many ballots can be processed per batch when tallying the results (`5 ** TALLY_PROCESSING_STATE_TREE_DEPTH` ballots)
41
41
 
42
42
  Please refer to the individual circuit documentation for more details on the inner working of each circuit and where parameters fit.
43
43
 
@@ -90,7 +90,7 @@ To test the circuits package, please use `pnpm run test`. This will run all of t
90
90
 
91
91
  To run individual tests, you can use the following commands (for all other circuits please refer to the `package.json` scripts section):
92
92
 
93
- - `pnpm run test:processMessages` to run the tests for the `processMessages` circuit.
94
- - `pnpm run test:tallyVotes` to run the tests for the `tallyVotes` circuit.
93
+ - `pnpm run test:messageProcessor` to run the tests for the `MessageProcessor` circuit.
94
+ - `pnpm run test:voteTally` to run the tests for the `VoteTally` circuit.
95
95
 
96
96
  More details on testing are provided in the [testing section](/docs/guides/testing/testing-introduction) of the documentation.
@@ -15,10 +15,10 @@ sidebar_position: 4
15
15
  | 1 | State leaf batch depth | Allows $(5^{n})$ users' votes to be processed per batch. |
16
16
  | 2 | Vote option tree depth | Allows $(5^{n})$ vote options. |
17
17
 
18
- ![TallyVotes](/img/circuits/tallyVotes.svg)
18
+ ![VoteTally](/img/circuits/tallyVotes.svg)
19
19
 
20
20
  :::info
21
- A version working with non quadratic voting (non-qv) is also [available](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/non-qv/tallyVotes.circom). This version is called `tallyVotesNonQv` and is to be used when the Poll is not using the quadratic voting feature. Note that by default MACI works with quadratic voting.
21
+ A version working with non quadratic and full credits voting (non-qv, full) is also [available](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/non-qv/VoteTally.circom). This version is called `tallyVotes` and is to be used when the Poll is not using the quadratic voting feature. Note that by default MACI works with quadratic voting.
22
22
  :::
23
23
 
24
24
  #### Input signals
@@ -73,7 +73,7 @@ $poseidon_3([tc_r, tc_t, tc_p])$
73
73
 
74
74
  1. That the coordinator knows the preimage of `sbCommitment`
75
75
  2. That `index` is less than or equal to `totalSignups`
76
- 3. That each ballot in `ballots` is in a member of the ballot tree with the Merkle root `ballotRoot` at indices `batchStartIndex` to `batchStartIndex + (5 ** intStateTreeDepth)`
76
+ 3. That each ballot in `ballots` is in a member of the ballot tree with the Merkle root `ballotRoot` at indices `batchStartIndex` to `batchStartIndex + (5 ** tallyProcessingStateTreeDepth)`
77
77
  4. That each set of votes (`votes[i]`) has the Merkle root $blt_r$ whose value equals `ballots[i][1]`
78
78
  5. That the tally is valid, which is:
79
79
  - That the sum of votes per vote option is correct
@@ -7,7 +7,7 @@ sidebar_position: 5
7
7
 
8
8
  #### Process Messages Input Hasher
9
9
 
10
- A utility circuit used by the main `processMessages` circuit to hash its inputs.
10
+ A utility circuit used by the main `MessageProcessor` circuit to hash its inputs.
11
11
 
12
12
  ![ProcessMessagesInputHasher](/img/circuits/processMessagesInputHasher.svg)
13
13
 
@@ -35,15 +35,15 @@ It outputs one field element, which is the SHA256 hash of the following inputs:
35
35
 
36
36
  #### ResultsCommitmentVerifier
37
37
 
38
- A utility circuit used by the main `tallyVotes` circuit to verify that the results commitment is correct.
38
+ A utility circuit used by the main `VoteTally` circuit to verify that the results commitment is correct.
39
39
 
40
40
  ![ResultsCommitmentVerifier](/img/circuits/resultsCommitmentVerifier.svg)
41
41
 
42
- #### QuinCheckRoot
42
+ #### QuinaryCheckRoot
43
43
 
44
44
  Utility circuit that given a quin Merkle root and a list of leaves, check if the root is the correct result of inserting all the leaves into the tree in the given order.
45
45
 
46
- ![QuinCheckRoot](/img/circuits/quinCheckRoot.svg)
46
+ ![QuinaryCheckRoot](/img/circuits/quinCheckRoot.svg)
47
47
 
48
48
  #### CalculateTotal
49
49
 
@@ -100,11 +100,11 @@ Utility circuit used to unpack an input element.
100
100
 
101
101
  ![UnpackElement](/img/circuits/unpackElement.svg)
102
102
 
103
- #### QuinSelector
103
+ #### QuinarySelector
104
104
 
105
105
  Utility circuit used to select one element from an array of n elements at a given index.
106
106
 
107
- ![QuinSelector](/img/circuits/quinSelector.svg)
107
+ ![QuinarySelector](/img/circuits/quinSelector.svg)
108
108
 
109
109
  #### Splicer
110
110
 
@@ -118,11 +118,11 @@ Utility circuit used to check if a batch of leaves exists in a quinary tree.
118
118
 
119
119
  ![QuinBatchLeavesExists](/img/circuits/quinBatchLeavesExists.svg)
120
120
 
121
- #### QuinGeneratePathIndices
121
+ #### QuinaryGeneratePathIndices
122
122
 
123
123
  Utility circuit used to generate the indices needed to traverse the tree until we find the leaf we are looking for.
124
124
 
125
- ![QuinGeneratePathIndices](/img/circuits/quinGeneratePathIndices.svg)
125
+ ![QuinaryGeneratePathIndices](/img/circuits/quinGeneratePathIndices.svg)
126
126
 
127
127
  #### ProcessOne
128
128
 
@@ -5,10 +5,10 @@ sidebar_label: zk-SNARK Circuits
5
5
  sidebar_position: 1
6
6
  ---
7
7
 
8
- MACI has three main zk-SNARK [circuits](https://github.com/privacy-scaling-explorations/maci/tree/dev/circuits):
8
+ MACI has three main zk-SNARK [circuits](https://github.com/privacy-scaling-explorations/maci/tree/dev/packages/circuits):
9
9
 
10
- 1. ProcessMessages.circom, which takes a batch of encrypted messages, decrypts them, and generates a proof that the coordinator's local processing was performed correctly. [QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/qv/processMessages.circom) and [non-QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/non-qv/processMessages.circom) versions are available.
11
- 2. TallyVotes.circom, which counts votes from users' ballots, batch by batch. [QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/qv/tallyVotes.circom) and [non-QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/core/non-qv/tallyVotes.circom) versions are available.
10
+ 1. ProcessMessages.circom, which takes a batch of encrypted messages, decrypts them, and generates a proof that the coordinator's local processing was performed correctly. [QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/qv/MessageProcessor.circom), [non-QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/non-qv/MessageProcessor.circom), [Full](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/full/MessageProcessor.circom) versions are available.
11
+ 2. TallyVotes.circom, which counts votes from users' ballots, batch by batch. [QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/qv/VoteTally.circom) and [non-QV](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/coordinator/non-qv/VoteTally.circom) versions are available.
12
12
  3. PollJoining.circom, which allows users to prove they know a private key for a public key signed up to the MACI smart contract, and to register to a specific poll.
13
13
 
14
14
  The rest of the circuits are utilities templates that are required for the main circuits to work correctly. These include utilities such as float math, conversion of private keys, and Poseidon hashing/encryption.