@maci-protocol/website 0.0.0-ci.2df0337 → 0.0.0-ci.2ea88a0

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 (101) hide show
  1. package/LICENSE +1 -2
  2. package/blog/2024-02-28-maci-v1.2.0.md +2 -2
  3. package/blog/2024-08-10-maci-v2.md +1 -1
  4. package/blog/2025-03-21-roadmap-2025.md +1 -1
  5. package/blog/2025-08-18-maci-aragon-plugin.md +107 -0
  6. package/blog/2025-09-05-maci-coordinator-service.md +167 -0
  7. package/docusaurus.config.ts +9 -3
  8. package/package.json +17 -16
  9. package/src/pages/roadmap.md +39 -80
  10. package/static/img/circuits/MACI-Circuits.excalidraw +69 -69
  11. package/static/img/circuits/messageValidator.svg +1 -1
  12. package/static/img/circuits/processMessages.svg +1 -1
  13. package/static/img/circuits/processMessagesInputHasher.svg +1 -1
  14. package/static/img/circuits/processMessages_2_0.svg +1 -1
  15. package/static/img/circuits/processOne.svg +1 -1
  16. package/static/img/circuits/processTopup.svg +1 -1
  17. package/static/img/circuits/quinBatchLeavesExists.svg +1 -1
  18. package/static/img/circuits/quinCheckRoot.svg +1 -1
  19. package/static/img/circuits/quinGeneratePathIndices.svg +1 -1
  20. package/static/img/circuits/quinSelector.svg +1 -1
  21. package/static/img/circuits/resultsCommitmentVerifier.svg +1 -1
  22. package/static/img/circuits/splicer.svg +1 -1
  23. package/static/img/circuits/tallyInputHasher.svg +1 -1
  24. package/static/img/circuits/tallyVotes.svg +1 -1
  25. package/versioned_docs/version-v0.x/contract.md +1 -1
  26. package/versioned_docs/version-v0.x/introduction.md +0 -4
  27. package/versioned_docs/version-v0.x/quadratic-vote-tallying-circuit.md +16 -16
  28. package/versioned_docs/version-v1.2/circuits.md +8 -8
  29. package/versioned_docs/version-v1.2/contributing/contributing.md +4 -4
  30. package/versioned_docs/version-v1.2/deployment.md +1 -1
  31. package/versioned_docs/version-v1.2/integrating.md +1 -1
  32. package/versioned_docs/version-v1.2/key-change.md +1 -1
  33. package/versioned_docs/version-v1.2/poll-types.md +1 -1
  34. package/versioned_docs/version-v1.2/testing-in-detail.md +3 -3
  35. package/versioned_docs/version-v1.2/testing.md +1 -1
  36. package/versioned_docs/version-v1.2/topup.md +1 -1
  37. package/versioned_docs/version-v1.2/typedoc/core/index.md +2 -2
  38. package/versioned_docs/version-v1.2/versioning.md +3 -3
  39. package/versioned_docs/version-v1.2/workflow.md +1 -1
  40. package/versioned_docs/version-v2.x/contributing/contributing.md +4 -4
  41. package/versioned_docs/version-v2.x/core-concepts/key-change.md +1 -1
  42. package/versioned_docs/version-v2.x/core-concepts/merkle-trees.md +1 -1
  43. package/versioned_docs/version-v2.x/core-concepts/poll-types.md +1 -1
  44. package/versioned_docs/version-v2.x/core-concepts/workflow.md +1 -1
  45. package/versioned_docs/version-v2.x/guides/integrating.md +1 -1
  46. package/versioned_docs/version-v2.x/guides/testing/testing-in-detail.md +3 -3
  47. package/versioned_docs/version-v2.x/guides/testing/testing.md +1 -1
  48. package/versioned_docs/version-v2.x/processes/versioning.md +3 -3
  49. package/versioned_docs/version-v2.x/supported-networks/deployed-contracts.md +7 -7
  50. package/versioned_docs/version-v2.x/technical-references/smart-contracts/AccQueue.md +1 -1
  51. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MACI.md +1 -1
  52. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  53. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Params.md +1 -1
  54. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Poll.md +1 -1
  55. package/versioned_docs/version-v2.x/technical-references/smart-contracts/PollFactory.md +1 -1
  56. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Tally.md +1 -1
  57. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VkRegistry.md +1 -1
  58. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VoiceCreditProxy.md +1 -1
  59. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/processMessages.md +4 -4
  60. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/tallyVotes.md +2 -2
  61. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +3 -3
  62. package/versioned_docs/version-v3.x/contributing/contributing.md +11 -5
  63. package/versioned_docs/version-v3.x/core-concepts/key-change.md +14 -14
  64. package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +1 -1
  65. package/versioned_docs/version-v3.x/core-concepts/poll-types.md +33 -9
  66. package/versioned_docs/version-v3.x/core-concepts/polls.md +34 -10
  67. package/versioned_docs/version-v3.x/core-concepts/spec.md +39 -105
  68. package/versioned_docs/version-v3.x/core-concepts/workflow.md +2 -2
  69. package/versioned_docs/version-v3.x/guides/compile-circuits.md +36 -20
  70. package/versioned_docs/version-v3.x/guides/integrating.md +10 -10
  71. package/versioned_docs/version-v3.x/guides/sdk.md +121 -0
  72. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +4 -4
  73. package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +38 -6
  74. package/versioned_docs/version-v3.x/guides/troubleshooting.md +64 -19
  75. package/versioned_docs/version-v3.x/processes/versioning.md +3 -3
  76. package/versioned_docs/version-v3.x/quick-start.md +29 -21
  77. package/versioned_docs/version-v3.x/resources.md +1 -0
  78. package/versioned_docs/version-v3.x/security/audit.md +2 -2
  79. package/versioned_docs/version-v3.x/security/trusted-setup.md +36 -36
  80. package/versioned_docs/version-v3.x/supported-networks/costs.md +725 -0
  81. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +9 -9
  82. package/versioned_docs/version-v3.x/supported-networks/supported-networks.md +16 -0
  83. package/versioned_docs/version-v3.x/technical-references/coordinator-service/index.md +15 -1
  84. package/versioned_docs/version-v3.x/technical-references/coordinator-service/installation.md +5 -33
  85. package/versioned_docs/version-v3.x/technical-references/coordinator-service/usage.md +64 -0
  86. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +7 -7
  87. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  88. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +2 -2
  89. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Policies.md +1 -1
  90. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +8 -8
  91. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +1 -1
  92. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +4 -4
  93. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +8 -8
  94. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VoiceCreditProxy.md +1 -1
  95. package/versioned_docs/version-v3.x/technical-references/technical-references.md +8 -8
  96. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +2 -2
  97. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +81 -17
  98. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +3 -3
  99. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +6 -6
  100. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +9 -9
  101. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +3 -3
