@maci-protocol/sdk 0.0.0-ci.0bef05d → 0.0.0-ci.0c8f2ee

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 (146) hide show
  1. package/LICENSE +1 -2
  2. package/build/package.json +13 -5
  3. package/build/ts/browser/index.d.ts +2 -1
  4. package/build/ts/browser/index.d.ts.map +1 -1
  5. package/build/ts/browser/index.js +6 -1
  6. package/build/ts/browser/index.js.map +1 -1
  7. package/build/ts/browser/joinPoll.d.ts +4 -2
  8. package/build/ts/browser/joinPoll.d.ts.map +1 -1
  9. package/build/ts/browser/joinPoll.js +10 -10
  10. package/build/ts/browser/joinPoll.js.map +1 -1
  11. package/build/ts/browser/utils.d.ts +2 -2
  12. package/build/ts/browser/utils.d.ts.map +1 -1
  13. package/build/ts/browser/utils.js.map +1 -1
  14. package/build/ts/deploy/poll.d.ts +1 -1
  15. package/build/ts/deploy/poll.d.ts.map +1 -1
  16. package/build/ts/deploy/poll.js +3 -3
  17. package/build/ts/deploy/poll.js.map +1 -1
  18. package/build/ts/deploy/types.d.ts +3 -2
  19. package/build/ts/deploy/types.d.ts.map +1 -1
  20. package/build/ts/deploy/utils.js +1 -1
  21. package/build/ts/deploy/utils.js.map +1 -1
  22. package/build/ts/index.d.ts +2 -1
  23. package/build/ts/index.d.ts.map +1 -1
  24. package/build/ts/index.js +6 -1
  25. package/build/ts/index.js.map +1 -1
  26. package/build/ts/maciKeys/keypair.d.ts.map +1 -1
  27. package/build/ts/maciKeys/keypair.js +1 -0
  28. package/build/ts/maciKeys/keypair.js.map +1 -1
  29. package/build/ts/maciKeys/types.d.ts +5 -0
  30. package/build/ts/maciKeys/types.d.ts.map +1 -1
  31. package/build/ts/poll/poll.d.ts.map +1 -1
  32. package/build/ts/poll/poll.js +5 -5
  33. package/build/ts/poll/poll.js.map +1 -1
  34. package/build/ts/poll/types.d.ts +1 -1
  35. package/build/ts/poll/types.d.ts.map +1 -1
  36. package/build/ts/proof/__tests__/download.test.js +4 -1
  37. package/build/ts/proof/__tests__/download.test.js.map +1 -1
  38. package/build/ts/proof/download.d.ts +3 -3
  39. package/build/ts/proof/download.d.ts.map +1 -1
  40. package/build/ts/proof/download.js +5 -7
  41. package/build/ts/proof/download.js.map +1 -1
  42. package/build/ts/proof/generate.d.ts +1 -1
  43. package/build/ts/proof/generate.d.ts.map +1 -1
  44. package/build/ts/proof/generate.js +25 -19
  45. package/build/ts/proof/generate.js.map +1 -1
  46. package/build/ts/proof/prove.js +3 -3
  47. package/build/ts/proof/prove.js.map +1 -1
  48. package/build/ts/proof/types.d.ts +38 -12
  49. package/build/ts/proof/types.d.ts.map +1 -1
  50. package/build/ts/proof/utils.d.ts +10 -0
  51. package/build/ts/proof/utils.d.ts.map +1 -0
  52. package/build/ts/proof/utils.js +24 -0
  53. package/build/ts/proof/utils.js.map +1 -0
  54. package/build/ts/subgraph/index.d.ts +3 -0
  55. package/build/ts/subgraph/index.d.ts.map +1 -0
  56. package/build/ts/subgraph/index.js +18 -0
  57. package/build/ts/subgraph/index.js.map +1 -0
  58. package/build/ts/subgraph/maciSubgraph.d.ts +28 -0
  59. package/build/ts/subgraph/maciSubgraph.d.ts.map +1 -0
  60. package/build/ts/subgraph/maciSubgraph.js +62 -0
  61. package/build/ts/subgraph/maciSubgraph.js.map +1 -0
  62. package/build/ts/subgraph/types.d.ts +20 -0
  63. package/build/ts/subgraph/types.d.ts.map +1 -0
  64. package/build/ts/subgraph/types.js +3 -0
  65. package/build/ts/subgraph/types.js.map +1 -0
  66. package/build/ts/tally/commitments.d.ts.map +1 -1
  67. package/build/ts/tally/commitments.js +7 -6
  68. package/build/ts/tally/commitments.js.map +1 -1
  69. package/build/ts/tally/index.d.ts +2 -1
  70. package/build/ts/tally/index.d.ts.map +1 -1
  71. package/build/ts/tally/index.js +5 -1
  72. package/build/ts/tally/index.js.map +1 -1
  73. package/build/ts/tally/results.d.ts +20 -0
  74. package/build/ts/tally/results.d.ts.map +1 -0
  75. package/build/ts/tally/results.js +49 -0
  76. package/build/ts/tally/results.js.map +1 -0
  77. package/build/ts/tally/types.d.ts +48 -8
  78. package/build/ts/tally/types.d.ts.map +1 -1
  79. package/build/ts/tally/utils.d.ts +3 -3
  80. package/build/ts/tally/utils.d.ts.map +1 -1
  81. package/build/ts/tally/utils.js +9 -9
  82. package/build/ts/tally/utils.js.map +1 -1
  83. package/build/ts/tally/verification.d.ts.map +1 -1
  84. package/build/ts/tally/verification.js +6 -6
  85. package/build/ts/tally/verification.js.map +1 -1
  86. package/build/ts/trees/index.d.ts +2 -2
  87. package/build/ts/trees/index.d.ts.map +1 -1
  88. package/build/ts/trees/index.js +3 -1
  89. package/build/ts/trees/index.js.map +1 -1
  90. package/build/ts/trees/stateTree.d.ts +23 -1
  91. package/build/ts/trees/stateTree.d.ts.map +1 -1
  92. package/build/ts/trees/stateTree.js +67 -6
  93. package/build/ts/trees/stateTree.js.map +1 -1
  94. package/build/ts/trees/types.d.ts +9 -0
  95. package/build/ts/trees/types.d.ts.map +1 -1
  96. package/build/ts/user/index.d.ts +2 -2
  97. package/build/ts/user/index.d.ts.map +1 -1
  98. package/build/ts/user/index.js +5 -1
  99. package/build/ts/user/index.js.map +1 -1
  100. package/build/ts/user/joinPoll.d.ts +1 -1
  101. package/build/ts/user/joinPoll.d.ts.map +1 -1
  102. package/build/ts/user/joinPoll.js +2 -2
  103. package/build/ts/user/joinPoll.js.map +1 -1
  104. package/build/ts/user/signup.d.ts +1 -1
  105. package/build/ts/user/signup.d.ts.map +1 -1
  106. package/build/ts/user/signup.js +19 -14
  107. package/build/ts/user/signup.js.map +1 -1
  108. package/build/ts/user/types.d.ts +51 -7
  109. package/build/ts/user/types.d.ts.map +1 -1
  110. package/build/ts/user/utils.d.ts +15 -3
  111. package/build/ts/user/utils.d.ts.map +1 -1
  112. package/build/ts/user/utils.js +59 -25
  113. package/build/ts/user/utils.js.map +1 -1
  114. package/build/ts/utils/params.d.ts +1 -1
  115. package/build/ts/utils/params.d.ts.map +1 -1
  116. package/build/ts/utils/params.js +3 -3
  117. package/build/ts/utils/params.js.map +1 -1
  118. package/build/ts/utils/types.d.ts +1 -1
  119. package/build/ts/utils/types.d.ts.map +1 -1
  120. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts +1 -1
  121. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts.map +1 -1
  122. package/build/ts/verifyingKeys/checkVerifyingKeys.js +6 -7
  123. package/build/ts/verifyingKeys/checkVerifyingKeys.js.map +1 -1
  124. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts +1 -1
  125. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
  126. package/build/ts/verifyingKeys/setVerifyingKeys.js +7 -8
  127. package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
  128. package/build/ts/verifyingKeys/types.d.ts +18 -14
  129. package/build/ts/verifyingKeys/types.d.ts.map +1 -1
  130. package/build/ts/verifyingKeys/utils.d.ts +3 -3
  131. package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
  132. package/build/ts/verifyingKeys/utils.js +15 -13
  133. package/build/ts/verifyingKeys/utils.js.map +1 -1
  134. package/build/ts/vote/generate.js +1 -1
  135. package/build/ts/vote/generate.js.map +1 -1
  136. package/build/ts/vote/index.d.ts +1 -0
  137. package/build/ts/vote/index.d.ts.map +1 -1
  138. package/build/ts/vote/index.js +3 -1
  139. package/build/ts/vote/index.js.map +1 -1
  140. package/build/ts/vote/invalidate.js +1 -1
  141. package/build/tsconfig.build.tsbuildinfo +1 -1
  142. package/package.json +19 -11
  143. package/build/ts/proof/constants.d.ts +0 -17
  144. package/build/ts/proof/constants.d.ts.map +0 -1
  145. package/build/ts/proof/constants.js +0 -20
  146. package/build/ts/proof/constants.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import type { IGetResultPerOptionArgs, IGetResultsArgs, IResult } from "./types";
