@maci-protocol/website 0.0.0-ci.01622be → 0.0.0-ci.01abbc7

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 (75) hide show
  1. package/blog/2024-02-28-maci-v1.2.0.md +1 -1
  2. package/blog/2025-03-21-roadmap-2025.md +1 -1
  3. package/docusaurus.config.ts +7 -1
  4. package/package.json +13 -12
  5. package/versioned_docs/version-v0.x/introduction.md +0 -4
  6. package/versioned_docs/version-v1.2/circuits.md +8 -8
  7. package/versioned_docs/version-v1.2/contributing/contributing.md +4 -4
  8. package/versioned_docs/version-v1.2/deployment.md +1 -1
  9. package/versioned_docs/version-v1.2/integrating.md +1 -1
  10. package/versioned_docs/version-v1.2/key-change.md +1 -1
  11. package/versioned_docs/version-v1.2/poll-types.md +1 -1
  12. package/versioned_docs/version-v1.2/testing-in-detail.md +3 -3
  13. package/versioned_docs/version-v1.2/testing.md +1 -1
  14. package/versioned_docs/version-v1.2/topup.md +1 -1
  15. package/versioned_docs/version-v1.2/typedoc/core/index.md +2 -2
  16. package/versioned_docs/version-v1.2/versioning.md +3 -3
  17. package/versioned_docs/version-v1.2/workflow.md +1 -1
  18. package/versioned_docs/version-v2.x/contributing/contributing.md +4 -4
  19. package/versioned_docs/version-v2.x/core-concepts/key-change.md +1 -1
  20. package/versioned_docs/version-v2.x/core-concepts/merkle-trees.md +1 -1
  21. package/versioned_docs/version-v2.x/core-concepts/poll-types.md +1 -1
  22. package/versioned_docs/version-v2.x/core-concepts/workflow.md +1 -1
  23. package/versioned_docs/version-v2.x/guides/integrating.md +1 -1
  24. package/versioned_docs/version-v2.x/guides/testing/testing-in-detail.md +3 -3
  25. package/versioned_docs/version-v2.x/guides/testing/testing.md +1 -1
  26. package/versioned_docs/version-v2.x/processes/versioning.md +3 -3
  27. package/versioned_docs/version-v2.x/supported-networks/deployed-contracts.md +7 -7
  28. package/versioned_docs/version-v2.x/technical-references/smart-contracts/AccQueue.md +1 -1
  29. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MACI.md +1 -1
  30. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  31. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Params.md +1 -1
  32. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Poll.md +1 -1
  33. package/versioned_docs/version-v2.x/technical-references/smart-contracts/PollFactory.md +1 -1
  34. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Tally.md +1 -1
  35. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VkRegistry.md +1 -1
  36. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VoiceCreditProxy.md +1 -1
  37. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/processMessages.md +4 -4
  38. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/tallyVotes.md +2 -2
  39. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +3 -3
  40. package/versioned_docs/version-v3.x/contributing/contributing.md +4 -4
  41. package/versioned_docs/version-v3.x/core-concepts/key-change.md +1 -1
  42. package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +1 -1
  43. package/versioned_docs/version-v3.x/core-concepts/poll-types.md +31 -7
  44. package/versioned_docs/version-v3.x/core-concepts/polls.md +31 -7
  45. package/versioned_docs/version-v3.x/core-concepts/spec.md +2 -2
  46. package/versioned_docs/version-v3.x/core-concepts/workflow.md +2 -2
  47. package/versioned_docs/version-v3.x/guides/compile-circuits.md +31 -15
  48. package/versioned_docs/version-v3.x/guides/integrating.md +2 -2
  49. package/versioned_docs/version-v3.x/guides/sdk.md +121 -0
  50. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +3 -3
  51. package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +35 -3
  52. package/versioned_docs/version-v3.x/guides/troubleshooting.md +53 -8
  53. package/versioned_docs/version-v3.x/processes/versioning.md +3 -3
  54. package/versioned_docs/version-v3.x/quick-start.md +3 -3
  55. package/versioned_docs/version-v3.x/resources.md +1 -0
  56. package/versioned_docs/version-v3.x/security/trusted-setup.md +36 -36
  57. package/versioned_docs/version-v3.x/supported-networks/costs.md +725 -0
  58. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +8 -8
  59. package/versioned_docs/version-v3.x/supported-networks/supported-networks.md +16 -0
  60. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +2 -2
  61. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  62. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +1 -1
  63. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Policies.md +1 -1
  64. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +1 -1
  65. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +1 -1
  66. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +2 -2
  67. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +4 -4
  68. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VoiceCreditProxy.md +1 -1
  69. package/versioned_docs/version-v3.x/technical-references/technical-references.md +8 -8
  70. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +1 -1
  71. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +69 -5
  72. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +3 -3
  73. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +3 -3
  74. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +2 -2
  75. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +3 -3
