@maci-protocol/sdk 0.0.0-ci.4c6d4e8 → 0.0.0-ci.4d0e3a3

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 (217) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/LICENSE +1 -2
  3. package/build/package.json +18 -10
  4. package/build/ts/browser/index.d.ts +4 -2
  5. package/build/ts/browser/index.d.ts.map +1 -1
  6. package/build/ts/browser/index.js +7 -1
  7. package/build/ts/browser/index.js.map +1 -1
  8. package/build/ts/browser/joinPoll.d.ts +4 -2
  9. package/build/ts/browser/joinPoll.d.ts.map +1 -1
  10. package/build/ts/browser/joinPoll.js +21 -17
  11. package/build/ts/browser/joinPoll.js.map +1 -1
  12. package/build/ts/browser/utils.d.ts +2 -2
  13. package/build/ts/browser/utils.d.ts.map +1 -1
  14. package/build/ts/browser/utils.js +3 -3
  15. package/build/ts/browser/utils.js.map +1 -1
  16. package/build/ts/deploy/index.d.ts +2 -2
  17. package/build/ts/deploy/index.d.ts.map +1 -1
  18. package/build/ts/deploy/index.js +3 -3
  19. package/build/ts/deploy/index.js.map +1 -1
  20. package/build/ts/deploy/maci.d.ts +1 -1
  21. package/build/ts/deploy/maci.d.ts.map +1 -1
  22. package/build/ts/deploy/maci.js +18 -8
  23. package/build/ts/deploy/maci.js.map +1 -1
  24. package/build/ts/deploy/poll.d.ts +1 -1
  25. package/build/ts/deploy/poll.d.ts.map +1 -1
  26. package/build/ts/deploy/poll.js +9 -11
  27. package/build/ts/deploy/poll.js.map +1 -1
  28. package/build/ts/deploy/types.d.ts +25 -16
  29. package/build/ts/deploy/types.d.ts.map +1 -1
  30. package/build/ts/deploy/utils.js +1 -1
  31. package/build/ts/deploy/utils.js.map +1 -1
  32. package/build/ts/deploy/verifyingKeysRegistry.d.ts +7 -0
  33. package/build/ts/deploy/verifyingKeysRegistry.d.ts.map +1 -0
  34. package/build/ts/deploy/verifyingKeysRegistry.js +14 -0
  35. package/build/ts/deploy/verifyingKeysRegistry.js.map +1 -0
  36. package/build/ts/index.d.ts +3 -2
  37. package/build/ts/index.d.ts.map +1 -1
  38. package/build/ts/index.js +16 -9
  39. package/build/ts/index.js.map +1 -1
  40. package/build/ts/maci/state.d.ts +1 -1
  41. package/build/ts/maci/state.js +8 -8
  42. package/build/ts/maci/state.js.map +1 -1
  43. package/build/ts/maci/types.d.ts +1 -1
  44. package/build/ts/maciKeys/__tests__/keypair.test.js +7 -7
  45. package/build/ts/maciKeys/__tests__/keypair.test.js.map +1 -1
  46. package/build/ts/maciKeys/__tests__/publicKeys.test.js +7 -7
  47. package/build/ts/maciKeys/__tests__/publicKeys.test.js.map +1 -1
  48. package/build/ts/maciKeys/keypair.d.ts.map +1 -1
  49. package/build/ts/maciKeys/keypair.js +4 -3
  50. package/build/ts/maciKeys/keypair.js.map +1 -1
  51. package/build/ts/maciKeys/publicKeys.d.ts +2 -2
  52. package/build/ts/maciKeys/publicKeys.d.ts.map +1 -1
  53. package/build/ts/maciKeys/publicKeys.js +6 -6
  54. package/build/ts/maciKeys/publicKeys.js.map +1 -1
  55. package/build/ts/maciKeys/types.d.ts +5 -0
  56. package/build/ts/maciKeys/types.d.ts.map +1 -1
  57. package/build/ts/poll/poll.d.ts.map +1 -1
  58. package/build/ts/poll/poll.js +16 -10
  59. package/build/ts/poll/poll.js.map +1 -1
  60. package/build/ts/poll/types.d.ts +10 -6
  61. package/build/ts/poll/types.d.ts.map +1 -1
  62. package/build/ts/proof/__tests__/download.test.js +8 -5
  63. package/build/ts/proof/__tests__/download.test.js.map +1 -1
  64. package/build/ts/proof/download.d.ts +3 -3
  65. package/build/ts/proof/download.d.ts.map +1 -1
  66. package/build/ts/proof/download.js +5 -7
  67. package/build/ts/proof/download.js.map +1 -1
  68. package/build/ts/proof/generate.d.ts +2 -2
  69. package/build/ts/proof/generate.d.ts.map +1 -1
  70. package/build/ts/proof/generate.js +29 -23
  71. package/build/ts/proof/generate.js.map +1 -1
  72. package/build/ts/proof/prove.d.ts +1 -1
  73. package/build/ts/proof/prove.d.ts.map +1 -1
  74. package/build/ts/proof/prove.js +26 -16
  75. package/build/ts/proof/prove.js.map +1 -1
  76. package/build/ts/proof/types.d.ts +44 -14
  77. package/build/ts/proof/types.d.ts.map +1 -1
  78. package/build/ts/proof/utils.d.ts +10 -0
  79. package/build/ts/proof/utils.d.ts.map +1 -0
  80. package/build/ts/proof/utils.js +24 -0
  81. package/build/ts/proof/utils.js.map +1 -0
  82. package/build/ts/relayer/__tests__/messages.test.js +1 -1
  83. package/build/ts/relayer/__tests__/messages.test.js.map +1 -1
  84. package/build/ts/relayer/__tests__/utils.test.js +3 -3
  85. package/build/ts/relayer/__tests__/utils.test.js.map +1 -1
  86. package/build/ts/relayer/messages.js +1 -1
  87. package/build/ts/relayer/utils.js +1 -1
  88. package/build/ts/relayer/utils.js.map +1 -1
  89. package/build/ts/subgraph/index.d.ts +3 -0
  90. package/build/ts/subgraph/index.d.ts.map +1 -0
  91. package/build/ts/subgraph/index.js +18 -0
  92. package/build/ts/subgraph/index.js.map +1 -0
  93. package/build/ts/subgraph/maciSubgraph.d.ts +28 -0
  94. package/build/ts/subgraph/maciSubgraph.d.ts.map +1 -0
  95. package/build/ts/subgraph/maciSubgraph.js +64 -0
  96. package/build/ts/subgraph/maciSubgraph.js.map +1 -0
  97. package/build/ts/subgraph/types.d.ts +20 -0
  98. package/build/ts/subgraph/types.d.ts.map +1 -0
  99. package/build/ts/subgraph/types.js +3 -0
  100. package/build/ts/subgraph/types.js.map +1 -0
  101. package/build/ts/tally/commitments.d.ts.map +1 -1
  102. package/build/ts/tally/commitments.js +8 -7
  103. package/build/ts/tally/commitments.js.map +1 -1
  104. package/build/ts/tally/index.d.ts +2 -1
  105. package/build/ts/tally/index.d.ts.map +1 -1
  106. package/build/ts/tally/index.js +5 -1
  107. package/build/ts/tally/index.js.map +1 -1
  108. package/build/ts/tally/results.d.ts +20 -0
  109. package/build/ts/tally/results.d.ts.map +1 -0
  110. package/build/ts/tally/results.js +49 -0
  111. package/build/ts/tally/results.js.map +1 -0
  112. package/build/ts/tally/types.d.ts +55 -15
  113. package/build/ts/tally/types.d.ts.map +1 -1
  114. package/build/ts/tally/utils.d.ts +3 -3
  115. package/build/ts/tally/utils.d.ts.map +1 -1
  116. package/build/ts/tally/utils.js +10 -10
  117. package/build/ts/tally/utils.js.map +1 -1
  118. package/build/ts/tally/verification.d.ts +1 -1
  119. package/build/ts/tally/verification.d.ts.map +1 -1
  120. package/build/ts/tally/verification.js +10 -10
  121. package/build/ts/tally/verification.js.map +1 -1
  122. package/build/ts/trees/index.d.ts +2 -2
  123. package/build/ts/trees/index.d.ts.map +1 -1
  124. package/build/ts/trees/index.js +3 -1
  125. package/build/ts/trees/index.js.map +1 -1
  126. package/build/ts/trees/stateTree.d.ts +23 -1
  127. package/build/ts/trees/stateTree.d.ts.map +1 -1
  128. package/build/ts/trees/stateTree.js +74 -13
  129. package/build/ts/trees/stateTree.js.map +1 -1
  130. package/build/ts/trees/types.d.ts +11 -2
  131. package/build/ts/trees/types.d.ts.map +1 -1
  132. package/build/ts/user/index.d.ts +2 -2
  133. package/build/ts/user/index.d.ts.map +1 -1
  134. package/build/ts/user/index.js +5 -1
  135. package/build/ts/user/index.js.map +1 -1
  136. package/build/ts/user/joinPoll.d.ts +1 -1
  137. package/build/ts/user/joinPoll.d.ts.map +1 -1
  138. package/build/ts/user/joinPoll.js +11 -11
  139. package/build/ts/user/joinPoll.js.map +1 -1
  140. package/build/ts/user/signup.d.ts +3 -3
  141. package/build/ts/user/signup.d.ts.map +1 -1
  142. package/build/ts/user/signup.js +26 -21
  143. package/build/ts/user/signup.js.map +1 -1
  144. package/build/ts/user/types.d.ts +65 -21
  145. package/build/ts/user/types.d.ts.map +1 -1
  146. package/build/ts/user/utils.d.ts +34 -14
  147. package/build/ts/user/utils.d.ts.map +1 -1
  148. package/build/ts/user/utils.js +91 -57
  149. package/build/ts/user/utils.js.map +1 -1
  150. package/build/ts/utils/index.d.ts +1 -1
  151. package/build/ts/utils/index.d.ts.map +1 -1
  152. package/build/ts/utils/index.js +2 -1
  153. package/build/ts/utils/index.js.map +1 -1
  154. package/build/ts/utils/params.d.ts +1 -1
  155. package/build/ts/utils/params.d.ts.map +1 -1
  156. package/build/ts/utils/params.js +3 -3
  157. package/build/ts/utils/params.js.map +1 -1
  158. package/build/ts/utils/proofs.d.ts +2 -2
  159. package/build/ts/utils/proofs.d.ts.map +1 -1
  160. package/build/ts/utils/proofs.js +4 -4
  161. package/build/ts/utils/proofs.js.map +1 -1
  162. package/build/ts/utils/types.d.ts +2 -2
  163. package/build/ts/utils/types.d.ts.map +1 -1
  164. package/build/ts/utils/utils.d.ts +5 -0
  165. package/build/ts/utils/utils.d.ts.map +1 -1
  166. package/build/ts/utils/utils.js +13 -1
  167. package/build/ts/utils/utils.js.map +1 -1
  168. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts +1 -1
  169. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts.map +1 -1
  170. package/build/ts/verifyingKeys/checkVerifyingKeys.js +18 -19
  171. package/build/ts/verifyingKeys/checkVerifyingKeys.js.map +1 -1
  172. package/build/ts/verifyingKeys/index.d.ts +2 -2
  173. package/build/ts/verifyingKeys/index.d.ts.map +1 -1
  174. package/build/ts/verifyingKeys/index.js +5 -5
  175. package/build/ts/verifyingKeys/index.js.map +1 -1
  176. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts +1 -1
  177. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
  178. package/build/ts/verifyingKeys/setVerifyingKeys.js +70 -47
  179. package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
  180. package/build/ts/verifyingKeys/types.d.ts +52 -48
  181. package/build/ts/verifyingKeys/types.d.ts.map +1 -1
  182. package/build/ts/verifyingKeys/utils.d.ts +10 -10
  183. package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
  184. package/build/ts/verifyingKeys/utils.js +75 -60
  185. package/build/ts/verifyingKeys/utils.js.map +1 -1
  186. package/build/ts/vote/generate.d.ts +1 -1
  187. package/build/ts/vote/generate.d.ts.map +1 -1
  188. package/build/ts/vote/generate.js +4 -4
  189. package/build/ts/vote/generate.js.map +1 -1
  190. package/build/ts/vote/index.d.ts +2 -1
  191. package/build/ts/vote/index.d.ts.map +1 -1
  192. package/build/ts/vote/index.js +4 -2
  193. package/build/ts/vote/index.js.map +1 -1
  194. package/build/ts/vote/invalidate.js +4 -4
  195. package/build/ts/vote/invalidate.js.map +1 -1
  196. package/build/ts/vote/publish.d.ts +1 -1
  197. package/build/ts/vote/publish.d.ts.map +1 -1
  198. package/build/ts/vote/publish.js +19 -19
  199. package/build/ts/vote/publish.js.map +1 -1
  200. package/build/ts/vote/submit.js +2 -2
  201. package/build/ts/vote/submit.js.map +1 -1
  202. package/build/ts/vote/types.d.ts +6 -6
  203. package/build/ts/vote/types.d.ts.map +1 -1
  204. package/build/ts/vote/utils.d.ts +2 -2
  205. package/build/ts/vote/utils.d.ts.map +1 -1
  206. package/build/ts/vote/utils.js +5 -5
  207. package/build/ts/vote/utils.js.map +1 -1
  208. package/build/tsconfig.build.tsbuildinfo +1 -1
  209. package/package.json +23 -15
  210. package/build/ts/deploy/vkRegistry.d.ts +0 -7
  211. package/build/ts/deploy/vkRegistry.d.ts.map +0 -1
  212. package/build/ts/deploy/vkRegistry.js +0 -14
  213. package/build/ts/deploy/vkRegistry.js.map +0 -1
  214. package/build/ts/proof/constants.d.ts +0 -17
  215. package/build/ts/proof/constants.d.ts.map +0 -1
  216. package/build/ts/proof/constants.js +0 -20
  217. package/build/ts/proof/constants.js.map +0 -1
