@maci-protocol/sdk 0.0.0-ci.9342f07 → 0.0.0-ci.9819a21

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 (212) hide show
  1. package/LICENSE +1 -2
  2. package/build/package.json +16 -8
  3. package/build/ts/browser/index.d.ts +4 -2
  4. package/build/ts/browser/index.d.ts.map +1 -1
  5. package/build/ts/browser/index.js +7 -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 +21 -17
  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 +3 -3
  14. package/build/ts/browser/utils.js.map +1 -1
  15. package/build/ts/deploy/index.d.ts +2 -2
  16. package/build/ts/deploy/index.d.ts.map +1 -1
  17. package/build/ts/deploy/index.js +3 -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 +13 -9
  24. package/build/ts/deploy/poll.js.map +1 -1
  25. package/build/ts/deploy/types.d.ts +19 -10
  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 +3 -2
  34. package/build/ts/index.d.ts.map +1 -1
  35. package/build/ts/index.js +16 -9
  36. package/build/ts/index.js.map +1 -1
  37. package/build/ts/maci/state.d.ts +1 -1
  38. package/build/ts/maci/state.js +8 -8
  39. package/build/ts/maci/state.js.map +1 -1
  40. package/build/ts/maci/types.d.ts +1 -1
  41. package/build/ts/maciKeys/__tests__/keypair.test.js +7 -7
  42. package/build/ts/maciKeys/__tests__/keypair.test.js.map +1 -1
  43. package/build/ts/maciKeys/__tests__/publicKeys.test.js +7 -7
  44. package/build/ts/maciKeys/__tests__/publicKeys.test.js.map +1 -1
  45. package/build/ts/maciKeys/keypair.d.ts.map +1 -1
  46. package/build/ts/maciKeys/keypair.js +4 -3
  47. package/build/ts/maciKeys/keypair.js.map +1 -1
  48. package/build/ts/maciKeys/publicKeys.d.ts +2 -2
  49. package/build/ts/maciKeys/publicKeys.d.ts.map +1 -1
  50. package/build/ts/maciKeys/publicKeys.js +6 -6
  51. package/build/ts/maciKeys/publicKeys.js.map +1 -1
  52. package/build/ts/maciKeys/types.d.ts +5 -0
  53. package/build/ts/maciKeys/types.d.ts.map +1 -1
  54. package/build/ts/poll/poll.d.ts.map +1 -1
  55. package/build/ts/poll/poll.js +9 -9
  56. package/build/ts/poll/poll.js.map +1 -1
  57. package/build/ts/poll/types.d.ts +6 -6
  58. package/build/ts/poll/types.d.ts.map +1 -1
  59. package/build/ts/proof/__tests__/download.test.js +8 -5
  60. package/build/ts/proof/__tests__/download.test.js.map +1 -1
  61. package/build/ts/proof/download.d.ts +3 -3
  62. package/build/ts/proof/download.d.ts.map +1 -1
  63. package/build/ts/proof/download.js +5 -7
  64. package/build/ts/proof/download.js.map +1 -1
  65. package/build/ts/proof/generate.d.ts +2 -2
  66. package/build/ts/proof/generate.d.ts.map +1 -1
  67. package/build/ts/proof/generate.js +29 -23
  68. package/build/ts/proof/generate.js.map +1 -1
  69. package/build/ts/proof/prove.js +13 -13
  70. package/build/ts/proof/prove.js.map +1 -1
  71. package/build/ts/proof/types.d.ts +40 -14
  72. package/build/ts/proof/types.d.ts.map +1 -1
  73. package/build/ts/proof/utils.d.ts +10 -0
  74. package/build/ts/proof/utils.d.ts.map +1 -0
  75. package/build/ts/proof/utils.js +24 -0
  76. package/build/ts/proof/utils.js.map +1 -0
  77. package/build/ts/relayer/__tests__/messages.test.js +1 -1
  78. package/build/ts/relayer/__tests__/messages.test.js.map +1 -1
  79. package/build/ts/relayer/__tests__/utils.test.js +3 -3
  80. package/build/ts/relayer/__tests__/utils.test.js.map +1 -1
  81. package/build/ts/relayer/messages.js +1 -1
  82. package/build/ts/relayer/utils.js +1 -1
  83. package/build/ts/relayer/utils.js.map +1 -1
  84. package/build/ts/subgraph/index.d.ts +3 -0
  85. package/build/ts/subgraph/index.d.ts.map +1 -0
  86. package/build/ts/subgraph/index.js +18 -0
  87. package/build/ts/subgraph/index.js.map +1 -0
  88. package/build/ts/subgraph/maciSubgraph.d.ts +28 -0
  89. package/build/ts/subgraph/maciSubgraph.d.ts.map +1 -0
  90. package/build/ts/subgraph/maciSubgraph.js +64 -0
  91. package/build/ts/subgraph/maciSubgraph.js.map +1 -0
  92. package/build/ts/subgraph/types.d.ts +20 -0
  93. package/build/ts/subgraph/types.d.ts.map +1 -0
  94. package/build/ts/subgraph/types.js +3 -0
  95. package/build/ts/subgraph/types.js.map +1 -0
  96. package/build/ts/tally/commitments.d.ts.map +1 -1
  97. package/build/ts/tally/commitments.js +8 -7
  98. package/build/ts/tally/commitments.js.map +1 -1
  99. package/build/ts/tally/index.d.ts +2 -1
  100. package/build/ts/tally/index.d.ts.map +1 -1
  101. package/build/ts/tally/index.js +5 -1
  102. package/build/ts/tally/index.js.map +1 -1
  103. package/build/ts/tally/results.d.ts +20 -0
  104. package/build/ts/tally/results.d.ts.map +1 -0
  105. package/build/ts/tally/results.js +49 -0
  106. package/build/ts/tally/results.js.map +1 -0
  107. package/build/ts/tally/types.d.ts +55 -15
  108. package/build/ts/tally/types.d.ts.map +1 -1
  109. package/build/ts/tally/utils.d.ts +3 -3
  110. package/build/ts/tally/utils.d.ts.map +1 -1
  111. package/build/ts/tally/utils.js +10 -10
  112. package/build/ts/tally/utils.js.map +1 -1
  113. package/build/ts/tally/verification.d.ts +1 -1
  114. package/build/ts/tally/verification.d.ts.map +1 -1
  115. package/build/ts/tally/verification.js +10 -10
  116. package/build/ts/tally/verification.js.map +1 -1
  117. package/build/ts/trees/index.d.ts +2 -2
  118. package/build/ts/trees/index.d.ts.map +1 -1
  119. package/build/ts/trees/index.js +3 -1
  120. package/build/ts/trees/index.js.map +1 -1
  121. package/build/ts/trees/stateTree.d.ts +23 -1
  122. package/build/ts/trees/stateTree.d.ts.map +1 -1
  123. package/build/ts/trees/stateTree.js +74 -13
  124. package/build/ts/trees/stateTree.js.map +1 -1
  125. package/build/ts/trees/types.d.ts +11 -2
  126. package/build/ts/trees/types.d.ts.map +1 -1
  127. package/build/ts/user/index.d.ts +2 -2
  128. package/build/ts/user/index.d.ts.map +1 -1
  129. package/build/ts/user/index.js +5 -1
  130. package/build/ts/user/index.js.map +1 -1
  131. package/build/ts/user/joinPoll.d.ts +1 -1
  132. package/build/ts/user/joinPoll.d.ts.map +1 -1
  133. package/build/ts/user/joinPoll.js +11 -11
  134. package/build/ts/user/joinPoll.js.map +1 -1
  135. package/build/ts/user/signup.d.ts +3 -3
  136. package/build/ts/user/signup.d.ts.map +1 -1
  137. package/build/ts/user/signup.js +26 -21
  138. package/build/ts/user/signup.js.map +1 -1
  139. package/build/ts/user/types.d.ts +63 -19
  140. package/build/ts/user/types.d.ts.map +1 -1
  141. package/build/ts/user/utils.d.ts +34 -14
  142. package/build/ts/user/utils.d.ts.map +1 -1
  143. package/build/ts/user/utils.js +91 -57
  144. package/build/ts/user/utils.js.map +1 -1
  145. package/build/ts/utils/index.d.ts +1 -1
  146. package/build/ts/utils/index.d.ts.map +1 -1
  147. package/build/ts/utils/index.js +2 -1
  148. package/build/ts/utils/index.js.map +1 -1
  149. package/build/ts/utils/params.d.ts +1 -1
  150. package/build/ts/utils/params.d.ts.map +1 -1
  151. package/build/ts/utils/params.js +3 -3
  152. package/build/ts/utils/params.js.map +1 -1
  153. package/build/ts/utils/proofs.d.ts +2 -2
  154. package/build/ts/utils/proofs.d.ts.map +1 -1
  155. package/build/ts/utils/proofs.js +4 -4
  156. package/build/ts/utils/proofs.js.map +1 -1
  157. package/build/ts/utils/types.d.ts +2 -2
  158. package/build/ts/utils/types.d.ts.map +1 -1
  159. package/build/ts/utils/utils.d.ts +5 -0
  160. package/build/ts/utils/utils.d.ts.map +1 -1
  161. package/build/ts/utils/utils.js +13 -1
  162. package/build/ts/utils/utils.js.map +1 -1
  163. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts +1 -1
  164. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts.map +1 -1
  165. package/build/ts/verifyingKeys/checkVerifyingKeys.js +18 -19
  166. package/build/ts/verifyingKeys/checkVerifyingKeys.js.map +1 -1
  167. package/build/ts/verifyingKeys/index.d.ts +2 -2
  168. package/build/ts/verifyingKeys/index.d.ts.map +1 -1
  169. package/build/ts/verifyingKeys/index.js +5 -5
  170. package/build/ts/verifyingKeys/index.js.map +1 -1
  171. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts +1 -1
  172. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
  173. package/build/ts/verifyingKeys/setVerifyingKeys.js +75 -41
  174. package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
  175. package/build/ts/verifyingKeys/types.d.ts +56 -48
  176. package/build/ts/verifyingKeys/types.d.ts.map +1 -1
  177. package/build/ts/verifyingKeys/utils.d.ts +10 -10
  178. package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
  179. package/build/ts/verifyingKeys/utils.js +75 -60
  180. package/build/ts/verifyingKeys/utils.js.map +1 -1
  181. package/build/ts/vote/generate.d.ts +1 -1
  182. package/build/ts/vote/generate.d.ts.map +1 -1
  183. package/build/ts/vote/generate.js +4 -4
  184. package/build/ts/vote/generate.js.map +1 -1
  185. package/build/ts/vote/index.d.ts +2 -1
  186. package/build/ts/vote/index.d.ts.map +1 -1
  187. package/build/ts/vote/index.js +4 -2
  188. package/build/ts/vote/index.js.map +1 -1
  189. package/build/ts/vote/invalidate.js +4 -4
  190. package/build/ts/vote/invalidate.js.map +1 -1
  191. package/build/ts/vote/publish.d.ts +1 -1
  192. package/build/ts/vote/publish.d.ts.map +1 -1
  193. package/build/ts/vote/publish.js +19 -19
  194. package/build/ts/vote/publish.js.map +1 -1
  195. package/build/ts/vote/submit.js +2 -2
  196. package/build/ts/vote/submit.js.map +1 -1
  197. package/build/ts/vote/types.d.ts +6 -6
  198. package/build/ts/vote/types.d.ts.map +1 -1
  199. package/build/ts/vote/utils.d.ts +2 -2
  200. package/build/ts/vote/utils.d.ts.map +1 -1
  201. package/build/ts/vote/utils.js +5 -5
  202. package/build/ts/vote/utils.js.map +1 -1
  203. package/build/tsconfig.build.tsbuildinfo +1 -1
  204. package/package.json +22 -14
  205. package/build/ts/deploy/vkRegistry.d.ts +0 -7
  206. package/build/ts/deploy/vkRegistry.d.ts.map +0 -1
  207. package/build/ts/deploy/vkRegistry.js +0 -14
  208. package/build/ts/deploy/vkRegistry.js.map +0 -1
  209. package/build/ts/proof/constants.d.ts +0 -17
  210. package/build/ts/proof/constants.d.ts.map +0 -1
  211. package/build/ts/proof/constants.js +0 -20
  212. package/build/ts/proof/constants.js.map +0 -1