@@ -53,6 +53,32 @@ To run Contracts only tests, run:
53
53
  pnpm run test
54
54
  ```
55
55
 
56
+ To run e2e tests for hardhat tasks for `contracts` using the in-memory hardhat network:
57
+
58
+ ```bash
59
+ pnpm run test:hardhat
60
+ ```
61
+
62
+ You can update the `deploy-config.json` file to change policies or other deployment settings used by the test.
63
+
64
+ You can enhance test reporting and gas cost estimation by adding the following variables to your `.env` file:
65
+
66
+ ```bash
67
+ # CoinMarkerCap api key for prices (gas reporter)
68
+ COINMARKETCAP_API_KEY=
69
+ # Gas price for gas reporter
70
+ # Allows you to manually specify the gas price (e.g. 3 gwei)
71
+ GAS_REPORTER_PRICE=
72
+ ```
73
+
74
+ These variables are used by `hardhat-gas-reporter` to show cost estimates for gas usage in the test reports.
75
+
76
+ If you would like to run these E2E tests against a different [supported networks](/docs/supported-networks/), you can override the network like this:
77
+
78
+ ```bash
79
+ pnpm exec hardhat test --network {NETWORK} ./tests/e2e/hardhatTasks.test.ts
80
+ ```
81
+
56
82
  ### Circuits
57
83
 
58
84
  To test the circuits, from the main `maci/` directory, run:
@@ -71,10 +97,10 @@ or download them. Please remember to not use these testing `.zkey` files in prod
71
97
 
72
98
  ### Download `.zkey` files or the witness generation binaries
73
99
 
74
- MACI has two main zk-SNARK circuits, `processMessages` and `tallyVotes`.
100
+ MACI has two main zk-SNARK circuits, `MessageProcessor` and `VoteTally`.
75
101
 
76
102
  :::info
77
- The `processMessages` and `tallyVotes` circuits are also provided in a non-quadratic voting (non-QV) version. Currently these new versions have not undergone a trusted setup ceremony.
103
+ The `MessageProcessor` and `VoteTally` circuits are also provided in a non-quadratic voting (non-QV) and in a full credits voting (full) versions. Currently these new versions have not undergone a trusted setup ceremony.
78
104
  :::
79
105
 
80
106
  Each circuit is parameterised and there should be one
@@ -86,7 +112,7 @@ circuits.
86
112
 
87
113
  Note the locations of the `.zkey` files as the smart contract tasks require them as part of the JSON configuration file.
88
114
 
89
- For testing purposes you can download the required artifacts using the [`download-zkeys:test`](https://github.com/privacy-scaling-explorations/maci/blob/dev/package.json#L15). The script will place all required artifacts inside the `cli/zkeys` folder.
115
+ For testing purposes you can download the required artifacts using the [`download-zkeys:test`](https://github.com/privacy-scaling-explorations/maci/blob/main/package.json#L15). The script will place all required artifacts inside the `cli/zkeys` folder.
90
116
 
91
117
  You can run the script directly with bash or use pnpm: `pnpm run download:test-zkeys` from the monorepo root.
92
118
 
@@ -151,6 +177,12 @@ To run e2e tests with normal voting (not quadratic voting):
151
177
  pnpm run test:e2e-non-qv
152
178
  ```
153
179
 
180
+ To run e2e tests with full credits voting (full):
181
+
182
+ ```bash
183
+ pnpm run test:e2e-full
184
+ ```
185
+
154
186
  To run integration tests:
155
187
 