@@ -5,19 +5,19 @@ const crypto_1 = require("@maci-protocol/crypto");
5
5
  const domainobjs_1 = require("@maci-protocol/domainobjs");
6
6
  /**
7
7
  * Generate a new Maci Public key from a private key
8
- * @param privKey - the user private key
8
+ * @param privateKey - the user private key
9
9
  * @param quiet - whether to log the output
10
10
  * @return the public key serialized
11
11
  */
12
- const generateMaciPublicKey = (privkey) => {
12
+ const generateMaciPublicKey = (privateKey) => {
13
13
  // we check that the provided private key is valid
14
- if (!domainobjs_1.PrivKey.isValidSerializedPrivKey(privkey)) {
14
+ if (!domainobjs_1.PrivateKey.isValidSerialized(privateKey)) {
15
15
  throw new Error("Invalid private key");
16
16
  }
17
- const unserializedKey = domainobjs_1.PrivKey.deserialize(privkey);
18
- const pubKey = new domainobjs_1.PubKey((0, crypto_1.genPubKey)(unserializedKey.rawPrivKey));
17
+ const unserializedKey = domainobjs_1.PrivateKey.deserialize(privateKey);
18
+ const publicKey = new domainobjs_1.PublicKey((0, crypto_1.generatePublicKey)(unserializedKey.raw));
19
19
  // we give back the serialized public key
20
- return pubKey.serialize();
20
+ return publicKey.serialize();
21
21
  };
22
22
  exports.generateMaciPublicKey = generateMaciPublicKey;
23
23
  //# sourceMappingURL=publicKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publicKeys.js","sourceRoot":"","sources":["../../../ts/maciKeys/publicKeys.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,0DAA4D;AAE5D;;;;;GAKG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC/D,kDAAkD;IAClD,IAAI,CAAC,oBAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,oBAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,mBAAM,CAAC,IAAA,kBAAS,EAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjE,yCAAyC;IACzC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;AAC5B,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC"}
1
+ {"version":3,"file":"publicKeys.js","sourceRoot":"","sources":["../../../ts/maciKeys/publicKeys.ts"],"names":[],"mappings":";;;AAAA,kDAA0D;AAC1D,0DAAkE;AAElE;;;;;GAKG;AACI,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;IAClE,kDAAkD;IAClD,IAAI,CAAC,uBAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,uBAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,IAAA,0BAAiB,EAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAExE,yCAAyC;IACzC,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC;AAC/B,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC"}
@@ -1,3 +1,4 @@
1
+ import { type IG1ContractParams } from "@maci-protocol/domainobjs";
1
2
  /**
2
3
  * Interface for the arguments for generate keypair command
3
4
  */
@@ -11,6 +12,10 @@ export interface IGenerateKeypairArgs {
11
12
  * Interface for the return data type for generate keypair command
12
13
  */
13
14
  export interface IGenerateKeypairData {
15
+ /**
16
+ * Serialized public key as contract parameter
17
+ */
18
+ publicKeyAsContractParam: IG1ContractParams;
14
19
  /**
15
20
  * Serialized public key
16
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/maciKeys/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/maciKeys/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,wBAAwB,EAAE,iBAAiB,CAAC;IAE5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../../ts/poll/poll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3F;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAU,2CAA2C,YAAY,KAAG,OAAO,CAAC,YAAY,CAgC3G,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,0CAIjC,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAwB1C,CAAC"}
1
+ {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../../ts/poll/poll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3F;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAU,2CAA2C,YAAY,KAAG,OAAO,CAAC,YAAY,CAsC3G,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,0CAIjC,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAwB1C,CAAC"}
@@ -11,23 +11,29 @@ const getPoll = async ({ maciAddress, signer, provider, pollId }) => {
11
11
  if (!signer && !provider) {
12
12
  throw new Error("No signer and provider are provided");
13
13
  }
14
- const { id, poll: pollContract, maci: maciContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({ maciAddress, pollId, signer, provider });
15
- const [[startDate, endDate], mergedStateRoot, pollAddress] = await Promise.all([
14
+ const { id, poll: pollContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({ maciAddress, pollId, signer, provider });
15
+ const signerOrProvider = signer ?? provider;
16
+ const [[startDate, endDate], mergedStateRoot, pollAddress, block] = await Promise.all([
16
17
  pollContract.getStartAndEndDate(),
17
18
  pollContract.mergedStateRoot(),
18
19
  pollContract.getAddress(),
20
+ signerOrProvider.provider.getBlock("latest"),
19
21
  ]);
20
- const isMerged = mergedStateRoot !== BigInt(0);
21
- const numSignups = await (isMerged ? pollContract.numSignups() : maciContract.numSignUps());
22
+ const isMerged = mergedStateRoot !== 0n;
23
+ const totalSignups = await pollContract.totalSignups();
22
24
  // get the poll mode
23
25
  const mode = await tallyContract.mode();
26
+ // determine if the poll is currently open for voting
27
+ const currentTime = BigInt(block.timestamp);
28
+ const isOpen = currentTime >= startDate && currentTime <= endDate;
24
29
  return {
25
30
  id,
26
31
  address: pollAddress,
27
32
  startDate,
28
33
  endDate,
29
- numSignups,
34
+ totalSignups,
30
35
  isMerged,
36
+ isOpen,
31
37
  mode,
32
38
  };
33
39
  };
@@ -46,16 +52,16 @@ const getPollParams = async ({ pollId, signer, maciContractAddress, }) => {
46
52
  });
47
53
  const treeDepths = await pollContract.treeDepths();
48
54
  const voteOptionTreeDepth = Number(treeDepths.voteOptionTreeDepth);
49
- const numVoteOptions = 5 ** voteOptionTreeDepth;
55
+ const totalVoteOptions = 5 ** voteOptionTreeDepth;
50
56
  const messageBatchSize = Number.parseInt((await pollContract.messageBatchSize()).toString(), 10);
51
- const intStateTreeDepth = Number(treeDepths.intStateTreeDepth);
52
- const tallyBatchSize = 5 ** intStateTreeDepth;
57
+ const tallyProcessingStateTreeDepth = Number(treeDepths.tallyProcessingStateTreeDepth);
58
+ const tallyBatchSize = 5 ** tallyProcessingStateTreeDepth;
53
59
  return {
54
60
  messageBatchSize,
55
- numVoteOptions,
61
+ totalVoteOptions,
56
62
  tallyBatchSize,
57
63
  voteOptionTreeDepth,
58
- intStateTreeDepth,
64
+ tallyProcessingStateTreeDepth,
59
65
  };
60
66
  };
61
67
  exports.getPollParams = getPollParams;
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../ts/poll/poll.ts"],"names":[],"mappings":";;;AAEA,mCAA2C;AAE3C;;;;GAIG;AACI,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAgB,EAAyB,EAAE;IAC9G,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,EACJ,EAAE,EACF,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,GACrB,GAAG,MAAM,IAAA,wBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtE,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7E,YAAY,CAAC,kBAAkB,EAAE;QACjC,YAAY,CAAC,eAAe,EAAE;QAC9B,YAAY,CAAC,UAAU,EAAE;KAC1B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAE5F,oBAAoB;IACpB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAExC,OAAO;QACL,EAAE;QACF,OAAO,EAAE,WAAW;QACpB,SAAS;QACT,OAAO;QACP,UAAU;QACV,QAAQ;QACR,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,OAAO,WAgClB;AAEF;;;;GAIG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,MAAM,EACN,MAAM,EACN,mBAAmB,GACA,EAAwB,EAAE;IAC7C,2BAA2B;IAC3B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,wBAAgB,EAAC;QACpD,WAAW,EAAE,mBAAmB;QAChC,MAAM;QACN,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,CAAC,IAAI,mBAAmB,CAAC;IAEhD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjG,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,CAAC,IAAI,iBAAiB,CAAC;IAE9C,OAAO;QACL,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,aAAa,iBA4BxB"}
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../ts/poll/poll.ts"],"names":[],"mappings":";;;AAEA,mCAA2C;AAE3C;;;;GAIG;AACI,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAgB,EAAyB,EAAE;IAC9G,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,EACJ,EAAE,EACF,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,GACrB,GAAG,MAAM,IAAA,wBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtE,MAAM,gBAAgB,GAAG,MAAM,IAAI,QAAS,CAAC;IAC7C,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpF,YAAY,CAAC,kBAAkB,EAAE;QACjC,YAAY,CAAC,eAAe,EAAE;QAC9B,YAAY,CAAC,UAAU,EAAE;QACzB,gBAAgB,CAAC,QAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,eAAe,KAAK,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IAEvD,oBAAoB;IACpB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAExC,qDAAqD;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,IAAI,SAAS,IAAI,WAAW,IAAI,OAAO,CAAC;IAElE,OAAO;QACL,EAAE;QACF,OAAO,EAAE,WAAW;QACpB,SAAS;QACT,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,OAAO,WAsClB;AAEF;;;;GAIG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,MAAM,EACN,MAAM,EACN,mBAAmB,GACA,EAAwB,EAAE;IAC7C,2BAA2B;IAC3B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,wBAAgB,EAAC;QACpD,WAAW,EAAE,mBAAmB;QAChC,MAAM;QACN,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,CAAC,IAAI,mBAAmB,CAAC;IAElD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjG,MAAM,6BAA6B,GAAG,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,CAAC,IAAI,6BAA6B,CAAC;IAE1D,OAAO;QACL,gBAAgB;QAChB,gBAAgB;QAChB,cAAc;QACd,mBAAmB;QACnB,6BAA6B;KAC9B,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,aAAa,iBA4BxB"}
@@ -69,11 +69,15 @@ export interface IGetPollData {
69
69
  /**
70
70
  * The poll number of signups
71
71
  */
72
- numSignups: BigNumberish;
72
+ totalSignups: BigNumberish;
73
73
  /**
74
74
  * Whether the MACI contract's state root has been merged
75
75
  */
76
76
  isMerged: boolean;
77
+ /**
78
+ * Whether the poll is currently open for voting
79
+ */
80
+ isOpen: boolean;
77
81
  /**
78
82
  * Mode of the poll
79
83
  */
@@ -107,7 +111,7 @@ export interface IPollParams {
107
111
  /**
108
112
  * The number of vote options
109
113
  */
110
- numVoteOptions: number;
114
+ totalVoteOptions: number;
111
115
  /**
112
116
  * Tally Batch Size
113
117
  */
@@ -119,14 +123,14 @@ export interface IPollParams {
119
123
  /**
120
124
  * The depth of the tree holding the user ballots
121
125
  */
122
- intStateTreeDepth: number;
126
+ tallyProcessingStateTreeDepth: number;
123
127
  }
124
128
  /**
125
129
  * Inputs for circuit PollJoining
126
130
  */
127
131
  export interface IPollJoiningInputs {
128
- privKey: bigint;
129
- pollPubKey: bigint[][];
132
+ privateKey: bigint;
133
+ pollPublicKey: bigint[][];
130
134
  stateLeaf: bigint[];
131
135
  siblings: bigint[][];
132
136
  indices: bigint[];
@@ -140,7 +144,7 @@ export interface IPollJoiningInputs {
140
144
  * Inputs for circuit PollJoined
141
145
  */
142
146
  export interface IPollJoinedInputs {
143
- privKey: bigint;
147
+ privateKey: bigint;
144
148
  voiceCreditsBalance: bigint;
145
149
  stateLeaf: bigint[];
146
150
  pathElements: bigint[][];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/poll/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,YAAY,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,YAAY,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/poll/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,YAAY,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -6,8 +6,8 @@ const download_1 = require("../download");
6
6
  * The inputs for the proof generation
7
7
  */
8
8
  const inputs = {
9
- privKey: "1259082279488355278660453796037744749156697484507442909424227073450806091599",
10
- pollPubKey: [
9
+ privateKey: "1259082279488355278660453796037744749156697484507442909424227073450806091599",
10
+ pollPublicKey: [
11
11
  "4604149953291977424931588219098726306922992659857425248363017596008978179462",
12
12
  "1911350329545195833133079763781611226710101140694516439580176096139978229522",
13
13
  ],
@@ -23,7 +23,7 @@ const inputs = {
23
23
  ["0"],
24
24
  ["0"],
25
25
  ],
26
- indices: ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0"],
26
+ index: 1,
27
27
  nullifier: "5960968591926285526739882209300764345427591192846309606519433839944864771425",
28
28
  stateRoot: "19853258600018552129206808764461795697997153860385513081821578400505176714352",
29
29
  actualStateTreeDepth: "1",
@@ -31,10 +31,13 @@ const inputs = {
31
31
  };
32
32
  describe("downloadPollJoiningArtifactsBrowser", () => {
33
33
  it("should allow to generate a proof using the downloaded artifacts", async () => {
34
- const { zKey, wasm } = await (0, download_1.downloadPollJoiningArtifactsBrowser)(true);
34
+ const { zKey, wasm } = await (0, download_1.downloadPollJoiningArtifactsBrowser)({
35
+ testing: true,
36
+ stateTreeDepth: 10,
37
+ });
35
38
  expect(zKey).toBeDefined();
36
39
  expect(wasm).toBeDefined();
37
- const { proof } = await (0, contracts_1.genProofSnarkjs)({
40
+ const { proof } = await (0, contracts_1.generateProofSnarkjs)({
38
41
  inputs: inputs,
39
42
  zkeyPath: zKey,
40
43
  wasmPath: wasm,
@@ -1 +1 @@
1
- {"version":3,"file":"download.test.js","sourceRoot":"","sources":["../../../../ts/proof/__tests__/download.test.ts"],"names":[],"mappings":";;AAAA,wDAA2D;AAG3D,0CAAkE;AAElE;;GAEG;AACH,MAAM,MAAM,GAAG;IACb,OAAO,EAAE,8EAA8E;IACvF,UAAU,EAAE;QACV,8EAA8E;QAC9E,8EAA8E;KAC/E;IACD,QAAQ,EAAE;QACR,CAAC,8EAA8E,CAAC;QAChF,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;KACN;IACD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC3D,SAAS,EAAE,8EAA8E;IACzF,SAAS,EAAE,+EAA+E;IAC1F,oBAAoB,EAAE,GAAG;IACzB,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,8CAAmC,EAAC,IAAI,CAAC,CAAC;QAEvE,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAE3B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,2BAAe,EAAC;YACtC,MAAM,EAAE,MAAkC;YAC1C,QAAQ,EAAE,IAAyB;YACnC,QAAQ,EAAE,IAAyB;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"download.test.js","sourceRoot":"","sources":["../../../../ts/proof/__tests__/download.test.ts"],"names":[],"mappings":";;AAAA,wDAAgE;AAGhE,0CAAkE;AAElE;;GAEG;AACH,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,8EAA8E;IAC1F,aAAa,EAAE;QACb,8EAA8E;QAC9E,8EAA8E;KAC/E;IACD,QAAQ,EAAE;QACR,CAAC,8EAA8E,CAAC;QAChF,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;KACN;IACD,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,8EAA8E;IACzF,SAAS,EAAE,+EAA+E;IAC1F,oBAAoB,EAAE,GAAG;IACzB,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,8CAAmC,EAAC;YAC/D,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAE3B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,gCAAoB,EAAC;YAC3C,MAAM,EAAE,MAAmC;YAC3C,QAAQ,EAAE,IAAyB;YACnC,QAAQ,EAAE,IAAyB;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
- import type { IPollJoiningArtifacts } from "./types";
1
+ import type { IDownloadPollJoiningArtifactsBrowserArgs, IPollJoiningArtifacts } from "./types";
2
2
  /**
3
3
  * Download the poll joining artifacts for the browser
4
4
  *
5
- * @param testing - Whether to download the testing artifacts
5
+ * @param args - The arguments to download the poll joining artifacts for the browser
6
6
  * @returns The poll joining artifacts
7
7
  */
8
- export declare const downloadPollJoiningArtifactsBrowser: (testing?: boolean) => Promise<IPollJoiningArtifacts>;
8
+ export declare const downloadPollJoiningArtifactsBrowser: ({ testing, stateTreeDepth, }: IDownloadPollJoiningArtifactsBrowserArgs) => Promise<IPollJoiningArtifacts>;
9
9
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../ts/proof/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4CrD;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,GAAU,iBAAe,KAAG,OAAO,CAAC,qBAAqB,CAgBxG,CAAC"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../ts/proof/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAuC/F;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,GAAU,8BAGvD,wCAAwC,KAAG,OAAO,CAAC,qBAAqB,CAe1E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.downloadPollJoiningArtifactsBrowser = void 0;
4
- const constants_1 = require("./constants");
4
+ const utils_1 = require("./utils");
5
5
  /**
6
6
  * Read the chunks of a response
7
7
  *
@@ -29,14 +29,12 @@ const readChunks = async (reader) => {
29
29
  /**
30
30
  * Download the poll joining artifacts for the browser
31
31
  *
32
- * @param testing - Whether to download the testing artifacts
32
+ * @param args - The arguments to download the poll joining artifacts for the browser
33
33
  * @returns The poll joining artifacts
34
34
  */
35
- const downloadPollJoiningArtifactsBrowser = async (testing = false) => {
36
- const [zKeyResponse, wasmResponse] = await Promise.all([
37
- fetch(testing ? constants_1.pollJoiningZkeyTestingUrl : constants_1.pollJoiningZkeyProductionUrl),
38
- fetch(testing ? constants_1.pollJoiningWasmTestingUrl : constants_1.pollJoiningWasmProductionUrl),
39
- ]);
35
+ const downloadPollJoiningArtifactsBrowser = async ({ testing = false, stateTreeDepth, }) => {
36
+ const { zKeyUrl, wasmUrl } = (0, utils_1.getPollJoiningArtifactsUrl)(testing, stateTreeDepth);
37
+ const [zKeyResponse, wasmResponse] = await Promise.all([fetch(zKeyUrl), fetch(wasmUrl)]);
40
38
  const zKeyReader = zKeyResponse.body?.getReader();
41
39
  const wasmReader = wasmResponse.body?.getReader();
42
40
  if (!zKeyReader || !wasmReader) {
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../ts/proof/download.ts"],"names":[],"mappings":";;;AAEA,2CAKqB;AAErB;;;;;GAKG;AACH,MAAM,UAAU,GAAG,KAAK,EAAE,MAA+C,EAAuB,EAAE;IAChG,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,KAA8B,CAAC,CAAC;QAE5C,mBAAmB;QACnB,4CAA4C;QAC5C,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAChC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEzB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC,EACD,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAC7C,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,mCAAmC,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAkC,EAAE;IAC3G,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAyB,CAAC,CAAC,CAAC,wCAA4B,CAAC;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAyB,CAAC,CAAC,CAAC,wCAA4B,CAAC;KAC1E,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAElD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEzF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAhBW,QAAA,mCAAmC,uCAgB9C"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../ts/proof/download.ts"],"names":[],"mappings":";;;AAEA,mCAAqD;AAErD;;;;;GAKG;AACH,MAAM,UAAU,GAAG,KAAK,EAAE,MAA+C,EAAuB,EAAE;IAChG,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,KAA8B,CAAC,CAAC;QAE5C,mBAAmB;QACnB,4CAA4C;QAC5C,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAChC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEzB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC,EACD,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAC7C,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,mCAAmC,GAAG,KAAK,EAAE,EACxD,OAAO,GAAG,KAAK,EACf,cAAc,GAC2B,EAAkC,EAAE;IAC7E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAA,kCAA0B,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAEjF,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEzF,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAElD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEzF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAlBW,QAAA,mCAAmC,uCAkB9C"}
@@ -1,8 +1,8 @@
1
1
  import type { IGenerateProofsArgs, IGenerateProofsData } from "./types";
2
2
  /**
3
3
  * Generate proofs for the message processing and tally calculations
4
- * @param args - The arguments for the genProofs command
4
+ * @param args - The arguments for the generateProofs command
5
5
  * @returns The tally data
6
6
  */
7
- export declare const generateProofs: ({ outputDir, coordinatorPrivateKey, signer, maciAddress, pollId, ipfsMessageBackupFiles, stateFile, transactionHash, startBlock, endBlock, blocksPerBatch, rapidsnark, useQuadraticVoting, tallyZkey, tallyWitgen, tallyWasm, processZkey, processWitgen, processWasm, processDatFile, tallyDatFile, tallyFile, useWasm, }: IGenerateProofsArgs) => Promise<IGenerateProofsData>;
7
+ export declare const generateProofs: ({ outputDir, coordinatorPrivateKey, signer, maciAddress, pollId, ipfsMessageBackupFiles, stateFile, transactionHash, startBlock, endBlock, blocksPerBatch, rapidsnark, mode, voteTallyZkey, voteTallyWitnessGenerator, voteTallyWasm, messageProcessorZkey, messageProcessorWitnessGenerator, messageProcessorWasm, messageProcessorWitnessDatFile, voteTallyWitnessDatFile, tallyFile, useWasm, }: IGenerateProofsArgs) => Promise<IGenerateProofsData>;
8
8
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../ts/proof/generate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKxE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,4TAwBlC,mBAAmB,KAAG,OAAO,CAAC,mBAAmB,CA0InD,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../ts/proof/generate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKxE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,oYAwBlC,mBAAmB,KAAG,OAAO,CAAC,mBAAmB,CAgJnD,CAAC"}
@@ -11,21 +11,21 @@ const utils_1 = require("../poll/utils");
11
11
  const files_1 = require("../utils/files");
12
12
  /**
13
13
  * Generate proofs for the message processing and tally calculations
14
- * @param args - The arguments for the genProofs command
14
+ * @param args - The arguments for the generateProofs command
15
15
  * @returns The tally data
16
16
  */
17
- const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAddress, pollId, ipfsMessageBackupFiles, stateFile, transactionHash, startBlock, endBlock, blocksPerBatch, rapidsnark, useQuadraticVoting, tallyZkey, tallyWitgen, tallyWasm, processZkey, processWitgen, processWasm, processDatFile, tallyDatFile, tallyFile, useWasm, }) => {
17
+ const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAddress, pollId, ipfsMessageBackupFiles, stateFile, transactionHash, startBlock, endBlock, blocksPerBatch, rapidsnark, mode, voteTallyZkey, voteTallyWitnessGenerator, voteTallyWasm, messageProcessorZkey, messageProcessorWitnessGenerator, messageProcessorWasm, messageProcessorWitnessDatFile, voteTallyWitnessDatFile, tallyFile, useWasm, }) => {
18
18
  // differentiate whether we are using wasm or rapidsnark
19
19
  if (useWasm) {
20
20
  // if no rapidsnark then we assume we go with wasm
21
21
  // so we expect those arguments
22
- if (!processWasm) {
22
+ if (!messageProcessorWasm) {
23
23
  throw new Error("Please specify the process wasm file location");
24
24
  }
25
- if (!tallyWasm) {
25
+ if (!voteTallyWasm) {
26
26
  throw new Error("Please specify the tally wasm file location");
27
27
  }
28
- const wasmResult = (0, files_1.doesPathExist)([processWasm, tallyWasm]);
28
+ const wasmResult = (0, files_1.doesPathExist)([messageProcessorWasm, voteTallyWasm]);
29
29
  if (!wasmResult[0]) {
30
30
  throw new Error(`Could not find ${wasmResult[1]}.`);
31
31
  }
@@ -34,19 +34,25 @@ const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAd
34
34
  if (!rapidsnark) {
35
35
  throw new Error("Please specify the rapidsnark file location");
36
36
  }
37
- if (!processWitgen) {
38
- throw new Error("Please specify the process witgen file location");
37
+ if (!messageProcessorWitnessGenerator) {
38
+ throw new Error("Please specify the process witnessGenerator file location");
39
39
  }
40
- if (!tallyWitgen) {
41
- throw new Error("Please specify the tally witgen file location");
40
+ if (!voteTallyWitnessGenerator) {
41
+ throw new Error("Please specify the tally witnessGenerator file location");
42
42
  }
43
- const witgenResult = (0, files_1.doesPathExist)([rapidsnark, processWitgen, tallyWitgen, processDatFile, tallyDatFile]);
44
- if (!witgenResult[0]) {
45
- throw new Error(`Could not find ${witgenResult[1]}.`);
43
+ const witnessGeneratorResult = (0, files_1.doesPathExist)([
44
+ rapidsnark,
45
+ messageProcessorWitnessGenerator,
46
+ voteTallyWitnessGenerator,
47
+ messageProcessorWitnessDatFile,
48
+ voteTallyWitnessDatFile,
49
+ ]);
50
+ if (!witnessGeneratorResult[0]) {
51
+ throw new Error(`Could not find ${witnessGeneratorResult[1]}.`);
46
52
  }
47
53
  }
48
54
  // check if zkeys were provided
49
- const zkResult = (0, files_1.doesPathExist)([processZkey, tallyZkey]);
55
+ const zkResult = (0, files_1.doesPathExist)([messageProcessorZkey, voteTallyZkey]);
50
56
  if (!zkResult[0]) {
51
57
  throw new Error(`Could not find ${zkResult[1]}.`);
52
58
  }
@@ -55,7 +61,7 @@ const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAd
55
61
  throw new Error("Please provide a MACI contract address");
56
62
  }
57
63
  // the coordinator's MACI private key
58
- if (!domainobjs_1.PrivKey.isValidSerializedPrivKey(coordinatorPrivateKey)) {
64
+ if (!domainobjs_1.PrivateKey.isValidSerialized(coordinatorPrivateKey)) {
59
65
  throw new Error("Invalid MACI private key");
60
66
  }
61
67
  // if we do not have the output directory just create it
@@ -64,7 +70,7 @@ const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAd
64
70
  // Create the directory
65
71
  await fs_1.default.promises.mkdir(outputDir);
66
72
  }
67
- const maciPrivateKey = domainobjs_1.PrivKey.deserialize(coordinatorPrivateKey);
73
+ const maciPrivateKey = domainobjs_1.PrivateKey.deserialize(coordinatorPrivateKey);
68
74
  const coordinatorKeypair = new domainobjs_1.Keypair(maciPrivateKey);
69
75
  const { poll: pollContract, maci: maciContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({
70
76
  maciAddress,
@@ -106,18 +112,18 @@ const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAd
106
112
  tallyContractAddress,
107
113
  rapidsnark,
108
114
  tally: {
109
- zkey: tallyZkey,
110
- witgen: tallyWitgen,
111
- wasm: tallyWasm,
115
+ zkey: voteTallyZkey,
116
+ witnessGenerator: voteTallyWitnessGenerator,
117
+ wasm: useWasm ? voteTallyWasm : undefined,
112
118
  },
113
- mp: {
114
- zkey: processZkey,
115
- witgen: processWitgen,
116
- wasm: processWasm,
119
+ messageProcessor: {
120
+ zkey: messageProcessorZkey,
121
+ witnessGenerator: messageProcessorWitnessGenerator,
122
+ wasm: useWasm ? messageProcessorWasm : undefined,
117
123
  },
118
124
  outputDir,
119
125
  tallyOutputFile: tallyFile,
120
- useQuadraticVoting,
126
+ mode,
121
127
  });
122
128
  const processProofs = await proofGenerator.generateMpProofs();
123
129
  const { proofs: tallyProofs, tallyData } = await proofGenerator.generateTallyProofs(network?.name ?? "", network?.chainId.toString() ?? "0");
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../ts/proof/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../ts/proof/generate.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ import type { IProveOnChainArgs } from "./types";
4
4
  * Command to prove the result of a poll on-chain
5
5
  * @param args - The arguments for the proveOnChain command
6
6
  */
7
- export declare const proveOnChain: ({ pollId, proofDir, maciAddress, tallyFile, signer, }: IProveOnChainArgs) => Promise<ITallyData | undefined>;
7
+ export declare const proveOnChain: ({ pollId, proofDir, maciAddress, tallyFile, useBatchSubmission, signer, }: IProveOnChainArgs) => Promise<ITallyData | undefined>;
8
8
  //# sourceMappingURL=prove.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../../ts/proof/prove.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAU,MAAM,SAAS,CAAC;AAKzD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAU,uDAMhC,iBAAiB,KAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAmFpD,CAAC"}
1
+ {"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../../ts/proof/prove.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAU,MAAM,SAAS,CAAC;AAKzD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAU,2EAOhC,iBAAiB,KAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAgGpD,CAAC"}
@@ -14,25 +14,25 @@ const contracts_2 = require("../utils/contracts");
14
14
  * Command to prove the result of a poll on-chain
15
15
  * @param args - The arguments for the proveOnChain command
16
16
  */
17
- const proveOnChain = async ({ pollId, proofDir, maciAddress, tallyFile, signer, }) => {
17
+ const proveOnChain = async ({ pollId, proofDir, maciAddress, tallyFile, useBatchSubmission, signer, }) => {
18
18
  const deployment = contracts_1.Deployment.getInstance();
19
19
  deployment.setContractNames(contracts_1.EContracts);
20
- const { maci: maciContract, poll: pollContract, messageProcessor: mpContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({ maciAddress, pollId, signer });
21
- const vkRegistryContractAddress = await tallyContract.vkRegistry();
22
- const [isStateAqMerged, isVkRegistryExists] = await Promise.all([
20
+ const { maci: maciContract, poll: pollContract, messageProcessor: messageProcessorContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({ maciAddress, pollId, signer });
21
+ const verifyingKeysRegistryContractAddress = await tallyContract.verifyingKeysRegistry();
22
+ const [isStateAqMerged, isVerifyingKeyRegistryExists] = await Promise.all([
23
23
  pollContract.stateMerged(),
24
- (0, contracts_2.contractExists)(signer.provider, vkRegistryContractAddress),
24
+ (0, contracts_2.contractExists)(signer.provider, verifyingKeysRegistryContractAddress),
25
25
  ]);
26
- if (!isVkRegistryExists) {
27
- throw new Error("There is no VkRegistry contract linked to the specified MACI contract.");
26
+ if (!isVerifyingKeyRegistryExists) {
27
+ throw new Error("There is no VerifyingKeysRegistry contract linked to the specified MACI contract.");
28
28
  }
29
- const vkRegistryContract = await deployment.getContract({
30
- name: contracts_1.EContracts.VkRegistry,
31
- address: vkRegistryContractAddress,
32
- abi: typechain_types_1.VkRegistry__factory.abi,
29
+ const verifyingKeysRegistryContract = await deployment.getContract({
30
+ name: contracts_1.EContracts.VerifyingKeysRegistry,
31
+ address: verifyingKeysRegistryContractAddress,
32
+ abi: typechain_types_1.VerifyingKeysRegistry__factory.abi,
33
33
  signer,
34
34
  });
35
- const verifierContractAddress = await mpContract.verifier();
35
+ const verifierContractAddress = await messageProcessorContract.verifier();
36
36
  const isVerifierExists = await (0, contracts_2.contractExists)(signer.provider, verifierContractAddress);
37
37
  if (!isVerifierExists) {
38
38
  throw new Error("There is no Verifier contract linked to the specified MACI contract.");
@@ -59,9 +59,9 @@ const proveOnChain = async ({ pollId, proofDir, maciAddress, tallyFile, signer,
59
59
  data.tallyProofs = await (0, contracts_1.readProofs)({ files, folder: proofDir, type: "tally" });
60
60
  const prover = new contracts_1.Prover({
61
61
  maciContract,
62
- mpContract,
62
+ messageProcessorContract,
63
63
  pollContract,
64
- vkRegistryContract,
64
+ verifyingKeysRegistryContract,
65
65
  verifierContract,
66
66
  tallyContract,
67
67
  });
@@ -71,8 +71,18 @@ const proveOnChain = async ({ pollId, proofDir, maciAddress, tallyFile, signer,
71
71
  const tallyData = await fs_1.default.promises
72
72
  .readFile(tallyFile, "utf8")
73
73
  .then((result) => JSON.parse(result));
74
- const voteOptions = await pollContract.voteOptions();
75
- await prover.submitResults(tallyData, Number.parseInt(voteOptions.toString(), 10));
74
+ const [voteOptions, messageBatchSize] = await Promise.all([
75
+ pollContract.voteOptions().then((number) => Number.parseInt(number.toString(), 10)),
76
+ pollContract.messageBatchSize().then((number) => Number.parseInt(number.toString(), 10)),
77
+ ]);
78
+ const totalTallyBatches = useBatchSubmission ? Math.ceil(voteOptions / messageBatchSize) : 1;
79
+ for (let index = 0; index < totalTallyBatches; index += 1) {
80
+ const start = messageBatchSize * index;
81
+ const end = useBatchSubmission ? Math.min(messageBatchSize * (index + 1), voteOptions) : voteOptions;
82
+ if (start < end) {
83
+ await prover.submitResults(tallyData, { start, end });
84
+ }
85
+ }
76
86
  return tallyData;
77
87
  }
78
88
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../ts/proof/prove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../ts/proof/prove.ts"],"names":[],"mappings":"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"}