@@ -73,7 +73,7 @@ Currently, the ceremony artifacts work with MACI version up to 2.x
73
73
  In order to run MACI polls, a coordinator is required to publish their MACI public key. You will need to generate a MACI keypair, and treat the private key just as your ethereum private keys. Please store them in a safe place as you won't be able to finish a round if you lose access, or if compromised a bad actor could decrypt the vote and publish them online. You can generate a new key pair using maci-cli by running the following command in the root of the project:
74
74
 
75
75
  ```bash
76
- pnpm run genMaciKeyPair
76
+ pnpm run generate-maci-keypair
77
77
  ```
78
78
 
79
79
  ### Set the .env
@@ -131,20 +131,20 @@ For testing we suggest using the **FreeForAlPolicy** as it allows anyone to sign
131
131
  | **stateTreeDepth** | Defines how many users the system supports. |
132
132
  | **policy** | Defines which policy to use. |
133
133
 
134
- #### VkRegistry
134
+ #### VerifyingKeysRegistry
135
135
 
136
- The VkRegistry hold the verifying keys used to verify the proofs, on the zkeys field we define the path to the zero knowledge artifacts we downloaded in the previous steps.
136
+ The VerifyingKeysRegistry hold the verifying keys used to verify the proofs, on the zkeys field we define the path to the zero knowledge artifacts we downloaded in the previous steps.
137
137
 