156
188
  ```bash
@@ -11,17 +11,17 @@ sidebar_position: 5
11
11
 
12
12
  ### Case: missing `.dat` files
13
13
 
14
- If your logs look like the following, then make sure you have `ProcessMessages_10-2-1-2_test.dat` and `TallyVotes_10-1-2_test.dat` files in the same directory as your zkeys:
14
+ If your logs look like the following, then make sure you have `MessageProcessorQv_10-2-1-2_test.dat` and `VoteTallyQv_10-1-2_test.dat` files in the same directory as your zkeys:
15
15
 
16
16
  ```
17
17
  node build/ts/index.js generateProofs -x 0xf204a4Ef082f5c04bB89F7D5E6568B796096735a \
18
18
  > -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \
19
19
  > -o 0 \
20
20
  > -r ~/rapidsnark/build/prover \
21
- > -wp ./zkeys/ProcessMessages_10-2-1-2_test \
22
- > -wt ./zkeys/TallyVotes_10-1-2_test \
23
- > -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \
24
- > -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \
21
+ > -wp ./zkeys/MessageProcessorQv_10-2-1-2_test \
22
+ > -wt ./zkeys/VoteTallyQv_10-1-2_test \
23
+ > -zp ./zkeys/MessageProcessorQv_10-2-1-2_test.0.zkey \
24
+ > -zt ./zkeys/VoteTallyQv_10-1-2_test.0.zkey \
25
25
  > -t tally.json \
26
26
  > -f proofs
27
27
 
@@ -36,7 +36,7 @@ terminate called after throwing an instance of 'std::system_error'
36
36
  Aborted (core dumped)
37
37
 
38
38
  Error: could not generate proof.
39
- Error: Error executing ./zkeys/ProcessMessages_10-2-1-2_test /tmp/tmp-9904-zG0k8YPTATWB/input.json /tmp/tmp-9904-zG0k8YPTATWB/output.wtns
39
+ Error: Error executing ./zkeys/MessageProcessorQv_10-2-1-2_test /tmp/tmp-9904-zG0k8YPTATWB/input.json /tmp/tmp-9904-zG0k8YPTATWB/output.wtns
40
40
  at genProof (/home/ubuntu/maci/circuits/ts/index.ts:44:15)
41
41
  at /home/ubuntu/maci/cli/ts/generateProofs.ts:339:25
42
42
  at step (/home/ubuntu/maci/cli/build/generateProofs.js:33:23)
@@ -71,7 +71,7 @@ Error: commitment mismatch
71
71
 
72
72
  This is because commitments are generated using random salts, thus will differ at each `generateProofs` run.
73
73
 