2
+ /**
3
+ * Get result per option
4
+ * @param {IGetResultPerOptionsArgs} - The arguments to get result per option
5
+ * @returns The result per option
6
+ */
7
+ export declare const getResultPerOption: ({ maciAddress, pollId, index, signer, }: IGetResultPerOptionArgs) => Promise<IResult>;
8
+ /**
9
+ * Get all results from the Tally contract
10
+ * @param {IGetResultsArgs} - The arguments to get all the results
11
+ * @returns The results array (The final result of vote option n is in index n-1)
12
+ */
13
+ export declare const getResults: ({ maciAddress, pollId, signer }: IGetResultsArgs) => Promise<IResult[]>;
14
+ /**
15
+ * Check if the poll is tallied
16
+ * @param {IGetResultsArgs} - The arguments to check if the poll is tallied
17
+ * @returns {boolean} - True if the poll is tallied, false otherwise
18
+ */
19
+ export declare const isTallied: ({ maciAddress, pollId, signer }: IGetResultsArgs) => Promise<boolean>;
20
+ //# sourceMappingURL=results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../ts/tally/results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIjF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAU,yCAKtC,uBAAuB,KAAG,OAAO,CAAC,OAAO,CAS3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAU,iCAAiC,eAAe,KAAG,OAAO,CAAC,OAAO,EAAE,CAkBpG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAU,iCAAiC,eAAe,KAAG,OAAO,CAAC,OAAO,CAIjG,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTallied = exports.getResults = exports.getResultPerOption = void 0;
4
+ const poll_1 = require("../poll");
5
+ /**
6
+ * Get result per option
7
+ * @param {IGetResultPerOptionsArgs} - The arguments to get result per option
8
+ * @returns The result per option
9
+ */
10
+ const getResultPerOption = async ({ maciAddress, pollId, index, signer, }) => {
11
+ const { tally } = await (0, poll_1.getPollContracts)({ maciAddress, pollId, signer });
12
+ const { value, isSet } = await tally.tallyResults(index);
13
+ return {
14
+ value,
15
+ isSet,
16
+ };
17
+ };
18
+ exports.getResultPerOption = getResultPerOption;
19
+ /**
20
+ * Get all results from the Tally contract
21
+ * @param {IGetResultsArgs} - The arguments to get all the results
22
+ * @returns The results array (The final result of vote option n is in index n-1)
23
+ */
24
+ const getResults = async ({ maciAddress, pollId, signer }) => {
25
+ const { poll, tally } = await (0, poll_1.getPollContracts)({ maciAddress, pollId, signer });
26
+ const numberOfVoteOptions = await poll.voteOptions();
27
+ const results = [];
28
+ for (let i = 0; i < numberOfVoteOptions; i += 1) {
29
+ // eslint-disable-next-line no-await-in-loop
30
+ const { value, isSet } = await tally.tallyResults(i);
31
+ results.push({
32
+ value,
33
+ isSet,
34
+ });
35
+ }
36
+ return results;
37
+ };
38
+ exports.getResults = getResults;
39
+ /**
40
+ * Check if the poll is tallied
41
+ * @param {IGetResultsArgs} - The arguments to check if the poll is tallied
42
+ * @returns {boolean} - True if the poll is tallied, false otherwise
43
+ */
44
+ const isTallied = async ({ maciAddress, pollId, signer }) => {
45
+ const { tally } = await (0, poll_1.getPollContracts)({ maciAddress, pollId, signer });
46
+ return tally.isTallied();
47
+ };
48
+ exports.isTallied = isTallied;
49
+ //# sourceMappingURL=results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../../../ts/tally/results.ts"],"names":[],"mappings":";;;AAEA,kCAA2C;AAE3C;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,WAAW,EACX,MAAM,EACN,KAAK,EACL,MAAM,GACkB,EAAoB,EAAE;IAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO;QACL,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAmB,EAAsB,EAAE;IACvG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAErD,MAAM,OAAO,GAAc,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,4CAA4C;QAC5C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAErD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB;AAEF;;;;GAIG;AACI,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAmB,EAAoB,EAAE;IACpG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1E,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;AAC3B,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
@@ -1,3 +1,4 @@
1
+ import type { EMode } from "@maci-protocol/core";
1
2
  import type { Signer } from "ethers";