138
- | Property | Description |
139
- | ----------------------- | ------------------------------------------------------------------------------------ |
140
- | **stateTreeDepth** | Defines how many users the system supports. |
141
- | **intStateTreeDepth** | Defines how many ballots can be processed per batch when tallying the results. |
142
- | **messageTreeDepth** | Defines how many messages (votes) the system supports. |
143
- | **voteOptionTreeDepth** | Defines how many vote options the system supports. |
144
- | **messageBatchDepth** | Defines how many messages in a batch can the circuit process. |
145
- | **zkeys** | Defines the path to the zkey files for QV and Non QV keys. |
146
- | **pollJoiningZkey** | Defines the zkey to the poll joining circuit which allows to join polls for voting. |
147
- | **pollJoinedZkey** | Defines the zkey to the poll joined circuit which allows to prove you joined a poll. |
138
+ | Property | Description |
139
+ | --------------------------------- | ------------------------------------------------------------------------------------ |
140
+ | **stateTreeDepth** | Defines how many users the system supports. |
141
+ | **tallyProcessingStateTreeDepth** | Defines how many ballots can be processed per batch when tallying the results. |
142
+ | **messageTreeDepth** | Defines how many messages (votes) the system supports. |
143
+ | **voteOptionTreeDepth** | Defines how many vote options the system supports. |
144
+ | **messageBatchDepth** | Defines how many messages in a batch can the circuit process. |
145
+ | **zkeys** | Defines the path to the zkey files for QV, Non QV and Full Credits keys. |
146
+ | **pollJoiningZkey** | Defines the zkey to the poll joining circuit which allows to join polls for voting. |
147
+ | **pollJoinedZkey** | Defines the zkey to the poll joined circuit which allows to prove you joined a poll. |
148
148
 
149
149
  :::important
150
150
  The recommended values for test keys are: **10-1-2-2-1**. For ceremony keys: **14-5-9-3-2**.
@@ -156,7 +156,7 @@ The recommended values for test keys are: **10-1-2-2-1**. For ceremony keys: **1
156
156
  | --------------------------- | ----------------------------------------------------------------- |
157
157
  | **pollStartDate** | Defines when the poll starts in seconds. |
158
158
  | **pollEndDate** | Defines how long is going to be the poll in seconds. |
159
- | **coordinatorPubkey** | Defines the coordinator public MACI key. |
159
+ | **coordinatorPublicKey** | Defines the coordinator public MACI key. |
160
160
  | **useQuadraticVoting** | Defines if the poll uses quadratic voting or not. |
161
161
  | **policy** | Defines the policy of the poll. |
162
162
  | **relayers** | Defines an array of addresses that are allowed to relay messages. |
@@ -203,6 +203,10 @@ As a coordinator, first you need to merge signups and messages (votes). This opt
203
203
  pnpm merge:[network] --poll [poll-id]
204
204
  ```
205
205
 
206
+ :::info
207
+ `poll-id` starts at 0 and increments for each deployed poll
208
+ :::
209
+
206
210
  Then you need to generate the proofs for the message processing, and tally calculations. This allows to publish the poll results on-chain and then everyone can verify the results:
207
211
 
208
212
  ```bash
@@ -210,12 +214,16 @@ pnpm run prove:[network] --poll [poll-id] \
210
214
  --coordinator-private-key [coordinator-maci-private-key] \
211
215
  --tally-file ../results/tally.json \
212
216
  --output-dir ../results/proofs/ \
213
- --start-block [block-number]
217
+ --start-block [block-number] \
214
218
  --blocks-per-batch [number-of-blocks]
215
219
  ```
216
220
 
217
- :::important
218
- You can reduce the time of the proving by including more blocks per batch, you can try with 500.
221
+ :::info
222
+ The `--coordinator-private-key` is the one you generated earlier with `pnpm run generate-maci-keypair`.
223
+
224
+ `--start-block` is the block number from which to start looking for events from. You can use the block that you deployed the contracts in.
225
+
226
+ You can reduce the time of the proving by including more blocks per batch with `--blocks-per-batch`, you can try with 500.
219
227
  :::
220
228
 
221
229
  #### Submit On-chain
@@ -224,8 +232,8 @@ Now it's time to submit the poll results on-chain so that everyone can verify th
224
232
 
225
233
  ```bash
226
234
  pnpm submitOnChain:[network] --poll [poll-id] \