74
- In [core/Poll.ts](https://github.com/privacy-scaling-explorations/maci/blob/dev/packages/core/ts/Poll.ts):
74
+ In [core/Poll.ts](https://github.com/privacy-scaling-explorations/maci/blob/main/packages/core/ts/Poll.ts):
75
75
 
76
76
  ```
77
77
  let newSbSalt = genRandomSalt();
@@ -140,7 +140,7 @@ event MergeMessageAqSubRoots(uint256 indexed _numSrQueueOps);
140
140
  event MergeMessageAq(uint256 indexed _messageRoot);
141
141
  ```
142
142
 
143
- Please remember to pull the latest MACI repo updates(`git fetch origin && git pull origin dev`) and run `pnpm build` in the root of this monorepo.
143
+ Please remember to pull the latest MACI repo updates(`git fetch origin && git pull origin main`) and run `pnpm build` in the root of this monorepo.
144
144
 
145
145
  ### Verifier contract found the proof invalid
146
146
 
@@ -159,3 +159,48 @@ Error: The verifier contract found the proof invalid.
159
159
  ### The on-chain verification of total spent voice credits failed
160
160
 
161
161
  If you ran the `verify` command and got this error, please ensure consistency in your use of quadratic voting throughout interactions with MACI, including poll deployment, proof generation, and verification.
162
+
163
+ ### Proof generation process is killed
164
+
165
+ If your terminal output ends like this:
166
+
167
+ ```
168
+ [i] Starting to fetch logs from block 8386826
169
+ [i] Generating proofs of message processing...
170
+ [i] Progress: 1 / 1
171
+ [i] Wait until proof generation is finished
172
+ Killed
173
+ ELIFECYCLE  Command failed with exit code 137.
174
+ ```
175
+
176
+ This typically indicates the proof generation process was terminated due to exceeding the system's available memory limit (exit code `137` = SIGKILL by the OS, often due to OOM).
177
+
178
+ Increase Node.js' memory allocation by setting the `NODE_OPTIONS` environment variable before running the command:
179
+
180
+ ```bash
181
+ export NODE_OPTIONS="--max-old-space-size=4096"
182
+ # You can increase the value further (e.g., 8192 for 8GB) if your system has enough RAM:
183
+ export NODE_OPTIONS="--max-old-space-size=8192"
184
+ ```
185
+
186
+ ### Error: Not enough or too many values for input signals
187
+
188
+ If you see errors like:
189
+
190
+ ```
191
+ Error: Not enough values for input signal currentVoteWeightsPathElements
192
+ at /home/maci/node_modules/.pnpm/circom_runtime@0.1.28/node_modules/circom_runtime/build/main.cjs:513:27
193
+ ...
194
+ ```
195
+
196
+ ```
197
+ Error: Too many values for input signal ballots
198
+ at /home/maci/node_modules/.pnpm/circom_runtime@0.1.28/node_modules/circom_runtime/build/main.cjs:513:27
199
+ ...
200
+ ```
201
+
202
+ This usually happens when the Merkle tree depth configured in your MACI deployment does not match the depth expected by the zkey files used during proof generation.
203
+ To solve this:
204
+
205
+ - Download the correct zkey files from a trusted source.
206
+ - Verify that the `stateTreeDepth`, `messageTreeDepth`, and `voteOptionTreeDepth` used in your CLI or config match the values used to generate those zkey files.
@@ -19,7 +19,7 @@ MACI follows the [Semantic Versioning Specification (SemVer)](https://semver.org
19
19
 
20
20
  All MACI packages are organized in our monorepo and follow a global release approach, meaning that all packages have the same version.
21
21
 
22
- Currently, MACI core team manually decides when to release and what the version should be. Packages are released [automatically via CI](https://github.com/privacy-scaling-explorations/maci/blob/dev/.github/workflows/release.yml) when a new tag is created in GitHub. [You can view our releases and tags in GitHub](https://github.com/privacy-scaling-explorations/maci/releases).
22
+ Currently, MACI core team manually decides when to release and what the version should be. Packages are released [automatically via CI](https://github.com/privacy-scaling-explorations/maci/blob/main/.github/workflows/release.yml) when a new tag is created in GitHub. [You can view our releases and tags in GitHub](https://github.com/privacy-scaling-explorations/maci/releases).
23
23
 
24
24
  ## MACI Release Process
25
25
 
@@ -37,10 +37,10 @@ Version number '1.2.3' is used here as an example. You should replace the versio
37
37
  git clone https://github.com/privacy-scaling-explorations/maci
38
38
  ```
39
39
 
40
- 3. Switch to the `dev` branch:
40
+ 3. Switch to the `main` branch:
41
41
 
42
42
  ```
43
- git checkout dev
43
+ git checkout main
44
44
  ```
45
45
 
46
46
  4. Install required dependencies:
@@ -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 generateMaciKeyPair
76
+ pnpm run generate-maci-keypair
77
77
  ```
78
78
 
79
79
  ### Set the .env
@@ -142,7 +142,7 @@ The VerifyingKeysRegistry hold the verifying keys used to verify the proofs, on
142
142
  | **messageTreeDepth** | Defines how many messages (votes) the system supports. |
143
143
  | **voteOptionTreeDepth** | Defines how many vote options the system supports. |
144
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. |
145
+ | **zkeys** | Defines the path to the zkey files for QV, Non QV and Full Credits keys. |
146
146
  | **pollJoiningZkey** | Defines the zkey to the poll joining circuit which allows to join polls for voting. |
147
147
  | **pollJoinedZkey** | Defines the zkey to the poll joined circuit which allows to prove you joined a poll. |
148
148
 
@@ -219,7 +219,7 @@ pnpm run prove:[network] --poll [poll-id] \
219
219
  ```
220
220
 
221
221
  :::info
222
- The `--coordinator-private-key` is the one you generated earlier with `pnpm run generateMaciKeyPair`.
222
+ The `--coordinator-private-key` is the one you generated earlier with `pnpm run generate-maci-keypair`.
223
223
 
224
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
225
 
@@ -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
@@ -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) |