@maci-protocol/sdk 0.0.0-ci.fd7cff6 → 0.0.0-ci.ffabe48

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/LICENSE +1 -2
  2. package/build/package.json +15 -6
  3. package/build/ts/browser/index.d.ts +6 -7
  4. package/build/ts/browser/index.d.ts.map +1 -1
  5. package/build/ts/browser/index.js +16 -20
  6. package/build/ts/browser/index.js.map +1 -1
  7. package/build/ts/browser/joinPoll.d.ts +10 -0
  8. package/build/ts/browser/joinPoll.d.ts.map +1 -0
  9. package/build/ts/browser/joinPoll.js +88 -0
  10. package/build/ts/browser/joinPoll.js.map +1 -0
  11. package/build/ts/browser/utils.d.ts +18 -0
  12. package/build/ts/browser/utils.d.ts.map +1 -0
  13. package/build/ts/browser/utils.js +37 -0
  14. package/build/ts/browser/utils.js.map +1 -0
  15. package/build/ts/deploy/index.d.ts +3 -2
  16. package/build/ts/deploy/index.d.ts.map +1 -1
  17. package/build/ts/deploy/index.js +5 -3
  18. package/build/ts/deploy/index.js.map +1 -1
  19. package/build/ts/deploy/maci.js +1 -1
  20. package/build/ts/deploy/maci.js.map +1 -1
  21. package/build/ts/deploy/poll.d.ts +1 -1
  22. package/build/ts/deploy/poll.d.ts.map +1 -1
  23. package/build/ts/deploy/poll.js +20 -13
  24. package/build/ts/deploy/poll.js.map +1 -1
  25. package/build/ts/deploy/types.d.ts +21 -8
  26. package/build/ts/deploy/types.d.ts.map +1 -1
  27. package/build/ts/deploy/utils.js +1 -1
  28. package/build/ts/deploy/utils.js.map +1 -1
  29. package/build/ts/deploy/verifyingKeysRegistry.d.ts +7 -0
  30. package/build/ts/deploy/verifyingKeysRegistry.d.ts.map +1 -0
  31. package/build/ts/deploy/verifyingKeysRegistry.js +14 -0
  32. package/build/ts/deploy/verifyingKeysRegistry.js.map +1 -0
  33. package/build/ts/index.d.ts +2 -1
  34. package/build/ts/index.d.ts.map +1 -1
  35. package/build/ts/index.js +26 -8
  36. package/build/ts/index.js.map +1 -1
  37. package/build/ts/maci/policy.d.ts +13 -1
  38. package/build/ts/maci/policy.d.ts.map +1 -1
  39. package/build/ts/maci/policy.js +41 -2
  40. package/build/ts/maci/policy.js.map +1 -1
  41. package/build/ts/maci/state.d.ts +1 -1
  42. package/build/ts/maci/state.js +11 -11
  43. package/build/ts/maci/state.js.map +1 -1
  44. package/build/ts/maci/types.d.ts +34 -2
  45. package/build/ts/maci/types.d.ts.map +1 -1
  46. package/build/ts/maci/types.js +2 -0
  47. package/build/ts/maci/types.js.map +1 -1
  48. package/build/ts/maciKeys/__tests__/keypair.test.js +7 -7
  49. package/build/ts/maciKeys/__tests__/keypair.test.js.map +1 -1
  50. package/build/ts/maciKeys/__tests__/publicKeys.test.js +7 -7
  51. package/build/ts/maciKeys/__tests__/publicKeys.test.js.map +1 -1
  52. package/build/ts/maciKeys/keypair.js +3 -3
  53. package/build/ts/maciKeys/keypair.js.map +1 -1
  54. package/build/ts/maciKeys/publicKeys.d.ts +2 -2
  55. package/build/ts/maciKeys/publicKeys.d.ts.map +1 -1
  56. package/build/ts/maciKeys/publicKeys.js +6 -6
  57. package/build/ts/maciKeys/publicKeys.js.map +1 -1
  58. package/build/ts/poll/poll.js +7 -7
  59. package/build/ts/poll/poll.js.map +1 -1
  60. package/build/ts/poll/types.d.ts +6 -7
  61. package/build/ts/poll/types.d.ts.map +1 -1
  62. package/build/ts/poll/utils.js +3 -3
  63. package/build/ts/poll/utils.js.map +1 -1
  64. package/build/ts/proof/__tests__/download.test.js +7 -4
  65. package/build/ts/proof/__tests__/download.test.js.map +1 -1
  66. package/build/ts/proof/download.d.ts +3 -3
  67. package/build/ts/proof/download.d.ts.map +1 -1
  68. package/build/ts/proof/download.js +5 -7
  69. package/build/ts/proof/download.js.map +1 -1
  70. package/build/ts/proof/generate.d.ts +2 -2
  71. package/build/ts/proof/generate.d.ts.map +1 -1
  72. package/build/ts/proof/generate.js +8 -8
  73. package/build/ts/proof/generate.js.map +1 -1
  74. package/build/ts/proof/prove.js +14 -14
  75. package/build/ts/proof/prove.js.map +1 -1
  76. package/build/ts/proof/types.d.ts +31 -5
  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 +4 -4
  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 +62 -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 +4 -1
  107. package/build/ts/tally/index.js.map +1 -1
  108. package/build/ts/tally/results.d.ts +14 -0
  109. package/build/ts/tally/results.d.ts.map +1 -0
  110. package/build/ts/tally/results.js +44 -0
  111. package/build/ts/tally/results.js.map +1 -0
  112. package/build/ts/tally/types.d.ts +40 -13
  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 +76 -12
  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 +4 -2
  133. package/build/ts/user/index.d.ts.map +1 -1
  134. package/build/ts/user/index.js +14 -8
  135. package/build/ts/user/index.js.map +1 -1
  136. package/build/ts/user/joinPoll.d.ts +8 -0
  137. package/build/ts/user/joinPoll.d.ts.map +1 -0
  138. package/build/ts/user/joinPoll.js +84 -0
  139. package/build/ts/user/joinPoll.js.map +1 -0
  140. package/build/ts/user/signup.d.ts +20 -0
  141. package/build/ts/user/signup.d.ts.map +1 -0
  142. package/build/ts/user/signup.js +84 -0
  143. package/build/ts/user/signup.js.map +1 -0
  144. package/build/ts/user/types.d.ts +60 -20
  145. package/build/ts/user/types.d.ts.map +1 -1
  146. package/build/ts/user/utils.d.ts +42 -14
  147. package/build/ts/user/utils.d.ts.map +1 -1
  148. package/build/ts/user/utils.js +116 -49
  149. package/build/ts/user/utils.js.map +1 -1
  150. package/build/ts/utils/params.d.ts +1 -1
  151. package/build/ts/utils/params.d.ts.map +1 -1
  152. package/build/ts/utils/params.js +3 -3
  153. package/build/ts/utils/params.js.map +1 -1
  154. package/build/ts/utils/proofs.d.ts +2 -2
  155. package/build/ts/utils/proofs.d.ts.map +1 -1
  156. package/build/ts/utils/proofs.js +4 -4
  157. package/build/ts/utils/proofs.js.map +1 -1
  158. package/build/ts/utils/types.d.ts +2 -2
  159. package/build/ts/utils/types.d.ts.map +1 -1
  160. package/build/ts/utils/utils.d.ts +8 -0
  161. package/build/ts/utils/utils.d.ts.map +1 -1
  162. package/build/ts/utils/utils.js +14 -1
  163. package/build/ts/utils/utils.js.map +1 -1
  164. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts +1 -1
  165. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts.map +1 -1
  166. package/build/ts/verifyingKeys/checkVerifyingKeys.js +14 -15
  167. package/build/ts/verifyingKeys/checkVerifyingKeys.js.map +1 -1
  168. package/build/ts/verifyingKeys/index.d.ts +2 -2
  169. package/build/ts/verifyingKeys/index.d.ts.map +1 -1
  170. package/build/ts/verifyingKeys/index.js +5 -5
  171. package/build/ts/verifyingKeys/index.js.map +1 -1
  172. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts +1 -1
  173. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
  174. package/build/ts/verifyingKeys/setVerifyingKeys.js +46 -35
  175. package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
  176. package/build/ts/verifyingKeys/types.d.ts +45 -37
  177. package/build/ts/verifyingKeys/types.d.ts.map +1 -1
  178. package/build/ts/verifyingKeys/utils.d.ts +10 -10
  179. package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
  180. package/build/ts/verifyingKeys/utils.js +76 -60
  181. package/build/ts/verifyingKeys/utils.js.map +1 -1
  182. package/build/ts/vote/generate.d.ts +1 -1
  183. package/build/ts/vote/generate.d.ts.map +1 -1
  184. package/build/ts/vote/generate.js +4 -4
  185. package/build/ts/vote/generate.js.map +1 -1
  186. package/build/ts/vote/index.d.ts +1 -1
  187. package/build/ts/vote/index.d.ts.map +1 -1
  188. package/build/ts/vote/index.js +2 -2
  189. package/build/ts/vote/index.js.map +1 -1
  190. package/build/ts/vote/invalidate.js +3 -3
  191. package/build/ts/vote/invalidate.js.map +1 -1
  192. package/build/ts/vote/publish.d.ts +1 -1
  193. package/build/ts/vote/publish.d.ts.map +1 -1
  194. package/build/ts/vote/publish.js +19 -19
  195. package/build/ts/vote/publish.js.map +1 -1
  196. package/build/ts/vote/submit.js +5 -5
  197. package/build/ts/vote/submit.js.map +1 -1
  198. package/build/ts/vote/types.d.ts +6 -6
  199. package/build/ts/vote/types.d.ts.map +1 -1
  200. package/build/ts/vote/utils.d.ts +2 -2
  201. package/build/ts/vote/utils.d.ts.map +1 -1
  202. package/build/ts/vote/utils.js +7 -7
  203. package/build/ts/vote/utils.js.map +1 -1
  204. package/build/tsconfig.build.tsbuildinfo +1 -1
  205. package/package.json +21 -12
  206. package/build/ts/deploy/vkRegistry.d.ts +0 -7
  207. package/build/ts/deploy/vkRegistry.d.ts.map +0 -1
  208. package/build/ts/deploy/vkRegistry.js +0 -14
  209. package/build/ts/deploy/vkRegistry.js.map +0 -1
  210. package/build/ts/proof/constants.d.ts +0 -17
  211. package/build/ts/proof/constants.d.ts.map +0 -1
  212. package/build/ts/proof/constants.js +0 -20
  213. package/build/ts/proof/constants.js.map +0 -1
  214. package/build/ts/user/user.d.ts +0 -42
  215. package/build/ts/user/user.d.ts.map +0 -1
  216. package/build/ts/user/user.js +0 -192
  217. package/build/ts/user/user.js.map +0 -1