227
- --output-dir proofs/ \
228
- --tally-file proofs/tally.json
235
+ --output-dir ../results/proofs/ \
236
+ --tally-file ../results/tally.json
229
237
  ```
230
238
 
231
239
  ### Tally
@@ -277,7 +285,7 @@ Once the proofs are generated, and results tallied, the results (Tally) are writ
277
285
  "salt": "0x24f57b75c227987727c13d1e83409d70478b42bdc12a4a4df8129c72fbaf5aaf",
278
286
  "commitment": "0xb4ebe68b0da828c0b978ddee86ba934b8e215499ac766491f236ad85fd606de"
279
287
  },
280
- "perVOSpentVoiceCredits": {
288
+ "perVoteOptionSpentVoiceCredits": {
281
289
  "tally": [
282
290
  "81",
283
291
  "0",
@@ -315,4 +323,4 @@ We observe an array named results, which holds the aggregated votes for each opt
315
323
 
316
324
  The `totalSpentVoiceCredits` object contains the total amount of voice credits spent in the poll. This is the sum of all voice credits spent by all voters, and in quadratic voting, is the sum of the squares of all votes.
317
325
 
318
- The `perVOSpentVoiceCredits` will contain the amount of voice credits spent per vote option. In this case, the first option received 81 voice credits, and every other option received 0 voice credits. This is because there was only one valid vote casted, with a weight of 9. Given the quadratic voting formula, the total amount of voice credits spent is 81.
326
+ The `perVoteOptionSpentVoiceCredits` will contain the amount of voice credits spent per vote option. In this case, the first option received 81 voice credits, and every other option received 0 voice credits. This is because there was only one valid vote casted, with a weight of 9. Given the quadratic voting formula, the total amount of voice credits spent is 81.
@@ -28,6 +28,7 @@ sidebar_position: 13
28
28
  - [MACI - Starting From Scratch](https://www.youtube.com/watch?v=qVuhWlHnQF0) - Doris Chan 03/2024
29
29
  - [MACI Workshop](https://www.youtube.com/watch?v=AimgqnMjG0o) - ctrlc03 04/2024
30
30
  - [MACI Starter Kit Demo](https://www.youtube.com/watch?v=pYoBLLtVEoI&t=1s) - Yash 05/2024
31
+ - [The Promise of Blockchain Voting](https://www.youtube.com/watch?v=TQxR7U52ne0) - Sam Richards 06/2024
31
32
  - [MACI Tutorial Deploying Contracts and Subgraph](https://www.youtube.com/watch?v=-QA0VB9EUMk) - Crisgarner 09/2024
32
33
  - [MACI Tutorial Frontend Deployment 🚀](https://www.youtube.com/watch?v=q0yS8RfwDcw) - Crisgarner 09/2024
33
34
  - [Finalizing a MACI Round](https://www.youtube.com/watch?v=nlS3hOC0ljw) - Crisgarner 09/2024
@@ -38,7 +38,7 @@ We would like to thank the Veridise team for their effort in keeping open source
38
38
 
39
39
  **Description**
40
40
 
41
- In the template `QuinSelector`, if you want to confirm the input signal index is a valid integer less than 2\*\*3, you should add Num2bits(3) to check it.
41
+ In the template `QuinarySelector`, if you want to confirm the input signal index is a valid integer less than 2\*\*3, you should add Num2bits(3) to check it.
42
42
 
43
43
  **Code Location**
44
44
 
@@ -119,7 +119,7 @@ greaterThan[i].in[1] <== index;
119
119
 
120
120
  **Description**
121
121
 
122
- In the template `QuinGeneratePathIndices`, the constraints of the `signal n[levels + 1]` don't perform well for division and modulo counting.
122
+ In the template `QuinaryGeneratePathIndices`, the constraints of the `signal n[levels + 1]` don't perform well for division and modulo counting.
123
123
 
124
124
  **Code Location**
125
125
 
@@ -17,7 +17,7 @@ to manage a large amount of value, and if their users accept that the risk of
17
17
  coordinator misbehaviour is insufficient to justify doing the work of a
18
18
  trusted setup. After all, MACI's security model presumes a trusted coordinator.
19
19
 
20
- The [PSE team](https://pse.dev/) is making available a trusted set of zKeys for MACI's circuits,
20
+ The [PSE team](https://pse.main/) is making available a trusted set of zKeys for MACI's circuits,
21
21
  which are available and accessible on
22
22
  [p0tion's website](https://ceremony.pse.dev/).
23
23
  For more info on trusted setup ceremonies please refer to p0tion's [docs](https://p0tion.super.site/).
@@ -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) |