2
3
  /**
3
4
  * Interface for the tally file data.
@@ -21,9 +22,9 @@ export interface ITallyData {
21
22
  */
22
23
  chainId?: string;
23
24
  /**
24
- * Whether the poll is using quadratic voting or not.
25
+ * Voting mode
25
26
  */
26
- isQuadratic: boolean;
27
+ mode: EMode;
27
28
  /**
28
29
  * The address of the Tally contract.
29
30
  */
@@ -145,16 +146,16 @@ export interface ITallyCommitments {
145
146
  /**
146
147
  * The new per vote option spent voice credits commitment
147
148
  */
148
- newPerVOSpentVoiceCreditsCommitment?: bigint;
149
+ newPerVoteOptionSpentVoiceCreditsCommitment?: bigint;
149
150
  /**
150
151
  * The commitment to the results tree root
151
152
  */
152
153
  newResultsCommitment: bigint;
153
154
  }
154
155
  /**
155
- * Inputs for circuit TallyVotes
156
+ * Inputs for circuit VoteTally
156
157
  */
157
- export interface ITallyVotesInputs {
158
+ export interface IVoteTallyInputs {
158
159
  stateRoot: bigint;
159
160
  ballotRoot: bigint;
160
161
  sbSalt: bigint;
@@ -170,10 +171,49 @@ export interface ITallyVotesInputs {
170
171
  currentResultsRootSalt: bigint;
171
172
  currentSpentVoiceCreditSubtotal: bigint;
172
173
  currentSpentVoiceCreditSubtotalSalt: bigint;
173
- currentPerVOSpentVoiceCredits: bigint[];
174
- currentPerVOSpentVoiceCreditsRootSalt: bigint;
174
+ currentPerVoteOptionSpentVoiceCredits: bigint[];
175
+ currentPerVoteOptionSpentVoiceCreditsRootSalt: bigint;
175
176
  newResultsRootSalt: bigint;
176
- newPerVOSpentVoiceCreditsRootSalt: bigint;
177
+ newPerVoteOptionSpentVoiceCreditsRootSalt: bigint;
177
178
  newSpentVoiceCreditSubtotalSalt: bigint;
178
179
  }
180
+ /**
181
+ * Get results args
182
+ */
183
+ export interface IGetResultsArgs {
184
+ /**
185
+ * The address of the MACI contract
186
+ */
187
+ maciAddress: string;
188
+ /**
189
+ * The ID of the poll
190
+ */
191
+ pollId: string;
192
+ /**
193
+ * The signer
194
+ */
195
+ signer: Signer;
196
+ }
197
+ /**
198
+ * Get result per option args
199
+ */
200
+ export interface IGetResultPerOptionArgs extends IGetResultsArgs {
201
+ /**
202
+ * The index of the vote option
203
+ */
204
+ index: number;
205
+ }
206
+ /**
207
+ * Interface for the result of a voting option
208
+ */
209
+ export interface IResult {
210
+ /**
211
+ * The result
212
+ */
213
+ value: bigint;
214
+ /**
215
+ * Whether the result is set or not
216
+ */
217
+ isSet: boolean;
218
+ }
179
219
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/tally/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/tally/types.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,15 @@ import type { Tally } from "@maci-protocol/contracts";
10
10
  * @param newResultsCommitment The tally result commitment
11
11
  * @returns list of the indexes of the tally result that failed on-chain verification
12
12
  */
13
- export declare const verifyPerVOSpentVoiceCredits: (tallyContract: Tally, tallyData: ITallyData, voteOptionTreeDepth: number, newSpentVoiceCreditsCommitment: bigint, newResultsCommitment: bigint) => Promise<number[]>;
13
+ export declare const verifyPerVoteOptionSpentVoiceCredits: (tallyContract: Tally, tallyData: ITallyData, voteOptionTreeDepth: number, newSpentVoiceCreditsCommitment: bigint, newResultsCommitment: bigint) => Promise<number[]>;
14
14
  /**
15
15
  * Loop through each tally result and verify it on-chain
16
16
  * @param tallyContract The tally contract
17
17
  * @param tallyData The tally.json file data
18
18
  * @param voteOptionTreeDepth The vote option tree depth
19
19
  * @param newSpentVoiceCreditsCommitment The total spent voice credits commitment
20
- * @param newPerVOSpentVoiceCreditsCommitment The per vote option voice credits commitment
20
+ * @param newPerVoteOptionSpentVoiceCreditsCommitment The per vote option voice credits commitment
21
21
  * @returns list of the indexes of the tally result that failed on-chain verification
22
22
  */
23
- export declare const verifyTallyResults: (tallyContract: Tally, tallyData: ITallyData, voteOptionTreeDepth: number, newSpentVoiceCreditsCommitment: bigint, newPerVOSpentVoiceCreditsCommitment?: bigint) => Promise<number[]>;
23
+ export declare const verifyTallyResults: (tallyContract: Tally, tallyData: ITallyData, voteOptionTreeDepth: number, newSpentVoiceCreditsCommitment: bigint, newPerVoteOptionSpentVoiceCreditsCommitment?: bigint) => Promise<number[]>;
24
24
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/tally/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,GACvC,eAAe,KAAK,EACpB,WAAW,UAAU,EACrB,qBAAqB,MAAM,EAC3B,gCAAgC,MAAM,EACtC,sBAAsB,MAAM,KAC3B,OAAO,CAAC,MAAM,EAAE,CA2BlB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,KAAK,EACpB,WAAW,UAAU,EACrB,qBAAqB,MAAM,EAC3B,gCAAgC,MAAM,EACtC,sCAAsC,MAAM,KAC3C,OAAO,CAAC,MAAM,EAAE,CA2BlB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/tally/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,oCAAoC,GAC/C,eAAe,KAAK,EACpB,WAAW,UAAU,EACrB,qBAAqB,MAAM,EAC3B,gCAAgC,MAAM,EACtC,sBAAsB,MAAM,KAC3B,OAAO,CAAC,MAAM,EAAE,CA2BlB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,KAAK,EACpB,WAAW,UAAU,EACrB,qBAAqB,MAAM,EAC3B,gCAAgC,MAAM,EACtC,8CAA8C,MAAM,KACnD,OAAO,CAAC,MAAM,EAAE,CA2BlB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyTallyResults = exports.verifyPerVOSpentVoiceCredits = void 0;
3
+ exports.verifyTallyResults = exports.verifyPerVoteOptionSpentVoiceCredits = void 0;
4
4
  const crypto_1 = require("@maci-protocol/crypto");
5
5
  /**
6
6
  * Loop through each per vote option spent voice credits and verify it on-chain
@@ -12,34 +12,34 @@ const crypto_1 = require("@maci-protocol/crypto");
12
12
  * @param newResultsCommitment The tally result commitment
13
13
  * @returns list of the indexes of the tally result that failed on-chain verification
14
14
  */
15
- const verifyPerVOSpentVoiceCredits = async (tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment) => {
15
+ const verifyPerVoteOptionSpentVoiceCredits = async (tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment) => {
16
16
  const failedIndices = [];
17
17
  for (let i = 0; i < tallyData.perVoteOptionSpentVoiceCredits.tally.length; i += 1) {
18
- const proof = (0, crypto_1.genTreeProof)(i, tallyData.perVoteOptionSpentVoiceCredits.tally.map((x) => BigInt(x)), voteOptionTreeDepth);
18
+ const proof = (0, crypto_1.generateTreeProof)(i, tallyData.perVoteOptionSpentVoiceCredits.tally.map((x) => BigInt(x)), voteOptionTreeDepth);
19
19
  // eslint-disable-next-line no-await-in-loop
20
- const isValid = await tallyContract.verifyPerVOSpentVoiceCredits(i, tallyData.perVoteOptionSpentVoiceCredits.tally[i], proof, tallyData.perVoteOptionSpentVoiceCredits.salt, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment);
20
+ const isValid = await tallyContract.verifyPerVoteOptionSpentVoiceCredits(i, tallyData.perVoteOptionSpentVoiceCredits.tally[i], proof, tallyData.perVoteOptionSpentVoiceCredits.salt, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment);
21
21
  if (!isValid) {
22
22
  failedIndices.push(i);
23
23
  }
24
24
  }
25
25
  return failedIndices;
26
26
  };
27
- exports.verifyPerVOSpentVoiceCredits = verifyPerVOSpentVoiceCredits;
27
+ exports.verifyPerVoteOptionSpentVoiceCredits = verifyPerVoteOptionSpentVoiceCredits;
28
28
  /**
29
29
  * Loop through each tally result and verify it on-chain
30
30
  * @param tallyContract The tally contract
31
31
  * @param tallyData The tally.json file data
32
32
  * @param voteOptionTreeDepth The vote option tree depth
33
33
  * @param newSpentVoiceCreditsCommitment The total spent voice credits commitment
34
- * @param newPerVOSpentVoiceCreditsCommitment The per vote option voice credits commitment
34
+ * @param newPerVoteOptionSpentVoiceCreditsCommitment The per vote option voice credits commitment
35
35
  * @returns list of the indexes of the tally result that failed on-chain verification
36
36
  */
37
- const verifyTallyResults = async (tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newPerVOSpentVoiceCreditsCommitment) => {
37
+ const verifyTallyResults = async (tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newPerVoteOptionSpentVoiceCreditsCommitment) => {
38
38
  const failedIndices = [];
39
39
  for (let i = 0; i < tallyData.results.tally.length; i += 1) {
40
- const proof = (0, crypto_1.genTreeProof)(i, tallyData.results.tally.map((x) => BigInt(x)), voteOptionTreeDepth);
40
+ const proof = (0, crypto_1.generateTreeProof)(i, tallyData.results.tally.map((x) => BigInt(x)), voteOptionTreeDepth);
41
41
  // eslint-disable-next-line no-await-in-loop
42
- const isValid = await tallyContract.verifyTallyResult(i, tallyData.results.tally[i], proof, tallyData.results.salt, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newPerVOSpentVoiceCreditsCommitment ?? 0n);
42
+ const isValid = await tallyContract.verifyTallyResult(i, tallyData.results.tally[i], proof, tallyData.results.salt, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newPerVoteOptionSpentVoiceCreditsCommitment ?? 0n);
43
43
  if (!isValid) {
44
44
  failedIndices.push(i);
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/tally/utils.ts"],"names":[],"mappings":";;;AAAA,kDAAqD;AAKrD;;;;;;;;;GASG;AACI,MAAM,4BAA4B,GAAG,KAAK,EAC/C,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,oBAA4B,EACT,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAA,qBAAY,EACxB,CAAC,EACD,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACrE,mBAAmB,CACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAC9D,CAAC,EACD,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC,EAClD,KAAK,EACL,SAAS,CAAC,8BAA+B,CAAC,IAAI,EAC9C,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAjCW,QAAA,4BAA4B,gCAiCvC;AAEF;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,mCAA4C,EACzB,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,qBAAY,EACxB,CAAC,EACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7C,mBAAmB,CACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,iBAAiB,CACnD,CAAC,EACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1B,KAAK,EACL,SAAS,CAAC,OAAO,CAAC,IAAI,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,mCAAmC,IAAI,EAAE,CAC1C,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAjCW,QAAA,kBAAkB,sBAiC7B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/tally/utils.ts"],"names":[],"mappings":";;;AAAA,kDAA0D;AAK1D;;;;;;;;;GASG;AACI,MAAM,oCAAoC,GAAG,KAAK,EACvD,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,oBAA4B,EACT,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAA,0BAAiB,EAC7B,CAAC,EACD,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACrE,mBAAmB,CACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,oCAAoC,CACtE,CAAC,EACD,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC,EAClD,KAAK,EACL,SAAS,CAAC,8BAA+B,CAAC,IAAI,EAC9C,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAjCW,QAAA,oCAAoC,wCAiC/C;AAEF;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,2CAAoD,EACjC,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,0BAAiB,EAC7B,CAAC,EACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7C,mBAAmB,CACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,iBAAiB,CACnD,CAAC,EACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1B,KAAK,EACL,SAAS,CAAC,OAAO,CAAC,IAAI,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,2CAA2C,IAAI,EAAE,CAClD,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAjCW,QAAA,kBAAkB,sBAiC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAU,yFAO1B,WAAW,KAAG,OAAO,CAAC,OAAO,CAiG/B,CAAC"}
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAU,yFAO1B,WAAW,KAAG,OAAO,CAAC,OAAO,CAgG/B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verify = void 0;
4
4
  const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
5
+ const core_1 = require("@maci-protocol/core");
5
6
  const contracts_1 = require("../utils/contracts");
6
7
  const utils_1 = require("./utils");
7
8
  /**
@@ -9,7 +10,6 @@ const utils_1 = require("./utils");
9
10
  * @param VerifyArgs - The arguments for the verify command
10
11
  */
11
12
  const verify = async ({ pollId, tallyData, signer, tallyCommitments, totalVoteOptions, voteOptionTreeDepth, }) => {
12
- const useQv = tallyData.isQuadratic;
13
13
  const maciContractAddress = tallyData.maci;
14
14
  const validContract = await (0, contracts_1.contractExists)(signer.provider, maciContractAddress);
15
15
  if (!validContract) {
@@ -30,29 +30,29 @@ const verify = async ({ pollId, tallyData, signer, tallyCommitments, totalVoteOp
30
30
  throw new Error("Wrong number of vote options.");
31
31
  }
32
32
  // destructure the tally commitments
33
- const { newTallyCommitment, newSpentVoiceCreditsCommitment, newPerVOSpentVoiceCreditsCommitment, newResultsCommitment, } = tallyCommitments;
33
+ const { newTallyCommitment, newSpentVoiceCreditsCommitment, newPerVoteOptionSpentVoiceCreditsCommitment, newResultsCommitment, } = tallyCommitments;
34
34
  // verify that the results commitment matches the output of generateTreeCommitment()
35
35
  if (onChainTallyCommitment !== newTallyCommitment) {
36
36
  throw new Error("The on-chain tally commitment does not match.");
37
37
  }
38
38
  // verify total spent voice credits on-chain
39
- const verified = await tallyContract.verifySpentVoiceCredits(tallyData.totalSpentVoiceCredits.spent, tallyData.totalSpentVoiceCredits.salt, newResultsCommitment, newPerVOSpentVoiceCreditsCommitment ?? 0n);
39
+ const verified = await tallyContract.verifySpentVoiceCredits(tallyData.totalSpentVoiceCredits.spent, tallyData.totalSpentVoiceCredits.salt, newResultsCommitment, newPerVoteOptionSpentVoiceCreditsCommitment ?? 0n);
40
40
  if (!verified) {
41
41
  throw new Error("The on-chain verification of total spent voice credits failed.");
42
42
  }
43
43
  // verify tally result on-chain for each vote option
44
- const failedPerVOSpentCredits = await (0, utils_1.verifyTallyResults)(tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newPerVOSpentVoiceCreditsCommitment);
44
+ const failedPerVOSpentCredits = await (0, utils_1.verifyTallyResults)(tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newPerVoteOptionSpentVoiceCreditsCommitment);
45
45
  if (failedPerVOSpentCredits.length > 0) {
46
46
  throw new Error(`At least one spent voice credits entry in the tally results failed the on-chain verification. Please check your tally results at these indexes: ${failedPerVOSpentCredits.join(", ")}`);
47
47
  }
48
- if (!useQv) {
48
+ if (tallyData.mode !== core_1.EMode.QV) {
49
49
  return true;
50
50
  }
51
51
  if (tallyData.perVoteOptionSpentVoiceCredits?.tally.length !== totalVoteOptions) {
52
52
  throw new Error("Wrong number of vote options.");
53
53
  }
54
54
  // verify per vote option voice credits on-chain
55
- const failedSpentCredits = await (0, utils_1.verifyPerVOSpentVoiceCredits)(tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment);
55
+ const failedSpentCredits = await (0, utils_1.verifyPerVoteOptionSpentVoiceCredits)(tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment);
56
56
  if (failedSpentCredits.length > 0) {
57
57
  throw new Error(`At least one tally result failed the on-chain verification. Please check your Tally data at these indexes: ${failedSpentCredits.join(", ")}`);
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { generateSignUpTree } from "./stateTree";
2
- export type { IGenerateSignUpTreeArgs, IGenerateSignUpTree } from "./types";
1
+ export { generateSignUpTree, generateSignUpTreeWithEndKey, generateSignUpTreeFromKeys } from "./stateTree";
2
+ export type { IGenerateSignUpTreeArgs, IGenerateSignUpTree, IGenerateSignUpTreeWithEndKeyArgs } from "./types";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/trees/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/trees/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC3G,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateSignUpTree = void 0;
3
+ exports.generateSignUpTreeFromKeys = exports.generateSignUpTreeWithEndKey = exports.generateSignUpTree = void 0;
4
4
  var stateTree_1 = require("./stateTree");
5
5
  Object.defineProperty(exports, "generateSignUpTree", { enumerable: true, get: function () { return stateTree_1.generateSignUpTree; } });
6
+ Object.defineProperty(exports, "generateSignUpTreeWithEndKey", { enumerable: true, get: function () { return stateTree_1.generateSignUpTreeWithEndKey; } });
7
+ Object.defineProperty(exports, "generateSignUpTreeFromKeys", { enumerable: true, get: function () { return stateTree_1.generateSignUpTreeFromKeys; } });
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/trees/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AAAxC,+GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/trees/index.ts"],"names":[],"mappings":";;;AAAA,yCAA2G;AAAlG,+GAAA,kBAAkB,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,uHAAA,0BAA0B,OAAA"}
@@ -1,4 +1,6 @@
1
- import type { IGenerateSignUpTreeArgs, IGenerateSignUpTree } from "./types";
1
+ import { PublicKey } from "@maci-protocol/domainobjs";
2
+ import { LeanIMT } from "@zk-kit/lean-imt";
3
+ import type { IGenerateSignUpTreeArgs, IGenerateSignUpTree, IGenerateSignUpTreeWithEndKeyArgs } from "./types";
2
4
  /**
3
5
  * Generate a State tree object from the events of a MACI smart contracts
4
6
  * @param provider - the ethereum provider
@@ -10,4 +12,24 @@ import type { IGenerateSignUpTreeArgs, IGenerateSignUpTree } from "./types";
10
12
  * @returns State tree
11
13
  */
12
14
  export declare const generateSignUpTree: ({ provider, address, fromBlock, blocksPerRequest, endBlock, sleepAmount, }: IGenerateSignUpTreeArgs) => Promise<IGenerateSignUpTree>;
15
+ /**
16
+ * Generate a State tree object from the events of a MACI smart contracts
17
+ * @param provider - the ethereum provider
18
+ * @param address - the address of the MACI contract
19
+ * @param fromBlock - the block number from which to start fetching events
20
+ * @param blocksPerRequest - the number of blocks to fetch in each request
21
+ * @param endBlock - the block number at which to stop fetching events
22
+ * @param sleepAmount - the amount of time to sleep between each request
23
+ * @param userPublicKey - the user public key where we end/stop the signUpTree replica.
24
+ * If user public key is 4th then the returned signUpTree will have only 4 leaves
25
+ * (does not matter if MACI' signUpTree has more).
26
+ * @returns State tree
27
+ */
28
+ export declare const generateSignUpTreeWithEndKey: ({ provider, address, fromBlock, blocksPerRequest, endBlock, sleepAmount, userPublicKey, }: IGenerateSignUpTreeWithEndKeyArgs) => Promise<IGenerateSignUpTree>;
29
+ /**
30
+ * Generate a sign up tree from the public keys
31
+ * @param publicKeys - the public keys to generate the sign up tree from
32
+ * @returns the sign up tree
33
+ */
34
+ export declare const generateSignUpTreeFromKeys: (publicKeys: PublicKey[]) => LeanIMT;
13
35
  //# sourceMappingURL=stateTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stateTree.d.ts","sourceRoot":"","sources":["../../../ts/trees/stateTree.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI5E;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAAU,4EAOtC,uBAAuB,KAAG,OAAO,CAAC,mBAAmB,CAqCvD,CAAC"}
1
+ {"version":3,"file":"stateTree.d.ts","sourceRoot":"","sources":["../../../ts/trees/stateTree.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAuB,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAI/G;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAAU,4EAOtC,uBAAuB,KAAG,OAAO,CAAC,mBAAmB,CAoCvD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,4BAA4B,GAAU,2FAQhD,iCAAiC,KAAG,OAAO,CAAC,mBAAmB,CA8CjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,YAAY,SAAS,EAAE,KAAG,OAMpE,CAAC"}
@@ -1,15 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateSignUpTree = void 0;
3
+ exports.generateSignUpTreeFromKeys = exports.generateSignUpTreeWithEndKey = exports.generateSignUpTree = void 0;
7
4
  /* eslint-disable no-underscore-dangle */
8
5
  const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
9
6
  const crypto_1 = require("@maci-protocol/crypto");
10
7
  const domainobjs_1 = require("@maci-protocol/domainobjs");
11
8
  const lean_imt_1 = require("@zk-kit/lean-imt");
12
- const assert_1 = __importDefault(require("assert"));
13
9
  const utils_1 = require("../utils/utils");
14
10
  /**
15
11
  * Generate a State tree object from the events of a MACI smart contracts
@@ -35,7 +31,6 @@ const generateSignUpTree = async ({ provider, address, fromBlock = 0, blocksPerR
35
31
  // eslint-disable-next-line no-await-in-loop
36
32
  const signUpLogs = await maciContract.queryFilter(maciContract.filters.SignUp(), i, toBlock);
37
33
  signUpLogs.forEach((event) => {
38
- (0, assert_1.default)(!!event);
39
34
  const publicKeyX = event.args._userPublicKeyX;
40
35
  const publicKeyY = event.args._userPublicKeyY;
41
36
  const publicKey = new domainobjs_1.PublicKey([publicKeyX, publicKeyY]);
@@ -53,4 +48,70 @@ const generateSignUpTree = async ({ provider, address, fromBlock = 0, blocksPerR
53
48
  };
54
49
  };
55
50
  exports.generateSignUpTree = generateSignUpTree;
51
+ /**
52
+ * Generate a State tree object from the events of a MACI smart contracts
53
+ * @param provider - the ethereum provider
54
+ * @param address - the address of the MACI contract
55
+ * @param fromBlock - the block number from which to start fetching events
56
+ * @param blocksPerRequest - the number of blocks to fetch in each request
57
+ * @param endBlock - the block number at which to stop fetching events
58
+ * @param sleepAmount - the amount of time to sleep between each request
59
+ * @param userPublicKey - the user public key where we end/stop the signUpTree replica.
60
+ * If user public key is 4th then the returned signUpTree will have only 4 leaves
61
+ * (does not matter if MACI' signUpTree has more).
62
+ * @returns State tree
63
+ */
64
+ const generateSignUpTreeWithEndKey = async ({ provider, address, fromBlock = 0, blocksPerRequest = 50, endBlock, sleepAmount, userPublicKey, }) => {
65
+ const lastBlock = endBlock || (await provider.getBlockNumber());
66
+ const maciContract = typechain_types_1.MACI__factory.connect(address, provider);
67
+ const signUpTree = new lean_imt_1.LeanIMT(crypto_1.hashLeanIMT);
68
+ signUpTree.insert(crypto_1.PAD_KEY_HASH);
69
+ const publicKeys = [];
70
+ // Fetch event logs in batches (lastBlock inclusive)
71
+ for (let i = fromBlock; i <= lastBlock; i += blocksPerRequest + 1) {
72
+ // the last block batch will be either current iteration block + blockPerRequest
73
+ // or the end block if it is set
74
+ const toBlock = i + blocksPerRequest >= lastBlock ? lastBlock : i + blocksPerRequest;
75
+ // eslint-disable-next-line no-await-in-loop
76
+ const signUpLogs = await maciContract.queryFilter(maciContract.filters.SignUp(), i, toBlock);
77
+ // eslint-disable-next-line @typescript-eslint/prefer-for-of
78
+ for (let j = 0; j < signUpLogs.length; j += 1) {
79
+ const event = signUpLogs[j];
80
+ const publicKeyX = event.args._userPublicKeyX;
81
+ const publicKeyY = event.args._userPublicKeyY;
82
+ const publicKey = new domainobjs_1.PublicKey([publicKeyX, publicKeyY]);
83
+ publicKeys.push(publicKey);
84
+ signUpTree.insert((0, crypto_1.hashLeftRight)(publicKeyX, publicKeyY));
85
+ // early return cause we found the user
86
+ if (publicKey.equals(userPublicKey)) {
87
+ return {
88
+ signUpTree,
89
+ publicKeys,
90
+ };
91
+ }
92
+ }
93
+ if (sleepAmount) {
94
+ // eslint-disable-next-line no-await-in-loop
95
+ await (0, utils_1.sleep)(sleepAmount);
96
+ }
97
+ }
98
+ return {
99
+ signUpTree,
100
+ publicKeys,
101
+ };
102
+ };
103
+ exports.generateSignUpTreeWithEndKey = generateSignUpTreeWithEndKey;
104
+ /**
105
+ * Generate a sign up tree from the public keys
106
+ * @param publicKeys - the public keys to generate the sign up tree from
107
+ * @returns the sign up tree
108
+ */
109
+ const generateSignUpTreeFromKeys = (publicKeys) => {
110
+ const signUpTree = new lean_imt_1.LeanIMT(crypto_1.hashLeanIMT);
111
+ publicKeys.forEach((key) => {
112
+ signUpTree.insert(key.hash());
113
+ });
114
+ return signUpTree;
115
+ };
116
+ exports.generateSignUpTreeFromKeys = generateSignUpTreeFromKeys;
56
117
  //# sourceMappingURL=stateTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stateTree.js","sourceRoot":"","sources":["../../../ts/trees/stateTree.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,8EAAwF;AACxF,kDAAiF;AACjF,0DAAsD;AACtD,+CAAgE;AAEhE,oDAA4B;AAI5B,0CAAuC;AAEvC;;;;;;;;;GASG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,QAAQ,EACR,OAAO,EACP,SAAS,GAAG,CAAC,EACb,gBAAgB,GAAG,EAAE,EACrB,QAAQ,EACR,WAAW,GACa,EAAgC,EAAE;IAC1D,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,+BAAW,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,kBAAO,CAAC,oBAAkC,CAAC,CAAC;IACnE,UAAU,CAAC,MAAM,CAAC,qBAAY,CAAC,CAAC;IAChC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,oDAAoD;IACpD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAClE,gFAAgF;QAChF,gCAAgC;QAChC,MAAM,OAAO,GAAG,CAAC,GAAG,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;QAErF,4CAA4C;QAC5C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7F,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAA,gBAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAE9C,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAE1D,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,UAAU,CAAC,MAAM,CAAC,IAAA,sBAAa,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,4CAA4C;YAC5C,MAAM,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,kBAAkB,sBA4C7B"}
1
+ {"version":3,"file":"stateTree.js","sourceRoot":"","sources":["../../../ts/trees/stateTree.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,15 @@ export interface IGenerateSignUpTreeArgs {
30
30
  */
31
31
  sleepAmount?: number;
32
32
  }
33
+ /**
34
+ * An interface that represents arguments of generation sign up tree which stops fetching at a given public key
35
+ */
36
+ export interface IGenerateSignUpTreeWithEndKeyArgs extends IGenerateSignUpTreeArgs {
37
+ /**
38
+ * The public key of the user
39
+ */
40
+ userPublicKey: PublicKey;
41
+ }
33
42
  /**
34
43
  * An interface that represents sign up tree and state leaves
35
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/trees/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/trees/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF;;OAEG;IACH,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB"}
@@ -1,5 +1,5 @@
1
1
  export { joinPoll } from "./joinPoll";
2
2
  export { getSignedupUserData, signup, hasUserSignedUp } from "./signup";
3
- export { getJoinedUserData, hasUserJoinedPoll } from "./utils";
4
- export type { IJoinedUserArgs, IIsRegisteredUser, IIsJoinedUser, ISignupArgs, IRegisteredUserArgs, IPollJoinedCircuitInputs, IPollJoiningCircuitInputs, IJoinPollArgs, IIsNullifierOnChainArgs, IGetPollJoiningCircuitEventsArgs, IGetPollJoiningCircuitInputsFromStateFileArgs, IJoinPollData, IParsePollJoinEventsArgs, IParseSignupEventsArgs, ISignupData, IHasUserSignedUpArgs, } from "./types";
3
+ export { getJoinedUserData, hasUserJoinedPoll, generateMaciStateTree, generateMaciStateTreeWithEndKey, getPollJoiningCircuitEvents, joiningCircuitInputs, } from "./utils";
4
+ export type { IJoinedUserArgs, IIsRegisteredUser, IIsJoinedUser, ISignupArgs, IRegisteredUserArgs, IPollJoinedCircuitInputs, IPollJoiningCircuitInputs, IJoinPollArgs, IIsNullifierOnChainArgs, IGetPollJoiningCircuitEventsArgs, IGetPollJoiningCircuitInputsFromStateFileArgs, IJoinPollData, IParsePollJoinEventsArgs, IParseSignupEventsArgs, ISignupData, IHasUserSignedUpArgs, IGenerateMaciStateTreeArgs, IGenerateMaciStateTreeWithEndKeyArgs, } from "./types";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,gCAAgC,EAChC,6CAA6C,EAC7C,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,gCAAgC,EAChC,6CAA6C,EAC7C,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,0BAA0B,EAC1B,oCAAoC,GACrC,MAAM,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasUserJoinedPoll = exports.getJoinedUserData = exports.hasUserSignedUp = exports.signup = exports.getSignedupUserData = exports.joinPoll = void 0;
3
+ exports.joiningCircuitInputs = exports.getPollJoiningCircuitEvents = exports.generateMaciStateTreeWithEndKey = exports.generateMaciStateTree = exports.hasUserJoinedPoll = exports.getJoinedUserData = exports.hasUserSignedUp = exports.signup = exports.getSignedupUserData = exports.joinPoll = void 0;
4
4
  var joinPoll_1 = require("./joinPoll");
5
5
  Object.defineProperty(exports, "joinPoll", { enumerable: true, get: function () { return joinPoll_1.joinPoll; } });
6
6
  var signup_1 = require("./signup");
@@ -10,4 +10,8 @@ Object.defineProperty(exports, "hasUserSignedUp", { enumerable: true, get: funct
10
10
  var utils_1 = require("./utils");
11
11
  Object.defineProperty(exports, "getJoinedUserData", { enumerable: true, get: function () { return utils_1.getJoinedUserData; } });
12
12
  Object.defineProperty(exports, "hasUserJoinedPoll", { enumerable: true, get: function () { return utils_1.hasUserJoinedPoll; } });
13
+ Object.defineProperty(exports, "generateMaciStateTree", { enumerable: true, get: function () { return utils_1.generateMaciStateTree; } });
14
+ Object.defineProperty(exports, "generateMaciStateTreeWithEndKey", { enumerable: true, get: function () { return utils_1.generateMaciStateTreeWithEndKey; } });
15
+ Object.defineProperty(exports, "getPollJoiningCircuitEvents", { enumerable: true, get: function () { return utils_1.getPollJoiningCircuitEvents; } });
16
+ Object.defineProperty(exports, "joiningCircuitInputs", { enumerable: true, get: function () { return utils_1.joiningCircuitInputs; } });
13
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/user/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,mCAAwE;AAA/D,6GAAA,mBAAmB,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AACrD,iCAA+D;AAAtD,0GAAA,iBAAiB,OAAA;AAAE,0GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/user/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,mCAAwE;AAA/D,6GAAA,mBAAmB,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AACrD,iCAOiB;AANf,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,8GAAA,qBAAqB,OAAA;AACrB,wHAAA,+BAA+B,OAAA;AAC/B,oHAAA,2BAA2B,OAAA;AAC3B,6GAAA,oBAAoB,OAAA"}
@@ -4,5 +4,5 @@ import type { IJoinPollData, IJoinPollArgs } from "./types";
4
4
  * @param {IJoinPollArgs} args - The arguments for the join poll command
5
5
  * @returns {IJoinPollData} The poll state index of the joined user and transaction hash
6
6
  */
7
- export declare const joinPoll: ({ maciAddress, privateKey, stateFile, pollId, signer, startBlock, endBlock, blocksPerBatch, pollJoiningZkey, useWasm, rapidsnark, pollWitgen, pollWasm, sgDataArg, ivcpDataArg, }: IJoinPollArgs) => Promise<IJoinPollData>;
7
+ export declare const joinPoll: ({ maciAddress, privateKey, stateFile, pollId, signer, startBlock, endBlock, blocksPerBatch, pollJoiningZkey, useWasm, rapidsnark, pollWitnessGenerator, pollWasm, sgDataArg, ivcpDataArg, }: IJoinPollArgs) => Promise<IJoinPollData>;
8
8
  //# sourceMappingURL=joinPoll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"joinPoll.d.ts","sourceRoot":"","sources":["../../../ts/user/joinPoll.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQ5D;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,mLAgB5B,aAAa,KAAG,OAAO,CAAC,aAAa,CA4FvC,CAAC"}
1
+ {"version":3,"file":"joinPoll.d.ts","sourceRoot":"","sources":["../../../ts/user/joinPoll.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQ5D;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,6LAgB5B,aAAa,KAAG,OAAO,CAAC,aAAa,CAmGvC,CAAC"}