@@ -1,5 +1,6 @@
1
+ import { type 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,7 +202,7 @@ 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
  */
@@ -244,11 +245,7 @@ export interface IJoinPollArgs {
244
245
  */
245
246
  pollId: bigint;
246
247
  /**
247
- * The index of the public key in the state tree
248
- */
249
- stateIndex?: bigint;
250
- /**
251
- * Path to the state file with MACI state
248
+ * Path to the state file with MACI state. Not available in the browser's SDK
252
249
  */
253
250
  stateFile?: string;
254
251
  /**
@@ -280,9 +277,9 @@ export interface IJoinPollArgs {
280
277
  */
281
278
  rapidsnark?: string;
282
279
  /**
283
- * The path to the poll witnessgen binary
280
+ * The path to the poll witness generator binary
284
281
  */
285
- pollWitgen?: string;
282
+ pollWitnessGenerator?: string;
286
283
  /**
287
284
  * The path to the poll wasm file
288
285
  */
@@ -296,6 +293,19 @@ export interface IJoinPollArgs {
296
293
  */
297
294
  ivcpDataArg: string;
298
295
  }
296
+ /**
297
+ * Interface for the arguments to the joinPoll command for the browser
298
+ */
299
+ export interface IJoinPollBrowserArgs extends IJoinPollArgs {
300
+ /**
301
+ * Whether to use of not the latest state index
302
+ */
303
+ useLatestStateIndex?: boolean;
304
+ /**
305
+ * The inclusion proof
306
+ */
307
+ inclusionProof?: LeanIMTMerkleProof;
308
+ }
299
309
  /**
300
310
  * Interface for the return data to the joinPoll command
301
311
  */
@@ -338,6 +348,40 @@ export interface IIsNullifierOnChainArgs {
338
348
  */
339
349
  signer: Signer;
340
350
  }
351
+ /**
352
+ * Arguments for IGenerateMaciStateTreeArgs
353
+ */
354
+ export interface IGenerateMaciStateTreeArgs {
355
+ /**
356
+ * The MACI contract address
357
+ */
358
+ maciContractAddress: string;
359
+ /**
360
+ * The signer
361
+ */
362
+ signer: Signer;
363
+ /**
364
+ * The start block
365
+ */
366
+ startBlock?: number;
367
+ /**
368
+ * The end block
369
+ */
370
+ endBlock?: number;
371
+ /**
372
+ * The blocks per batch
373
+ */
374
+ blocksPerBatch?: number;
375
+ }
376
+ /**
377
+ * Arguments for IGenerateMaciStateTreeWithEndKeyArgs
378
+ */
379
+ export interface IGenerateMaciStateTreeWithEndKeyArgs extends IGenerateMaciStateTreeArgs {
380
+ /**
381
+ * The public key of the user
382
+ */
383
+ userPublicKey: PublicKey;
384
+ }
341
385
  /**
342
386
  * Arguments for getPollJoiningCircuitEvents
343
387
  */
@@ -357,7 +401,7 @@ export interface IGetPollJoiningCircuitEventsArgs {
357
401
  /**
358
402
  * The user's maci private key
359
403
  */
360
- userMaciPrivKey: PrivKey;
404
+ userMaciPrivateKey: PrivateKey;
361
405
  /**
362
406
  * The signer
363
407
  */
@@ -394,7 +438,7 @@ export interface IGetPollJoiningCircuitInputsFromStateFileArgs {
394
438
  /**
395
439
  * The user's maci private key
396
440
  */
397
- userMaciPrivKey: PrivKey;
441
+ userMaciPrivateKey: PrivateKey;
398
442
  }
399
443
  /**
400
444
  * Interface for the arguments for the is signed up command
@@ -407,7 +451,7 @@ export interface IHasUserSignedUpArgs {
407
451
  /**
408
452
  * The public key of the user
409
453
  */
410
- maciPubKey: string;
454
+ maciPublicKey: string;
411
455
  /**
412
456
  * The signer to use for the transaction
413
457
  */
@@ -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,9 @@
1
- import { PrivKey, PubKey } from "@maci-protocol/domainobjs";
2
- import type { IGetPollJoiningCircuitEventsArgs, IGetPollJoiningCircuitInputsFromStateFileArgs, IParsePollJoinEventsArgs, IParseSignupEventsArgs, IPollJoiningCircuitInputs, IJoinedUserArgs, IIsNullifierOnChainArgs } from "./types";
1
+ import { type MACI } from "@maci-protocol/contracts/typechain-types";
2
+ import { type PrivateKey, PublicKey } from "@maci-protocol/domainobjs";
3
+ import type { IGetPollJoiningCircuitEventsArgs, IGetPollJoiningCircuitInputsFromStateFileArgs, IParsePollJoinEventsArgs, IParseSignupEventsArgs, IJoinedUserArgs, IIsNullifierOnChainArgs, IGenerateMaciStateTreeArgs, IGenerateMaciStateTreeWithEndKeyArgs } from "./types";
3
4
  import type { IGenerateSignUpTree } from "../trees/types";
4
- import type { CircuitInputs } from "../utils/types";
5
+ import type { TCircuitInputs } from "../utils/types";
6
+ import type { LeanIMTMerkleProof } from "@zk-kit/lean-imt";
5
7
  /**
6
8
  * Parse the poll joining events from the Poll contract
7
9
  */
@@ -14,7 +16,7 @@ export declare const parsePollJoinEvents: ({ pollContract, startBlock, currentBl
14
16
  * @param {IJoinedUserArgs} - The arguments for the join check command
15
17
  * @returns user joined or not and poll state index, voice credit balance
16
18
  */
17
- export declare const getJoinedUserData: ({ maciAddress, pollId, pollPubKey, signer, startBlock, }: IJoinedUserArgs) => Promise<{
19
+ export declare const getJoinedUserData: ({ maciAddress, pollId, pollPublicKey: serializedPollPublicKey, signer, startBlock, }: IJoinedUserArgs) => Promise<{
18
20
  isJoined: boolean;
19
21
  pollStateIndex?: string;
20
22
  voiceCredits?: string;
@@ -33,30 +35,48 @@ export declare const parseSignupEvents: ({ maciContract, startBlock, currentBloc
33
35
  }>;
34
36
  /**
35
37
  * Get state index from maci state leaves or from sign up leaves
36
- * @param pubKeys Public keys from maci state or sign up tree
37
- * @param userMaciPubKey Public key of the maci user
38
+ * @param publicKeys Public keys from maci state or sign up tree
39
+ * @param userMaciPublicKey Public key of the maci user
38
40
  * @param stateIndex State index from the command
39
41
  * @returns State index
40
42
  */
41
- export declare const getStateIndex: (pubKeys: PubKey[], userMaciPubKey: PubKey, stateIndex?: bigint) => bigint | undefined;
43
+ export declare const getStateIndex: (publicKeys: PublicKey[], userMaciPublicKey: PublicKey, stateIndex?: bigint) => bigint | undefined;
42
44
  /**
43
45
  * Create circuit input for pollJoining
44
46
  * @param signUpData Sign up tree and state leaves
45
47
  * @param stateTreeDepth Maci state tree depth
46
- * @param maciPrivKey User's private key for signing up
47
- * @param stateLeafIndex Index where the user is stored in the state leaves
48
- * @param pollPrivKey Poll's private key for the poll joining
49
- * @param pollPubKey Poll's public key for the poll joining
48
+ * @param maciPrivateKey User's private key for signing up
49
+ * @param pollPrivateKey Poll's private key for the poll joining
50
+ * @param pollPublicKey Poll's public key for the poll joining
50
51
  * @param pollId Poll's id
51
52
  * @returns stringified circuit inputs
52
53
  */
53
- export declare const joiningCircuitInputs: (signUpData: IGenerateSignUpTree, stateTreeDepth: bigint, maciPrivKey: PrivKey, stateLeafIndex: bigint, pollPubKey: PubKey, pollId: bigint) => IPollJoiningCircuitInputs;
54
+ export declare const joiningCircuitInputs: (inclusionProof: LeanIMTMerkleProof, stateTreeDepth: bigint, maciPrivateKey: PrivateKey, pollPublicKey: PublicKey, pollId: bigint) => TCircuitInputs;
54
55
  /**
55
56
  * Get the poll joining circuit inputs from a state file
56
57
  * @param stateFile - The path to the state file
57
58
  * @returns The poll joining circuit inputs
58
59
  */
59
- export declare const getPollJoiningCircuitInputsFromStateFile: ({ stateFile, pollId, stateIndex, userMaciPrivKey, }: IGetPollJoiningCircuitInputsFromStateFileArgs) => Promise<CircuitInputs>;
60
+ export declare const getPollJoiningCircuitInputsFromStateFile: ({ stateFile, pollId, stateIndex, userMaciPrivateKey, }: IGetPollJoiningCircuitInputsFromStateFileArgs) => Promise<TCircuitInputs>;
61
+ /**
62
+ * Get the block number when the first SignUp event was emitted
63
+ * @param maciContract - The MACI contract to fetch events from
64
+ * @param startBlock - The block number to start searching from (optional)
65
+ * @returns The block number when the first SignUp event was emitted
66
+ */
67
+ export declare const getFirstSignUpBlockNumber: (maciContract: MACI, startBlock?: number) => Promise<number>;
68
+ /**
69
+ * Generate MACI's state tree from the MACI contract
70
+ * @param {IGenerateMaciStateTreeArgs} args - The arguments for the generate maci state tree command
71
+ * @returns The MACI's state tree
72
+ */
73
+ export declare const generateMaciStateTree: ({ maciContractAddress, signer, startBlock, endBlock, blocksPerBatch, }: IGenerateMaciStateTreeArgs) => Promise<IGenerateSignUpTree>;
74
+ /**
75
+ * Generate MACI's state tree from the MACI contract with a given end key
76
+ * @param {IGenerateMaciStateTreeWithEndKeyArgs} args - The arguments for the generate maci state tree command
77
+ * @returns The MACI's state tree
78
+ */
79
+ export declare const generateMaciStateTreeWithEndKey: ({ maciContractAddress, signer, startBlock, endBlock, blocksPerBatch, userPublicKey, }: IGenerateMaciStateTreeWithEndKeyArgs) => Promise<IGenerateSignUpTree>;
60
80
  /**
61
81
  * Get the poll joining circuit events from a state file
62
82
  * @param maciContract - The MACI contract
@@ -64,5 +84,5 @@ export declare const getPollJoiningCircuitInputsFromStateFile: ({ stateFile, pol
64
84
  * @param signer - The signer
65
85
  * @returns The poll joining circuit events
66
86
  */
67
- export declare const getPollJoiningCircuitEvents: ({ maciContract, stateIndex, pollId, userMaciPrivKey, signer, startBlock, endBlock, blocksPerBatch, }: IGetPollJoiningCircuitEventsArgs) => Promise<CircuitInputs>;
87
+ export declare const getPollJoiningCircuitEvents: ({ maciContract, stateIndex, pollId, userMaciPrivateKey, signer, startBlock, endBlock, blocksPerBatch, }: IGetPollJoiningCircuitEventsArgs) => Promise<TCircuitInputs>;
68
88
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/user/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,KAAK,EACV,gCAAgC,EAChC,6CAA6C,EAC7C,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD;;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,0DAMrC,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,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":"AAAA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAW,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAIhF,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,cAiCF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wCAAwC,GAAU,wDAK5D,6CAA6C,KAAG,OAAO,CAAC,cAAc,CAwBxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAU,cAAc,IAAI,EAAE,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,CAMvG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAU,wEAMzC,0BAA0B,KAAG,OAAO,CAAC,mBAAmB,CAc1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAAU,uFAOnD,oCAAoC,KAAG,OAAO,CAAC,mBAAmB,CAcpE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAU,yGAS/C,gCAAgC,KAAG,OAAO,CAAC,cAAc,CAkC3D,CAAC"}
@@ -3,7 +3,7 @@ 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.hasUserJoinedPoll = exports.getJoinedUserData = exports.parsePollJoinEvents = void 0;
6
+ exports.getPollJoiningCircuitEvents = exports.generateMaciStateTreeWithEndKey = exports.generateMaciStateTree = exports.getFirstSignUpBlockNumber = exports.getPollJoiningCircuitInputsFromStateFile = exports.joiningCircuitInputs = exports.getStateIndex = exports.parseSignupEvents = exports.hasUserJoinedPoll = exports.getJoinedUserData = exports.parsePollJoinEvents = void 0;
7
7
  const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
8
8
  const core_1 = require("@maci-protocol/core");
9
9
  const crypto_1 = require("@maci-protocol/crypto");
@@ -17,9 +17,9 @@ const constants_1 = require("../utils/constants");
17
17
  const parsePollJoinEvents = async ({ pollContract, startBlock, currentBlock, pollPublicKey, }) => {
18
18
  for (let block = startBlock; block <= currentBlock; block += constants_1.BLOCKS_STEP) {
19
19
  const toBlock = Math.min(block + constants_1.BLOCKS_STEP - 1, currentBlock);
20
- const pubKey = pollPublicKey.asArray();
20
+ const publicKey = pollPublicKey.asArray();
21
21
  // eslint-disable-next-line no-await-in-loop
22
- const newEvents = await pollContract.queryFilter(pollContract.filters.PollJoined(pubKey[0], pubKey[1], undefined, undefined, undefined), block, toBlock);
22
+ const newEvents = await pollContract.queryFilter(pollContract.filters.PollJoined(publicKey[0], publicKey[1], undefined, undefined, undefined), block, toBlock);
23
23
  if (newEvents.length > 0) {
24
24
  const [event] = newEvents;
25
25
  return {
@@ -39,11 +39,11 @@ exports.parsePollJoinEvents = parsePollJoinEvents;
39
39
  * @param {IJoinedUserArgs} - The arguments for the join check command
40
40
  * @returns user joined or not and poll state index, voice credit balance
41
41
  */
42
- const getJoinedUserData = async ({ maciAddress, pollId, pollPubKey, signer, startBlock, }) => {
42
+ const getJoinedUserData = async ({ maciAddress, pollId, pollPublicKey: serializedPollPublicKey, signer, startBlock, }) => {
43
43
  const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
44
44
  const pollContracts = await maciContract.getPoll(pollId);
45
45
  const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
46
- const pollPublicKey = domainobjs_1.PubKey.deserialize(pollPubKey);
46
+ const pollPublicKey = domainobjs_1.PublicKey.deserialize(serializedPollPublicKey);
47
47
  const startBlockNumber = startBlock || 0;
48
48
  const currentBlock = await signer.provider.getBlockNumber();
49
49
  const { pollStateIndex, voiceCredits } = await (0, exports.parsePollJoinEvents)({
@@ -78,7 +78,7 @@ const parseSignupEvents = async ({ maciContract, startBlock, currentBlock, publi
78
78
  for (let block = startBlock; block <= currentBlock; block += constants_1.BLOCKS_STEP) {
79
79
  const toBlock = Math.min(block + constants_1.BLOCKS_STEP - 1, currentBlock);
80
80
  // eslint-disable-next-line no-await-in-loop
81
- 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);
82
82
  if (newEvents.length > 0) {
83
83
  const [event] = newEvents;
84
84
  return {
@@ -93,14 +93,14 @@ const parseSignupEvents = async ({ maciContract, startBlock, currentBlock, publi
93
93
  exports.parseSignupEvents = parseSignupEvents;
94
94
  /**
95
95
  * Get state index from maci state leaves or from sign up leaves
96
- * @param pubKeys Public keys from maci state or sign up tree
97
- * @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
98
98
  * @param stateIndex State index from the command
99
99
  * @returns State index
100
100
  */
101
- const getStateIndex = (pubKeys, userMaciPubKey, stateIndex) => {
101
+ const getStateIndex = (publicKeys, userMaciPublicKey, stateIndex) => {
102
102
  if (!stateIndex) {
103
- const index = pubKeys.findIndex((key) => key.equals(userMaciPubKey));
103
+ const index = publicKeys.findIndex((key) => key.equals(userMaciPublicKey));
104
104
  if (index > 0) {
105
105
  return BigInt(index);
106
106
  }
@@ -113,45 +113,33 @@ exports.getStateIndex = getStateIndex;
113
113
  * Create circuit input for pollJoining
114
114
  * @param signUpData Sign up tree and state leaves
115
115
  * @param stateTreeDepth Maci state tree depth
116
- * @param maciPrivKey User's private key for signing up
117
- * @param stateLeafIndex Index where the user is stored in the state leaves
118
- * @param pollPrivKey Poll's private key for the poll joining
119
- * @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
120
119
  * @param pollId Poll's id
121
120
  * @returns stringified circuit inputs
122
121
  */
123
- const joiningCircuitInputs = (signUpData, stateTreeDepth, maciPrivKey, stateLeafIndex, pollPubKey, pollId) => {
124
- // Get the state leaf on the index position
125
- const { signUpTree: stateTree } = signUpData;
122
+ const joiningCircuitInputs = (inclusionProof, stateTreeDepth, maciPrivateKey, pollPublicKey, pollId) => {
126
123
  // calculate the path elements for the state tree given the original state tree
127
- const { siblings, index } = stateTree.generateProof(Number(stateLeafIndex));
124
+ const { siblings, index, root: stateRoot } = inclusionProof;
128
125
  const siblingsLength = siblings.length;
129
- // The index must be converted to a list of indices, 1 for each tree level.
130
- // The circuit tree depth is this.stateTreeDepth, so the number of siblings must be this.stateTreeDepth,
131
- // even if the tree depth is actually 3. The missing siblings can be set to 0, as they
132
- // won't be used to calculate the root in the circuit.
133
- const indices = [];
134
126
  for (let i = 0; i < stateTreeDepth; i += 1) {
135
- // eslint-disable-next-line no-bitwise
136
- indices.push(BigInt((index >> i) & 1));
137
127
  if (i >= siblingsLength) {
138
128
  siblings[i] = BigInt(0);
139
129
  }
140
130
  }
141
131
  const siblingsArray = siblings.map((sibling) => [sibling]);
142
132
  // Create nullifier from private key
143
- const inputNullifier = BigInt(maciPrivKey.asCircuitInputs());
133
+ const inputNullifier = BigInt(maciPrivateKey.asCircuitInputs());
144
134
  const nullifier = (0, crypto_1.poseidon)([inputNullifier, pollId]);
145
- // Get pll state tree's root
146
- const stateRoot = stateTree.root;
147
135
  // Set actualStateTreeDepth as number of initial siblings length
148
136
  const actualStateTreeDepth = BigInt(siblingsLength);
149
137
  // Calculate public input hash from nullifier, credits and current root
150
138
  const circuitInputs = {
151
- privKey: maciPrivKey.asCircuitInputs(),
152
- pollPubKey: pollPubKey.asCircuitInputs(),
139
+ privateKey: maciPrivateKey.asCircuitInputs(),
140
+ pollPublicKey: pollPublicKey.asCircuitInputs(),
153
141
  siblings: siblingsArray,
154
- indices,
142
+ index: BigInt(index),
155
143
  nullifier,
156
144
  stateRoot,
157
145
  actualStateTreeDepth,
@@ -165,26 +153,77 @@ exports.joiningCircuitInputs = joiningCircuitInputs;
165
153
  * @param stateFile - The path to the state file
166
154
  * @returns The poll joining circuit inputs
167
155
  */
168
- const getPollJoiningCircuitInputsFromStateFile = async ({ stateFile, pollId, stateIndex, userMaciPrivKey, }) => {
156
+ const getPollJoiningCircuitInputsFromStateFile = async ({ stateFile, pollId, stateIndex, userMaciPrivateKey, }) => {
169
157
  const file = await fs_1.default.promises.readFile(stateFile);
170
158
  const content = JSON.parse(file.toString());
171
159
  const maciState = core_1.MaciState.fromJSON(content);
172
160
  const poll = maciState.polls.get(pollId);
173
- const { pubKey: userPubKey } = new domainobjs_1.Keypair(userMaciPrivKey);
174
- const loadedStateIndex = (0, exports.getStateIndex)(maciState.pubKeys, userPubKey, stateIndex);
161
+ const { publicKey: userPublicKey } = new domainobjs_1.Keypair(userMaciPrivateKey);
162
+ const loadedStateIndex = (0, exports.getStateIndex)(maciState.publicKeys, userPublicKey, stateIndex);
175
163
  // check < 1 cause index zero is a blank state leaf
176
164
  if (loadedStateIndex < 1) {
177
165
  throw new Error("Invalid state index");
178
166
  }
179
- poll.updatePoll(BigInt(maciState.pubKeys.length));
167
+ poll.updatePoll(BigInt(maciState.publicKeys.length));
180
168
  const circuitInputs = poll.joiningCircuitInputs({
181
- maciPrivKey: userMaciPrivKey,
169
+ maciPrivateKey: userMaciPrivateKey,
182
170
  stateLeafIndex: stateIndex,
183
- pollPubKey: userPubKey,
171
+ pollPublicKey: userPublicKey,
184
172
  });
185
173
  return circuitInputs;
186
174
  };
187
175
  exports.getPollJoiningCircuitInputsFromStateFile = getPollJoiningCircuitInputsFromStateFile;
176
+ /**
177
+ * Get the block number when the first SignUp event was emitted
178
+ * @param maciContract - The MACI contract to fetch events from
179
+ * @param startBlock - The block number to start searching from (optional)
180
+ * @returns The block number when the first SignUp event was emitted
181
+ */
182
+ const getFirstSignUpBlockNumber = async (maciContract, startBlock) => {
183
+ if (startBlock) {
184
+ return startBlock;
185
+ }
186
+ return maciContract.queryFilter(maciContract.filters.SignUp(), 0).then((events) => events[0]?.blockNumber ?? 0);
187
+ };
188
+ exports.getFirstSignUpBlockNumber = getFirstSignUpBlockNumber;
189
+ /**
190
+ * Generate MACI's state tree from the MACI contract
191
+ * @param {IGenerateMaciStateTreeArgs} args - The arguments for the generate maci state tree command
192
+ * @returns The MACI's state tree
193
+ */
194
+ const generateMaciStateTree = async ({ maciContractAddress, signer, startBlock, endBlock, blocksPerBatch, }) => {
195
+ const maciContract = typechain_types_1.MACI__factory.connect(maciContractAddress, signer);
196
+ // build an off-chain representation of the MACI contract using data in the contract storage
197
+ const fromBlock = await (0, exports.getFirstSignUpBlockNumber)(maciContract, startBlock);
198
+ return (0, stateTree_1.generateSignUpTree)({
199
+ provider: signer.provider,
200
+ address: await maciContract.getAddress(),
201
+ blocksPerRequest: blocksPerBatch || 50,
202
+ fromBlock,
203
+ endBlock,
204
+ sleepAmount: 0,
205
+ });
206
+ };
207
+ exports.generateMaciStateTree = generateMaciStateTree;
208
+ /**
209
+ * Generate MACI's state tree from the MACI contract with a given end key
210
+ * @param {IGenerateMaciStateTreeWithEndKeyArgs} args - The arguments for the generate maci state tree command
211
+ * @returns The MACI's state tree
212
+ */
213
+ const generateMaciStateTreeWithEndKey = async ({ maciContractAddress, signer, startBlock, endBlock, blocksPerBatch, userPublicKey, }) => {
214
+ const maciContract = typechain_types_1.MACI__factory.connect(maciContractAddress, signer);
215
+ // build an off-chain representation of the MACI contract using data in the contract storage
216
+ const fromBlock = await (0, exports.getFirstSignUpBlockNumber)(maciContract, startBlock);
217
+ return (0, stateTree_1.generateSignUpTreeWithEndKey)({
218
+ provider: signer.provider,
219
+ address: await maciContract.getAddress(),
220
+ blocksPerRequest: blocksPerBatch || 50,
221
+ fromBlock,
222
+ endBlock,
223
+ userPublicKey,
224
+ });
225
+ };
226
+ exports.generateMaciStateTreeWithEndKey = generateMaciStateTreeWithEndKey;
188
227
  /**
189
228
  * Get the poll joining circuit events from a state file
190
229
  * @param maciContract - The MACI contract
@@ -192,33 +231,28 @@ exports.getPollJoiningCircuitInputsFromStateFile = getPollJoiningCircuitInputsFr
192
231
  * @param signer - The signer
193
232
  * @returns The poll joining circuit events
194
233
  */
195
- const getPollJoiningCircuitEvents = async ({ maciContract, stateIndex, pollId, userMaciPrivKey, signer, startBlock, endBlock, blocksPerBatch, }) => {
196
- // build an off-chain representation of the MACI contract using data in the contract storage
197
- const [defaultStartBlockSignup, defaultStartBlockPoll, stateTreeDepth] = await Promise.all([
198
- maciContract
199
- .queryFilter(maciContract.filters.SignUp(), startBlock ?? 0)
200
- .then((events) => events[0]?.blockNumber ?? 0),
201
- maciContract
202
- .queryFilter(maciContract.filters.DeployPoll(), startBlock ?? 0)
203
- .then((events) => events[0]?.blockNumber ?? 0),
234
+ const getPollJoiningCircuitEvents = async ({ maciContract, stateIndex, pollId, userMaciPrivateKey, signer, startBlock, endBlock, blocksPerBatch, }) => {
235
+ const [stateTreeDepth, maciContractAddress] = await Promise.all([
204
236
  maciContract.stateTreeDepth(),
237
+ maciContract.getAddress(),
205
238
  ]);
206
- const defaultStartBlock = Math.min(defaultStartBlockPoll, defaultStartBlockSignup);
207
- const fromBlock = startBlock ? Number(startBlock) : defaultStartBlock;
208
- const signUpData = await (0, stateTree_1.generateSignUpTree)({
209
- provider: signer.provider,
210
- address: await maciContract.getAddress(),
211
- blocksPerRequest: blocksPerBatch || 50,
212
- fromBlock,
239
+ const signUpData = await (0, exports.generateMaciStateTree)({
240
+ maciContractAddress,
241
+ signer,
242
+ startBlock,
213
243
  endBlock,
214
- sleepAmount: 0,
244
+ blocksPerBatch,
215
245
  });
216
- const { pubKey: userPubKey } = new domainobjs_1.Keypair(userMaciPrivKey);
217
- const loadedStateIndex = (0, exports.getStateIndex)(signUpData.pubKeys, userPubKey, stateIndex);
246
+ const { publicKey: userPublicKey } = new domainobjs_1.Keypair(userMaciPrivateKey);
247
+ const loadedStateIndex = (0, exports.getStateIndex)(signUpData.publicKeys, userPublicKey, stateIndex);
218
248
  if (loadedStateIndex < 1) {
219
249
  throw new Error("Invalid state index");
220
250
  }
221
- return (0, exports.joiningCircuitInputs)(signUpData, stateTreeDepth, userMaciPrivKey, stateIndex, userPubKey, pollId);
251
+ // Get the state leaf on the index position
252
+ const { signUpTree: stateTree } = signUpData;
253
+ // calculate the path elements for the state tree given the original state tree
254
+ const inclusionProof = stateTree.generateProof(Number(loadedStateIndex));
255
+ return (0, exports.joiningCircuitInputs)(inclusionProof, stateTreeDepth, userMaciPrivateKey, userPublicKey, pollId);
222
256
  };
223
257
  exports.getPollJoiningCircuitEvents = getPollJoiningCircuitEvents;
224
258
  //# 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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"}
@@ -6,7 +6,7 @@ export { fundWallet } from "./fundWallet";
6
6
  export { validateParams } from "./params";
7
7
  export { timeTravel } from "./timeTravel";
8
8
  export { calculateBinaryTreeDepthFromMaxLeaves, calculateQuinTreeDepthFromMaxLeaves } from "./trees";
9
- export { isArm, sleep } from "./utils";
9
+ export { isArm, sleep, sleepUntil } from "./utils";
10
10
  export { generateAndVerifyProof } from "./proofs";
11
11
  export type { ICircuitParams, ISnarkJSVerificationKey, ITimeTravelArgs, IFundWalletArgs } from "./types";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qCAAqC,EAAE,mCAAmC,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qCAAqC,EAAE,mCAAmC,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateAndVerifyProof = exports.sleep = exports.isArm = exports.calculateQuinTreeDepthFromMaxLeaves = exports.calculateBinaryTreeDepthFromMaxLeaves = exports.timeTravel = exports.validateParams = exports.fundWallet = exports.asHex = exports.currentBlockTimestamp = exports.contractExists = exports.BLOCKS_STEP = exports.createCidFromObject = exports.cidToBytes32 = void 0;
3
+ exports.generateAndVerifyProof = exports.sleepUntil = exports.sleep = exports.isArm = exports.calculateQuinTreeDepthFromMaxLeaves = exports.calculateBinaryTreeDepthFromMaxLeaves = exports.timeTravel = exports.validateParams = exports.fundWallet = exports.asHex = exports.currentBlockTimestamp = exports.contractExists = exports.BLOCKS_STEP = exports.createCidFromObject = exports.cidToBytes32 = void 0;
4
4
  var cid_1 = require("./cid");
5
5
  Object.defineProperty(exports, "cidToBytes32", { enumerable: true, get: function () { return cid_1.cidToBytes32; } });
6
6
  Object.defineProperty(exports, "createCidFromObject", { enumerable: true, get: function () { return cid_1.createCidFromObject; } });
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "calculateQuinTreeDepthFromMaxLeaves", { enumerab
23
23
  var utils_1 = require("./utils");
24
24
  Object.defineProperty(exports, "isArm", { enumerable: true, get: function () { return utils_1.isArm; } });
25
25
  Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return utils_1.sleep; } });
26
+ Object.defineProperty(exports, "sleepUntil", { enumerable: true, get: function () { return utils_1.sleepUntil; } });
26
27
  var proofs_1 = require("./proofs");
27
28
  Object.defineProperty(exports, "generateAndVerifyProof", { enumerable: true, get: function () { return proofs_1.generateAndVerifyProof; } });
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/utils/index.ts"],"names":[],"mappings":";;;AAAA,6BAA0D;AAAjD,mGAAA,YAAY,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAC1C,yCAA0C;AAAjC,wGAAA,WAAW,OAAA;AACpB,yCAAoE;AAA3D,2GAAA,cAAc,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAC9C,2CAAqC;AAA5B,mGAAA,KAAK,OAAA;AACd,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iCAAqG;AAA5F,8HAAA,qCAAqC,OAAA;AAAE,4HAAA,mCAAmC,OAAA;AACnF,iCAAuC;AAA9B,8FAAA,KAAK,OAAA;AAAE,8FAAA,KAAK,OAAA;AACrB,mCAAkD;AAAzC,gHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/utils/index.ts"],"names":[],"mappings":";;;AAAA,6BAA0D;AAAjD,mGAAA,YAAY,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAC1C,yCAA0C;AAAjC,wGAAA,WAAW,OAAA;AACpB,yCAAoE;AAA3D,2GAAA,cAAc,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAC9C,2CAAqC;AAA5B,mGAAA,KAAK,OAAA;AACd,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iCAAqG;AAA5F,8HAAA,qCAAqC,OAAA;AAAE,4HAAA,mCAAmC,OAAA;AACnF,iCAAmD;AAA1C,8FAAA,KAAK,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,mGAAA,UAAU,OAAA;AACjC,mCAAkD;AAAzC,gHAAA,sBAAsB,OAAA"}