@@ -1,5 +1,6 @@
1
+ import { LeanIMTMerkleProof } from "@zk-kit/lean-imt";
1
2
  import type { MACI, Poll } from "@maci-protocol/contracts/typechain-types";
2
- import type { PrivKey, PubKey } from "@maci-protocol/domainobjs";
3
+ import type { PrivateKey, PublicKey } from "@maci-protocol/domainobjs";
3
4
  import type { Signer } from "ethers";
4
5
  /**
5
6
  * Interface for the arguments to the isJoinedUser command
@@ -16,7 +17,7 @@ export interface IJoinedUserArgs {
16
17
  /**
17
18
  * Poll public key for the poll
18
19
  */
19
- pollPubKey: string;
20
+ pollPublicKey: string;
20
21
  /**
21
22
  * A signer object
22
23
  */
@@ -63,7 +64,7 @@ export interface ISignupArgs {
63
64
  /**
64
65
  * The public key of the user
65
66
  */
66
- maciPubKey: string;
67
+ maciPublicKey: string;
67
68
  /**
68
69
  * A signer object
69
70
  */
@@ -101,7 +102,7 @@ export interface IRegisteredUserArgs {
101
102
  /**
102
103
  * The public key of the user
103
104
  */
104
- maciPubKey: string;
105
+ maciPublicKey: string;
105
106
  /**
106
107
  * The address of the MACI contract
107
108
  */
@@ -130,7 +131,7 @@ export interface IParsePollJoinEventsArgs {
130
131
  /**
131
132
  * The public key
132
133
  */
133
- pollPublicKey: PubKey;
134
+ pollPublicKey: PublicKey;
134
135
  }
135
136
  /**
136
137
  * Interface for the arguments to the parseSignupEvents function
@@ -151,7 +152,7 @@ export interface IParseSignupEventsArgs {
151
152
  /**
152
153
  * The public key
153
154
  */
154
- publicKey: PubKey;
155
+ publicKey: PublicKey;
155
156
  }
156
157
  /**
157
158
  * An interface describing the circuit inputs to the PollJoining circuit
@@ -160,11 +161,11 @@ export interface IPollJoiningCircuitInputs {
160
161
  /**
161
162
  * The private key
162
163
  */
163
- privKey: string;
164
+ privateKey: string;
164
165
  /**
165
166
  * The poll public key
166
167
  */
167
- pollPubKey: string[];
168
+ pollPublicKey: string[];
168
169
  /**
169
170
  * The state leaf
170
171
  */
@@ -201,15 +202,11 @@ export interface IPollJoinedCircuitInputs {
201
202
  /**
202
203
  * The private key
203
204
  */
204
- privKey: string;
205
+ privateKey: string;
205
206
  /**
206
207
  * The voice credits balance
207
208
  */
208
209
  voiceCreditsBalance: string;
209
- /**
210
- * The join timestamp
211
- */
212
- joinTimestamp: string;
213
210
  /**
214
211
  * The state leaf
215
212
  */
@@ -300,6 +297,19 @@ export interface IJoinPollArgs {
300
297
  */
301
298
  ivcpDataArg: string;
302
299
  }
300
+ /**
301
+ * Interface for the arguments to the joinPoll command for the browser
302
+ */
303
+ export interface IJoinPollBrowserArgs extends IJoinPollArgs {
304
+ /**
305
+ * Whether to use of not the latest state index
306
+ */
307
+ useLatestStateIndex?: boolean;
308
+ /**
309
+ * The inclusion proof
310
+ */
311
+ inclusionProof?: LeanIMTMerkleProof;
312
+ }
303
313
  /**
304
314
  * Interface for the return data to the joinPoll command
305
315
  */
@@ -312,10 +322,6 @@ export interface IJoinPollData {
312
322
  * Voice credits balance
313
323
  */
314
324
  voiceCredits: string;
315
- /**
316
- * Joining poll timestamp
317
- */
318
- timestamp: string;
319
325
  /**
320
326
  * Private key nullifier
321
327
  */
@@ -346,6 +352,40 @@ export interface IIsNullifierOnChainArgs {
346
352
  */
347
353
  signer: Signer;
348
354
  }
355
+ /**
356
+ * Arguments for IGenerateMaciStateTreeArgs
357
+ */
358
+ export interface IGenerateMaciStateTreeArgs {
359
+ /**
360
+ * The MACI contract
361
+ */
362
+ maciContract: MACI;
363
+ /**
364
+ * The signer
365
+ */
366
+ signer: Signer;
367
+ /**
368
+ * The start block
369
+ */
370
+ startBlock?: number;
371
+ /**
372
+ * The end block
373
+ */
374
+ endBlock?: number;
375
+ /**
376
+ * The blocks per batch
377
+ */
378
+ blocksPerBatch?: number;
379
+ }
380
+ /**
381
+ * Arguments for IGenerateMaciStateTreeWithEndKeyArgs
382
+ */
383
+ export interface IGenerateMaciStateTreeWithEndKeyArgs extends IGenerateMaciStateTreeArgs {
384
+ /**
385
+ * The public key of the user
386
+ */
387
+ userPublicKey: PublicKey;
388
+ }
349
389
  /**
350
390
  * Arguments for getPollJoiningCircuitEvents
351
391
  */
@@ -365,7 +405,7 @@ export interface IGetPollJoiningCircuitEventsArgs {
365
405
  /**
366
406
  * The user's maci private key
367
407
  */
368
- userMaciPrivKey: PrivKey;
408
+ userMaciPrivateKey: PrivateKey;
369
409
  /**
370
410
  * The signer
371
411
  */
@@ -402,7 +442,7 @@ export interface IGetPollJoiningCircuitInputsFromStateFileArgs {
402
442
  /**
403
443
  * The user's maci private key
404
444
  */
405
- userMaciPrivKey: PrivKey;
445
+ userMaciPrivateKey: PrivateKey;
406
446
  }
407
447
  /**
408
448
  * Interface for the arguments for the is signed up command
@@ -415,7 +455,7 @@ export interface IHasUserSignedUpArgs {
415
455
  /**
416
456
  * The public key of the user
417
457
  */
418
- maciPubKey: string;
458
+ maciPublicKey: string;
419
459
  /**
420
460
  * The signer to use for the transaction
421
461
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/user/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/user/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { PrivKey, PubKey } from "@maci-protocol/domainobjs";
2
- import type { IGetPollJoiningCircuitEventsArgs, IGetPollJoiningCircuitInputsFromStateFileArgs, IParsePollJoinEventsArgs, IParseSignupEventsArgs, IPollJoiningCircuitInputs } from "./types";
3
- import { IGenerateSignUpTree } from "../trees";
4
- import { CircuitInputs } from "../utils/types";
1
+ import { PrivateKey, PublicKey } from "@maci-protocol/domainobjs";
2
+ import type { IGetPollJoiningCircuitEventsArgs, IGetPollJoiningCircuitInputsFromStateFileArgs, IParsePollJoinEventsArgs, IParseSignupEventsArgs, IJoinedUserArgs, IIsNullifierOnChainArgs, IGenerateMaciStateTreeArgs, IGenerateMaciStateTreeWithEndKeyArgs } from "./types";
3
+ import type { IGenerateSignUpTree } from "../trees/types";
4
+ import type { TCircuitInputs } from "../utils/types";
5
+ import type { LeanIMTMerkleProof } from "@zk-kit/lean-imt";
5
6
  /**
6
7
  * Parse the poll joining events from the Poll contract
7
8
  */
@@ -9,6 +10,22 @@ export declare const parsePollJoinEvents: ({ pollContract, startBlock, currentBl
9
10
  pollStateIndex?: string;
10
11
  voiceCredits?: string;
11
12
  }>;
13
+ /**
14
+ * Checks if user is joined to a poll with their public key and get its data
15
+ * @param {IJoinedUserArgs} - The arguments for the join check command
16
+ * @returns user joined or not and poll state index, voice credit balance
17
+ */
18
+ export declare const getJoinedUserData: ({ maciAddress, pollId, pollPublicKey: serializedPollPublicKey, signer, startBlock, }: IJoinedUserArgs) => Promise<{
19
+ isJoined: boolean;
20
+ pollStateIndex?: string;
21
+ voiceCredits?: string;
22
+ }>;
23
+ /**
24
+ * Checks if a user joined a poll with a given nullifier
25
+ * @param {IIsNullifierOnChainArgs} args - The arguments for the is nullifier on chain command
26
+ * @returns whether the nullifier is on chain or not
27
+ */
28
+ export declare const hasUserJoinedPoll: ({ maciAddress, pollId, nullifier, signer, }: IIsNullifierOnChainArgs) => Promise<boolean>;
12
29
  /**
13
30
  * Parse the signup events from the MACI contract
14
31
  */
@@ -17,30 +34,41 @@ export declare const parseSignupEvents: ({ maciContract, startBlock, currentBloc
17
34
  }>;
18
35
  /**
19
36
  * Get state index from maci state leaves or from sign up leaves
20
- * @param pubKeys Public keys from maci state or sign up tree
21
- * @param userMaciPubKey Public key of the maci user
37
+ * @param publicKeys Public keys from maci state or sign up tree
38
+ * @param userMaciPublicKey Public key of the maci user
22
39
  * @param stateIndex State index from the command
23
40
  * @returns State index
24
41
  */
25
- export declare const getStateIndex: (pubKeys: PubKey[], userMaciPubKey: PubKey, stateIndex?: bigint) => bigint | undefined;
42
+ export declare const getStateIndex: (publicKeys: PublicKey[], userMaciPublicKey: PublicKey, stateIndex?: bigint) => bigint | undefined;
26
43
  /**
27
44
  * Create circuit input for pollJoining
28
45
  * @param signUpData Sign up tree and state leaves
29
46
  * @param stateTreeDepth Maci state tree depth
30
- * @param maciPrivKey User's private key for signing up
31
- * @param stateLeafIndex Index where the user is stored in the state leaves
32
- * @param pollPrivKey Poll's private key for the poll joining
33
- * @param pollPubKey Poll's public key for the poll joining
47
+ * @param maciPrivateKey User's private key for signing up
48
+ * @param pollPrivateKey Poll's private key for the poll joining
49
+ * @param pollPublicKey Poll's public key for the poll joining
34
50
  * @param pollId Poll's id
35
51
  * @returns stringified circuit inputs
36
52
  */
37
- export declare const joiningCircuitInputs: (signUpData: IGenerateSignUpTree, stateTreeDepth: bigint, maciPrivKey: PrivKey, stateLeafIndex: bigint, pollPubKey: PubKey, pollId: bigint) => IPollJoiningCircuitInputs;
53
+ export declare const joiningCircuitInputs: (inclusionProof: LeanIMTMerkleProof, stateTreeDepth: bigint, maciPrivateKey: PrivateKey, pollPublicKey: PublicKey, pollId: bigint) => TCircuitInputs;
38
54
  /**
39
55
  * Get the poll joining circuit inputs from a state file
40
56
  * @param stateFile - The path to the state file
41
57
  * @returns The poll joining circuit inputs
42
58
  */
43
- export declare const getPollJoiningCircuitInputsFromStateFile: ({ stateFile, pollId, stateIndex, userMaciPrivKey, }: IGetPollJoiningCircuitInputsFromStateFileArgs) => Promise<CircuitInputs>;
59
+ export declare const getPollJoiningCircuitInputsFromStateFile: ({ stateFile, pollId, stateIndex, userMaciPrivateKey, }: IGetPollJoiningCircuitInputsFromStateFileArgs) => Promise<TCircuitInputs>;
60
+ /**
61
+ * Generate MACI's state tree from the MACI contract
62
+ * @param {IGenerateMaciStateTreeArgs} args - The arguments for the generate maci state tree command
63
+ * @returns The MACI's state tree
64
+ */
65
+ export declare const generateMaciStateTree: ({ maciContract, signer, startBlock, endBlock, blocksPerBatch, }: IGenerateMaciStateTreeArgs) => Promise<IGenerateSignUpTree>;
66
+ /**
67
+ * Generate MACI's state tree from the MACI contract with a given end key
68
+ * @param {IGenerateMaciStateTreeWithEndKeyArgs} args - The arguments for the generate maci state tree command
69
+ * @returns The MACI's state tree
70
+ */
71
+ export declare const generateMaciStateTreeWithEndKey: ({ maciContract, signer, startBlock, endBlock, blocksPerBatch, userPublicKey, }: IGenerateMaciStateTreeWithEndKeyArgs) => Promise<IGenerateSignUpTree>;
44
72
  /**
45
73
  * Get the poll joining circuit events from a state file
46
74
  * @param maciContract - The MACI contract
@@ -48,5 +76,5 @@ export declare const getPollJoiningCircuitInputsFromStateFile: ({ stateFile, pol
48
76
  * @param signer - The signer
49
77
  * @returns The poll joining circuit events
50
78
  */
51
- export declare const getPollJoiningCircuitEvents: ({ maciContract, stateIndex, pollId, userMaciPrivKey, signer, startBlock, endBlock, blocksPerBatch, }: IGetPollJoiningCircuitEventsArgs) => Promise<CircuitInputs>;
79
+ export declare const getPollJoiningCircuitEvents: ({ maciContract, stateIndex, pollId, userMaciPrivateKey, signer, startBlock, endBlock, blocksPerBatch, }: IGetPollJoiningCircuitEventsArgs) => Promise<TCircuitInputs>;
52
80
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/user/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,KAAK,EACV,gCAAgC,EAChC,6CAA6C,EAC7C,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAsB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAU,4DAKvC,wBAAwB,KAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAyBA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAU,wDAKrC,sBAAsB,KAAG,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,EAAE,gBAAgB,MAAM,EAAE,aAAa,MAAM,KAAG,MAAM,GAAG,SAYvG,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,mBAAmB,EAC/B,gBAAgB,MAAM,EACtB,aAAa,OAAO,EACpB,gBAAgB,MAAM,EACtB,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,yBAiDF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wCAAwC,GAAU,qDAK5D,6CAA6C,KAAG,OAAO,CAAC,aAAa,CAwBvE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAU,sGAS/C,gCAAgC,KAAG,OAAO,CAAC,aAAa,CAsC1D,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/user/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,KAAK,EACV,gCAAgC,EAChC,6CAA6C,EAC7C,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,oCAAoC,EACrC,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAU,4DAKvC,wBAAwB,KAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAyBA,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,sFAMrC,eAAe,KAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBjG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,6CAKrC,uBAAuB,KAAG,OAAO,CAAC,OAAO,CAM3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAU,wDAKrC,sBAAsB,KAAG,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,SAAS,EAAE,EACvB,mBAAmB,SAAS,EAC5B,aAAa,MAAM,KAClB,MAAM,GAAG,SAYX,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,kBAAkB,EAClC,gBAAgB,MAAM,EACtB,gBAAgB,UAAU,EAC1B,eAAe,SAAS,EACxB,QAAQ,MAAM,KACb,cA0CF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wCAAwC,GAAU,wDAK5D,6CAA6C,KAAG,OAAO,CAAC,cAAc,CAwBxE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAU,iEAMzC,0BAA0B,KAAG,OAAO,CAAC,mBAAmB,CAgB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAAU,gFAOnD,oCAAoC,KAAG,OAAO,CAAC,mBAAmB,CAgBpE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAU,yGAS/C,gCAAgC,KAAG,OAAO,CAAC,cAAc,CA+B3D,CAAC"}
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getPollJoiningCircuitEvents = exports.getPollJoiningCircuitInputsFromStateFile = exports.joiningCircuitInputs = exports.getStateIndex = exports.parseSignupEvents = exports.parsePollJoinEvents = void 0;
6
+ exports.getPollJoiningCircuitEvents = exports.generateMaciStateTreeWithEndKey = exports.generateMaciStateTree = exports.getPollJoiningCircuitInputsFromStateFile = exports.joiningCircuitInputs = exports.getStateIndex = exports.parseSignupEvents = exports.hasUserJoinedPoll = exports.getJoinedUserData = exports.parsePollJoinEvents = void 0;
7
+ const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
7
8
  const core_1 = require("@maci-protocol/core");
8
9
  const crypto_1 = require("@maci-protocol/crypto");
9
10
  const domainobjs_1 = require("@maci-protocol/domainobjs");
10
11
  const fs_1 = __importDefault(require("fs"));
11
- const trees_1 = require("../trees");
12
+ const stateTree_1 = require("../trees/stateTree");
12
13
  const constants_1 = require("../utils/constants");
13
14
  /**
14
15
  * Parse the poll joining events from the Poll contract
@@ -16,13 +17,13 @@ const constants_1 = require("../utils/constants");
16
17
  const parsePollJoinEvents = async ({ pollContract, startBlock, currentBlock, pollPublicKey, }) => {
17
18
  for (let block = startBlock; block <= currentBlock; block += constants_1.BLOCKS_STEP) {
18
19
  const toBlock = Math.min(block + constants_1.BLOCKS_STEP - 1, currentBlock);
19
- const pubKey = pollPublicKey.asArray();
20
+ const publicKey = pollPublicKey.asArray();
20
21
  // eslint-disable-next-line no-await-in-loop
21
- const newEvents = await pollContract.queryFilter(pollContract.filters.PollJoined(pubKey[0], pubKey[1], undefined, undefined, undefined, undefined), block, toBlock);
22
+ const newEvents = await pollContract.queryFilter(pollContract.filters.PollJoined(publicKey[0], publicKey[1], undefined, undefined, undefined), block, toBlock);
22
23
  if (newEvents.length > 0) {
23
24
  const [event] = newEvents;
24
25
  return {
25
- pollStateIndex: event.args[5].toString(),
26
+ pollStateIndex: event.args[4].toString(),
26
27
  voiceCredits: event.args[2].toString(),
27
28
  };
28
29
  }
@@ -33,6 +34,43 @@ const parsePollJoinEvents = async ({ pollContract, startBlock, currentBlock, pol
33
34
  };
34
35
  };
35
36
  exports.parsePollJoinEvents = parsePollJoinEvents;
37
+ /**
38
+ * Checks if user is joined to a poll with their public key and get its data
39
+ * @param {IJoinedUserArgs} - The arguments for the join check command
40
+ * @returns user joined or not and poll state index, voice credit balance
41
+ */
42
+ const getJoinedUserData = async ({ maciAddress, pollId, pollPublicKey: serializedPollPublicKey, signer, startBlock, }) => {
43
+ const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
44
+ const pollContracts = await maciContract.getPoll(pollId);
45
+ const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
46
+ const pollPublicKey = domainobjs_1.PublicKey.deserialize(serializedPollPublicKey);
47
+ const startBlockNumber = startBlock || 0;
48
+ const currentBlock = await signer.provider.getBlockNumber();
49
+ const { pollStateIndex, voiceCredits } = await (0, exports.parsePollJoinEvents)({
50
+ pollContract,
51
+ startBlock: startBlockNumber,
52
+ currentBlock,
53
+ pollPublicKey,
54
+ });
55
+ return {
56
+ isJoined: pollStateIndex !== undefined,
57
+ pollStateIndex,
58
+ voiceCredits,
59
+ };
60
+ };
61
+ exports.getJoinedUserData = getJoinedUserData;
62
+ /**
63
+ * Checks if a user joined a poll with a given nullifier
64
+ * @param {IIsNullifierOnChainArgs} args - The arguments for the is nullifier on chain command
65
+ * @returns whether the nullifier is on chain or not
66
+ */
67
+ const hasUserJoinedPoll = async ({ maciAddress, pollId, nullifier, signer, }) => {
68
+ const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
69
+ const pollContracts = await maciContract.getPoll(pollId);
70
+ const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
71
+ return pollContract.pollNullifiers(nullifier);
72
+ };
73
+ exports.hasUserJoinedPoll = hasUserJoinedPoll;
36
74
  /**
37
75
  * Parse the signup events from the MACI contract
38
76
  */
@@ -40,7 +78,7 @@ const parseSignupEvents = async ({ maciContract, startBlock, currentBlock, publi
40
78
  for (let block = startBlock; block <= currentBlock; block += constants_1.BLOCKS_STEP) {
41
79
  const toBlock = Math.min(block + constants_1.BLOCKS_STEP - 1, currentBlock);
42
80
  // eslint-disable-next-line no-await-in-loop
43
- const newEvents = await maciContract.queryFilter(maciContract.filters.SignUp(undefined, undefined, publicKey.rawPubKey[0], publicKey.rawPubKey[1]), block, toBlock);
81
+ const newEvents = await maciContract.queryFilter(maciContract.filters.SignUp(undefined, undefined, publicKey.raw[0], publicKey.raw[1]), block, toBlock);
44
82
  if (newEvents.length > 0) {
45
83
  const [event] = newEvents;
46
84
  return {
@@ -55,14 +93,14 @@ const parseSignupEvents = async ({ maciContract, startBlock, currentBlock, publi
55
93
  exports.parseSignupEvents = parseSignupEvents;
56
94
  /**
57
95
  * Get state index from maci state leaves or from sign up leaves
58
- * @param pubKeys Public keys from maci state or sign up tree
59
- * @param userMaciPubKey Public key of the maci user
96
+ * @param publicKeys Public keys from maci state or sign up tree
97
+ * @param userMaciPublicKey Public key of the maci user
60
98
  * @param stateIndex State index from the command
61
99
  * @returns State index
62
100
  */
63
- const getStateIndex = (pubKeys, userMaciPubKey, stateIndex) => {
101
+ const getStateIndex = (publicKeys, userMaciPublicKey, stateIndex) => {
64
102
  if (!stateIndex) {
65
- const index = pubKeys.findIndex((key) => key.equals(userMaciPubKey));
103
+ const index = publicKeys.findIndex((key) => key.equals(userMaciPublicKey));
66
104
  if (index > 0) {
67
105
  return BigInt(index);
68
106
  }
@@ -75,18 +113,15 @@ exports.getStateIndex = getStateIndex;
75
113
  * Create circuit input for pollJoining
76
114
  * @param signUpData Sign up tree and state leaves
77
115
  * @param stateTreeDepth Maci state tree depth
78
- * @param maciPrivKey User's private key for signing up
79
- * @param stateLeafIndex Index where the user is stored in the state leaves
80
- * @param pollPrivKey Poll's private key for the poll joining
81
- * @param pollPubKey Poll's public key for the poll joining
116
+ * @param maciPrivateKey User's private key for signing up
117
+ * @param pollPrivateKey Poll's private key for the poll joining
118
+ * @param pollPublicKey Poll's public key for the poll joining
82
119
  * @param pollId Poll's id
83
120
  * @returns stringified circuit inputs
84
121
  */
85
- const joiningCircuitInputs = (signUpData, stateTreeDepth, maciPrivKey, stateLeafIndex, pollPubKey, pollId) => {
86
- // Get the state leaf on the index position
87
- const { signUpTree: stateTree } = signUpData;
122
+ const joiningCircuitInputs = (inclusionProof, stateTreeDepth, maciPrivateKey, pollPublicKey, pollId) => {
88
123
  // calculate the path elements for the state tree given the original state tree
89
- const { siblings, index } = stateTree.generateProof(Number(stateLeafIndex));
124
+ const { siblings, index, root: stateRoot } = inclusionProof;
90
125
  const siblingsLength = siblings.length;
91
126
  // The index must be converted to a list of indices, 1 for each tree level.
92
127
  // The circuit tree depth is this.stateTreeDepth, so the number of siblings must be this.stateTreeDepth,
@@ -102,16 +137,14 @@ const joiningCircuitInputs = (signUpData, stateTreeDepth, maciPrivKey, stateLeaf
102
137
  }
103
138
  const siblingsArray = siblings.map((sibling) => [sibling]);
104
139
  // Create nullifier from private key
105
- const inputNullifier = BigInt(maciPrivKey.asCircuitInputs());
140
+ const inputNullifier = BigInt(maciPrivateKey.asCircuitInputs());
106
141
  const nullifier = (0, crypto_1.poseidon)([inputNullifier, pollId]);
107
- // Get pll state tree's root
108
- const stateRoot = stateTree.root;
109
142
  // Set actualStateTreeDepth as number of initial siblings length
110
143
  const actualStateTreeDepth = BigInt(siblingsLength);
111
144
  // Calculate public input hash from nullifier, credits and current root
112
145
  const circuitInputs = {
113
- privKey: maciPrivKey.asCircuitInputs(),
114
- pollPubKey: pollPubKey.asCircuitInputs(),
146
+ privateKey: maciPrivateKey.asCircuitInputs(),
147
+ pollPublicKey: pollPublicKey.asCircuitInputs(),
115
148
  siblings: siblingsArray,
116
149
  indices,
117
150
  nullifier,
@@ -127,47 +160,38 @@ exports.joiningCircuitInputs = joiningCircuitInputs;
127
160
  * @param stateFile - The path to the state file
128
161
  * @returns The poll joining circuit inputs
129
162
  */
130
- const getPollJoiningCircuitInputsFromStateFile = async ({ stateFile, pollId, stateIndex, userMaciPrivKey, }) => {
163
+ const getPollJoiningCircuitInputsFromStateFile = async ({ stateFile, pollId, stateIndex, userMaciPrivateKey, }) => {
131
164
  const file = await fs_1.default.promises.readFile(stateFile);
132
165
  const content = JSON.parse(file.toString());
133
166
  const maciState = core_1.MaciState.fromJSON(content);
134
167
  const poll = maciState.polls.get(pollId);
135
- const { pubKey: userPubKey } = new domainobjs_1.Keypair(userMaciPrivKey);
136
- const loadedStateIndex = (0, exports.getStateIndex)(maciState.pubKeys, userPubKey, stateIndex);
168
+ const { publicKey: userPublicKey } = new domainobjs_1.Keypair(userMaciPrivateKey);
169
+ const loadedStateIndex = (0, exports.getStateIndex)(maciState.publicKeys, userPublicKey, stateIndex);
137
170
  // check < 1 cause index zero is a blank state leaf
138
171
  if (loadedStateIndex < 1) {
139
172
  throw new Error("Invalid state index");
140
173
  }
141
- poll.updatePoll(BigInt(maciState.pubKeys.length));
174
+ poll.updatePoll(BigInt(maciState.publicKeys.length));
142
175
  const circuitInputs = poll.joiningCircuitInputs({
143
- maciPrivKey: userMaciPrivKey,
176
+ maciPrivateKey: userMaciPrivateKey,
144
177
  stateLeafIndex: stateIndex,
145
- pollPubKey: userPubKey,
178
+ pollPublicKey: userPublicKey,
146
179
  });
147
180
  return circuitInputs;
148
181
  };
149
182
  exports.getPollJoiningCircuitInputsFromStateFile = getPollJoiningCircuitInputsFromStateFile;
150
183
  /**
151
- * Get the poll joining circuit events from a state file
152
- * @param maciContract - The MACI contract
153
- * @param startBlock - The start block
154
- * @param signer - The signer
155
- * @returns The poll joining circuit events
184
+ * Generate MACI's state tree from the MACI contract
185
+ * @param {IGenerateMaciStateTreeArgs} args - The arguments for the generate maci state tree command
186
+ * @returns The MACI's state tree
156
187
  */
157
- const getPollJoiningCircuitEvents = async ({ maciContract, stateIndex, pollId, userMaciPrivKey, signer, startBlock, endBlock, blocksPerBatch, }) => {
188
+ const generateMaciStateTree = async ({ maciContract, signer, startBlock, endBlock, blocksPerBatch, }) => {
158
189
  // build an off-chain representation of the MACI contract using data in the contract storage
159
- const [defaultStartBlockSignup, defaultStartBlockPoll, stateTreeDepth] = await Promise.all([
160
- maciContract
161
- .queryFilter(maciContract.filters.SignUp(), startBlock ?? 0)
162
- .then((events) => events[0]?.blockNumber ?? 0),
163
- maciContract
164
- .queryFilter(maciContract.filters.DeployPoll(), startBlock ?? 0)
165
- .then((events) => events[0]?.blockNumber ?? 0),
166
- maciContract.stateTreeDepth(),
167
- ]);
168
- const defaultStartBlock = Math.min(defaultStartBlockPoll, defaultStartBlockSignup);
190
+ const defaultStartBlock = await maciContract
191
+ .queryFilter(maciContract.filters.SignUp(), startBlock ?? 0)
192
+ .then((events) => events[0]?.blockNumber ?? 0);
169
193
  const fromBlock = startBlock ? Number(startBlock) : defaultStartBlock;
170
- const signUpData = await (0, trees_1.generateSignUpTree)({
194
+ return (0, stateTree_1.generateSignUpTree)({
171
195
  provider: signer.provider,
172
196
  address: await maciContract.getAddress(),
173
197
  blocksPerRequest: blocksPerBatch || 50,
@@ -175,12 +199,55 @@ const getPollJoiningCircuitEvents = async ({ maciContract, stateIndex, pollId, u
175
199
  endBlock,
176
200
  sleepAmount: 0,
177
201
  });
178
- const { pubKey: userPubKey } = new domainobjs_1.Keypair(userMaciPrivKey);
179
- const loadedStateIndex = (0, exports.getStateIndex)(signUpData.pubKeys, userPubKey, stateIndex);
202
+ };
203
+ exports.generateMaciStateTree = generateMaciStateTree;
204
+ /**
205
+ * Generate MACI's state tree from the MACI contract with a given end key
206
+ * @param {IGenerateMaciStateTreeWithEndKeyArgs} args - The arguments for the generate maci state tree command
207
+ * @returns The MACI's state tree
208
+ */
209
+ const generateMaciStateTreeWithEndKey = async ({ maciContract, signer, startBlock, endBlock, blocksPerBatch, userPublicKey, }) => {
210
+ // build an off-chain representation of the MACI contract using data in the contract storage
211
+ const defaultStartBlock = await maciContract
212
+ .queryFilter(maciContract.filters.SignUp(), startBlock ?? 0)
213
+ .then((events) => events[0]?.blockNumber ?? 0);
214
+ const fromBlock = startBlock ? Number(startBlock) : defaultStartBlock;
215
+ return (0, stateTree_1.generateSignUpTreeWithEndKey)({
216
+ provider: signer.provider,
217
+ address: await maciContract.getAddress(),
218
+ blocksPerRequest: blocksPerBatch || 50,
219
+ fromBlock,
220
+ endBlock,
221
+ userPublicKey,
222
+ });
223
+ };
224
+ exports.generateMaciStateTreeWithEndKey = generateMaciStateTreeWithEndKey;
225
+ /**
226
+ * Get the poll joining circuit events from a state file
227
+ * @param maciContract - The MACI contract
228
+ * @param startBlock - The start block
229
+ * @param signer - The signer
230
+ * @returns The poll joining circuit events
231
+ */
232
+ const getPollJoiningCircuitEvents = async ({ maciContract, stateIndex, pollId, userMaciPrivateKey, signer, startBlock, endBlock, blocksPerBatch, }) => {
233
+ const stateTreeDepth = await maciContract.stateTreeDepth();
234
+ const signUpData = await (0, exports.generateMaciStateTree)({
235
+ maciContract,
236
+ signer,
237
+ startBlock,
238
+ endBlock,
239
+ blocksPerBatch,
240
+ });
241
+ const { publicKey: userPublicKey } = new domainobjs_1.Keypair(userMaciPrivateKey);
242
+ const loadedStateIndex = (0, exports.getStateIndex)(signUpData.publicKeys, userPublicKey, stateIndex);
180
243
  if (loadedStateIndex < 1) {
181
244
  throw new Error("Invalid state index");
182
245
  }
183
- return (0, exports.joiningCircuitInputs)(signUpData, stateTreeDepth, userMaciPrivKey, stateIndex, userPubKey, pollId);
246
+ // Get the state leaf on the index position
247
+ const { signUpTree: stateTree } = signUpData;
248
+ // calculate the path elements for the state tree given the original state tree
249
+ const inclusionProof = stateTree.generateProof(Number(loadedStateIndex));
250
+ return (0, exports.joiningCircuitInputs)(inclusionProof, stateTreeDepth, userMaciPrivateKey, userPublicKey, pollId);
184
251
  };
185
252
  exports.getPollJoiningCircuitEvents = getPollJoiningCircuitEvents;
186
253
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/user/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/user/utils.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ import type { ICircuitParams } from "./types";
3
3
  * Validate the circuit parameters
4
4
  * @param params - The circuit parameters
5
5
  */
6
- export declare const validateParams: ({ stateTreeDepth, intStateTreeDepth, voteOptionTreeDepth, messageBatchSize, }: ICircuitParams) => boolean;
6
+ export declare const validateParams: ({ stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize, }: ICircuitParams) => boolean;
7
7
  //# sourceMappingURL=params.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../ts/utils/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,+EAK5B,cAAc,KAAG,OAWnB,CAAC"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../ts/utils/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,2FAK5B,cAAc,KAAG,OAWnB,CAAC"}
@@ -5,12 +5,12 @@ exports.validateParams = void 0;
5
5
  * Validate the circuit parameters
6
6
  * @param params - The circuit parameters
7
7
  */
8
- const validateParams = ({ stateTreeDepth, intStateTreeDepth, voteOptionTreeDepth, messageBatchSize, }) => {
8
+ const validateParams = ({ stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize, }) => {
9
9
  // validate args
10
- if (stateTreeDepth < 1 || intStateTreeDepth < 1 || voteOptionTreeDepth < 1 || messageBatchSize < 1) {
10
+ if (stateTreeDepth < 1 || tallyProcessingStateTreeDepth < 1 || voteOptionTreeDepth < 1 || messageBatchSize < 1) {
11
11
  throw new Error("Invalid depth or batch size parameters");
12
12
  }
13
- if (stateTreeDepth < intStateTreeDepth) {
13
+ if (stateTreeDepth < tallyProcessingStateTreeDepth) {
14
14
  throw new Error("Invalid state tree depth or intermediate state tree depth");
15
15
  }
16
16
  return true;