@maci-protocol/testing 0.0.0-ci.2df0337 → 0.0.0-ci.30921aa

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 (41) hide show
  1. package/LICENSE +1 -2
  2. package/build/ts/__tests__/e2e.full.test.d.ts +2 -0
  3. package/build/ts/__tests__/e2e.full.test.d.ts.map +1 -0
  4. package/build/ts/__tests__/e2e.full.test.js +844 -0
  5. package/build/ts/__tests__/e2e.full.test.js.map +1 -0
  6. package/build/ts/__tests__/e2e.nonQv.test.js +410 -24
  7. package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
  8. package/build/ts/__tests__/e2e.test.js +96 -107
  9. package/build/ts/__tests__/e2e.test.js.map +1 -1
  10. package/build/ts/__tests__/integration.test.js +32 -33
  11. package/build/ts/__tests__/integration.test.js.map +1 -1
  12. package/build/ts/__tests__/keyChange.test.js +36 -39
  13. package/build/ts/__tests__/keyChange.test.js.map +1 -1
  14. package/build/ts/__tests__/maciKeys.test.js +39 -39
  15. package/build/ts/__tests__/maciKeys.test.js.map +1 -1
  16. package/build/ts/__tests__/unit/joinPoll.test.js +91 -24
  17. package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
  18. package/build/ts/__tests__/unit/poll.test.js +5 -5
  19. package/build/ts/__tests__/unit/poll.test.js.map +1 -1
  20. package/build/ts/__tests__/unit/publish.test.js +5 -5
  21. package/build/ts/__tests__/unit/publish.test.js.map +1 -1
  22. package/build/ts/__tests__/unit/signup.test.js +4 -4
  23. package/build/ts/__tests__/unit/signup.test.js.map +1 -1
  24. package/build/ts/__tests__/unit/utils.test.js +12 -12
  25. package/build/ts/__tests__/unit/utils.test.js.map +1 -1
  26. package/build/ts/constants.d.ts +49 -51
  27. package/build/ts/constants.d.ts.map +1 -1
  28. package/build/ts/constants.js +92 -71
  29. package/build/ts/constants.js.map +1 -1
  30. package/build/ts/testingClass.d.ts +7 -7
  31. package/build/ts/testingClass.d.ts.map +1 -1
  32. package/build/ts/testingClass.js +19 -20
  33. package/build/ts/testingClass.js.map +1 -1
  34. package/build/ts/types.d.ts +11 -11
  35. package/build/ts/types.d.ts.map +1 -1
  36. package/build/ts/utils.d.ts +3 -3
  37. package/build/ts/utils.d.ts.map +1 -1
  38. package/build/ts/utils.js +12 -12
  39. package/build/ts/utils.js.map +1 -1
  40. package/build/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +13 -12
@@ -18,42 +18,42 @@ describe("keyChange tests", function test() {
18
18
  let initialVoiceCreditProxyContractAddress;
19
19
  let verifierContractAddress;
20
20
  let signer;
21
- let vkRegistryAddress;
21
+ let verifyingKeysRegistryAddress;
22
22
  const generateProofsArgs = {
23
23
  outputDir: constants_1.testProofsDirPath,
24
24
  tallyFile: constants_1.testTallyFilePath,
25
- tallyZkey: constants_1.tallyVotesTestZkeyPath,
26
- processZkey: constants_1.processMessageTestZkeyPath,
25
+ voteTallyZkey: constants_1.testTallyVotesZkeyPath,
26
+ messageProcessorZkey: constants_1.testProcessMessageZkeyPath,
27
27
  pollId: 0n,
28
28
  rapidsnark: constants_1.testRapidsnarkPath,
29
- processWitgen: constants_1.testProcessMessagesWitnessPath,
30
- processDatFile: constants_1.testProcessMessagesWitnessDatPath,
31
- tallyWitgen: constants_1.testTallyVotesWitnessPath,
32
- tallyDatFile: constants_1.testTallyVotesWitnessDatPath,
29
+ messageProcessorWitnessGenerator: constants_1.testProcessMessagesWitnessPath,
30
+ messageProcessorWitnessDatFile: constants_1.testProcessMessagesWitnessDatPath,
31
+ voteTallyWitnessGenerator: constants_1.testTallyVotesWitnessPath,
32
+ voteTallyWitnessDatFile: constants_1.testTallyVotesWitnessDatPath,
33
33
  coordinatorPrivateKey: constants_1.coordinatorPrivateKey,
34
- processWasm: constants_1.testProcessMessagesWasmPath,
35
- tallyWasm: constants_1.testTallyVotesWasmPath,
34
+ messageProcessorWasm: constants_1.testProcessMessagesWasmPath,
35
+ voteTallyWasm: constants_1.testTallyVotesWasmPath,
36
36
  useWasm,
37
- useQuadraticVoting: true,
37
+ mode: core_1.EMode.QV,
38
38
  };
39
- // before all tests we deploy the vk registry contract and set the verifying keys
39
+ // before all tests we deploy the verifying keys registry contract and set the verifying keys
40
40
  before(async () => {
41
41
  signer = await (0, sdk_1.getDefaultSigner)();
42
- // we deploy the vk registry contract
43
- vkRegistryAddress = await (0, sdk_1.deployVkRegistryContract)({ signer });
42
+ // we deploy the verifying keys registry contract
43
+ verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
44
44
  const [initialVoiceCreditProxy] = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, signer, undefined, true);
45
45
  initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
46
46
  const verifier = await (0, sdk_1.deployVerifier)(signer, true);
47
47
  verifierContractAddress = await verifier.getAddress();
48
48
  // we set the verifying keys
49
- await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
49
+ await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
50
50
  });
51
51
  describe("keyChange and new vote (new vote has same nonce)", () => {
52
52
  after(async () => {
53
53
  await (0, utils_1.clean)();
54
54
  });
55
55
  const user1Keypair = new domainobjs_1.Keypair();
56
- const { privateKey: pollPrivateKey, publicKey: pollPubKey1 } = user1Keypair;
56
+ const { privateKey: pollPrivateKey, publicKey: pollPublicKey1 } = user1Keypair;
57
57
  const { publicKey: pollPublicKey2 } = new domainobjs_1.Keypair();
58
58
  const initialNonce = 1n;
59
59
  const initialVoteOption = 0n;
@@ -86,7 +86,7 @@ describe("keyChange tests", function test() {
86
86
  relayers: [await signer.getAddress()],
87
87
  maciAddress: maciAddresses.maciContractAddress,
88
88
  verifierContractAddress,
89
- vkRegistryContractAddress: vkRegistryAddress,
89
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
90
90
  policyContractAddress: pollPolicyContractAddress,
91
91
  initialVoiceCreditProxyContractAddress,
92
92
  });
@@ -99,26 +99,25 @@ describe("keyChange tests", function test() {
99
99
  await (0, sdk_1.joinPoll)({
100
100
  maciAddress: maciAddresses.maciContractAddress,
101
101
  privateKey: user1Keypair.privateKey.serialize(),
102
- stateIndex,
103
102
  pollId,
104
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
103
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
105
104
  useWasm: true,
106
105
  pollWasm: constants_1.testPollJoiningWasmPath,
107
- pollWitgen: constants_1.testPollJoiningWitnessPath,
106
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
108
107
  rapidsnark: constants_1.testRapidsnarkPath,
109
108
  sgDataArg: constants_1.DEFAULT_SG_DATA,
110
109
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
111
110
  signer,
112
111
  });
113
112
  await (0, sdk_1.publish)({
114
- publicKey: pollPubKey1.serialize(),
113
+ publicKey: pollPublicKey1.serialize(),
115
114
  stateIndex,
116
115
  voteOptionIndex: initialVoteOption,
117
116
  nonce: initialNonce,
118
117
  pollId,
119
118
  newVoteWeight: initialVoteAmount,
120
119
  maciAddress: maciAddresses.maciContractAddress,
121
- salt: (0, crypto_1.genRandomSalt)(),
120
+ salt: (0, crypto_1.generateRandomSalt)(),
122
121
  privateKey: pollPrivateKey.serialize(),
123
122
  signer,
124
123
  });
@@ -128,7 +127,7 @@ describe("keyChange tests", function test() {
128
127
  {
129
128
  pollId,
130
129
  voteOptionIndex: initialVoteOption,
131
- salt: (0, crypto_1.genRandomSalt)(),
130
+ salt: (0, crypto_1.generateRandomSalt)(),
132
131
  nonce: initialNonce,
133
132
  privateKey: pollPrivateKey,
134
133
  stateIndex,
@@ -163,7 +162,7 @@ describe("keyChange tests", function test() {
163
162
  pollId,
164
163
  newVoteWeight: initialVoteAmount - 1n,
165
164
  maciAddress: maciAddresses.maciContractAddress,
166
- salt: (0, crypto_1.genRandomSalt)(),
165
+ salt: (0, crypto_1.generateRandomSalt)(),
167
166
  privateKey: pollPrivateKey.serialize(),
168
167
  signer,
169
168
  });
@@ -184,7 +183,7 @@ describe("keyChange tests", function test() {
184
183
  it("should confirm the tally is correct", async () => {
185
184
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
186
185
  (0, chai_1.expect)(tallyData.results.tally[0]).to.equal(expectedTally.toString());
187
- (0, chai_1.expect)(tallyData.perVOSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
186
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
188
187
  });
189
188
  });
190
189
  describe("keyChange and new vote (new vote has greater nonce and different vote option)", () => {
@@ -224,7 +223,7 @@ describe("keyChange tests", function test() {
224
223
  relayers: [await signer.getAddress()],
225
224
  maciAddress: maciAddresses.maciContractAddress,
226
225
  verifierContractAddress,
227
- vkRegistryContractAddress: vkRegistryAddress,
226
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
228
227
  policyContractAddress: pollPolicyContractAddress,
229
228
  initialVoiceCreditProxyContractAddress,
230
229
  });
@@ -237,12 +236,11 @@ describe("keyChange tests", function test() {
237
236
  await (0, sdk_1.joinPoll)({
238
237
  maciAddress: maciAddresses.maciContractAddress,
239
238
  privateKey: user1Keypair.privateKey.serialize(),
240
- stateIndex,
241
239
  pollId,
242
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
240
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
243
241
  useWasm: true,
244
242
  pollWasm: constants_1.testPollJoiningWasmPath,
245
- pollWitgen: constants_1.testPollJoiningWitnessPath,
243
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
246
244
  rapidsnark: constants_1.testRapidsnarkPath,
247
245
  sgDataArg: constants_1.DEFAULT_SG_DATA,
248
246
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
@@ -252,7 +250,7 @@ describe("keyChange tests", function test() {
252
250
  {
253
251
  pollId,
254
252
  voteOptionIndex: initialVoteOption,
255
- salt: (0, crypto_1.genRandomSalt)(),
253
+ salt: (0, crypto_1.generateRandomSalt)(),
256
254
  nonce: initialNonce,
257
255
  privateKey: user1Keypair.privateKey,
258
256
  stateIndex,
@@ -287,7 +285,7 @@ describe("keyChange tests", function test() {
287
285
  pollId,
288
286
  newVoteWeight: initialVoteAmount - 1n,
289
287
  maciAddress: maciAddresses.maciContractAddress,
290
- salt: (0, crypto_1.genRandomSalt)(),
288
+ salt: (0, crypto_1.generateRandomSalt)(),
291
289
  privateKey: user1Keypair.privateKey.serialize(),
292
290
  signer,
293
291
  });
@@ -308,7 +306,7 @@ describe("keyChange tests", function test() {
308
306
  it("should confirm the tally is correct", async () => {
309
307
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
310
308
  (0, chai_1.expect)(tallyData.results.tally[0]).to.equal(expectedTally.toString());
311
- (0, chai_1.expect)(tallyData.perVOSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
309
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
312
310
  });
313
311
  });
314
312
  describe("keyChange and new vote (new vote has same nonce and different vote option)", () => {
@@ -348,7 +346,7 @@ describe("keyChange tests", function test() {
348
346
  relayers: [await signer.getAddress()],
349
347
  maciAddress: maciAddresses.maciContractAddress,
350
348
  verifierContractAddress,
351
- vkRegistryContractAddress: vkRegistryAddress,
349
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
352
350
  policyContractAddress: pollPolicyContractAddress,
353
351
  initialVoiceCreditProxyContractAddress,
354
352
  });
@@ -361,12 +359,11 @@ describe("keyChange tests", function test() {
361
359
  await (0, sdk_1.joinPoll)({
362
360
  maciAddress: maciAddresses.maciContractAddress,
363
361
  privateKey: user1Keypair.privateKey.serialize(),
364
- stateIndex,
365
362
  pollId,
366
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
363
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
367
364
  useWasm: true,
368
365
  pollWasm: constants_1.testPollJoiningWasmPath,
369
- pollWitgen: constants_1.testPollJoiningWitnessPath,
366
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
370
367
  rapidsnark: constants_1.testRapidsnarkPath,
371
368
  sgDataArg: constants_1.DEFAULT_SG_DATA,
372
369
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
@@ -380,7 +377,7 @@ describe("keyChange tests", function test() {
380
377
  pollId,
381
378
  newVoteWeight: initialVoteAmount,
382
379
  maciAddress: maciAddresses.maciContractAddress,
383
- salt: (0, crypto_1.genRandomSalt)(),
380
+ salt: (0, crypto_1.generateRandomSalt)(),
384
381
  privateKey: user1Keypair.privateKey.serialize(),
385
382
  signer,
386
383
  });
@@ -390,7 +387,7 @@ describe("keyChange tests", function test() {
390
387
  {
391
388
  pollId,
392
389
  voteOptionIndex: initialVoteOption + 2n,
393
- salt: (0, crypto_1.genRandomSalt)(),
390
+ salt: (0, crypto_1.generateRandomSalt)(),
394
391
  nonce: initialNonce,
395
392
  privateKey: user1Keypair.privateKey,
396
393
  stateIndex,
@@ -425,7 +422,7 @@ describe("keyChange tests", function test() {
425
422
  pollId,
426
423
  newVoteWeight: initialVoteAmount - 3n,
427
424
  maciAddress: maciAddresses.maciContractAddress,
428
- salt: (0, crypto_1.genRandomSalt)(),
425
+ salt: (0, crypto_1.generateRandomSalt)(),
429
426
  privateKey: user1Keypair.privateKey.serialize(),
430
427
  signer,
431
428
  });
@@ -446,7 +443,7 @@ describe("keyChange tests", function test() {
446
443
  it("should confirm the tally is correct", async () => {
447
444
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
448
445
  (0, chai_1.expect)(tallyData.results.tally[2]).to.equal(expectedTally.toString());
449
- (0, chai_1.expect)(tallyData.perVOSpentVoiceCredits?.tally[2]).to.equal(expectedPerVoteOptionTally.toString());
446
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[2]).to.equal(expectedPerVoteOptionTally.toString());
450
447
  });
451
448
  });
452
449
  });
@@ -1 +1 @@
1
- {"version":3,"file":"keyChange.test.js","sourceRoot":"","sources":["../../../ts/__tests__/keyChange.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyChange.test.js","sourceRoot":"","sources":["../../../ts/__tests__/keyChange.test.ts"],"names":[],"mappings":"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"}
@@ -9,31 +9,31 @@ const testingClass_1 = require("../testingClass");
9
9
  describe("integration tests private/public/keypair", () => {
10
10
  describe("crypto/domainobjs", () => {
11
11
  it("should serialize and deserialize a private key correctly", () => {
12
- const privateKeyCrypto = (0, crypto_1.genPrivKey)();
13
- const privKeyDomainobjs = new domainobjs_1.PrivateKey(privateKeyCrypto);
14
- const privKeyDomainobjsSerialized = privKeyDomainobjs.serialize();
15
- const privKeyDomainobjsDeserialized = domainobjs_1.PrivateKey.deserialize(privKeyDomainobjsSerialized);
16
- (0, chai_1.expect)(privKeyDomainobjsDeserialized.rawPrivKey.toString()).to.eq(privateKeyCrypto.toString());
12
+ const privateKeyCrypto = (0, crypto_1.generatePrivateKey)();
13
+ const privateKeyDomainobjs = new domainobjs_1.PrivateKey(privateKeyCrypto);
14
+ const privateKeyDomainobjsSerialized = privateKeyDomainobjs.serialize();
15
+ const privateKeyDomainobjsDeserialized = domainobjs_1.PrivateKey.deserialize(privateKeyDomainobjsSerialized);
16
+ (0, chai_1.expect)(privateKeyDomainobjsDeserialized.raw.toString()).to.eq(privateKeyCrypto.toString());
17
17
  });
18
18
  it("should serialize and deserialize a public key correctly", () => {
19
- const privateKeyCrypto = (0, crypto_1.genPrivKey)();
20
- const publicKeyCrypto = (0, crypto_1.genPubKey)(privateKeyCrypto);
21
- const pubKeyDomainobjs = new domainobjs_1.PublicKey(publicKeyCrypto);
22
- const pubKeyDomainobjsSerialized = pubKeyDomainobjs.serialize();
23
- const pubKeyDomainobjsDeserialized = domainobjs_1.PublicKey.deserialize(pubKeyDomainobjsSerialized);
24
- (0, chai_1.expect)(pubKeyDomainobjsDeserialized.rawPubKey[0].toString()).to.eq(publicKeyCrypto[0].toString());
25
- (0, chai_1.expect)(pubKeyDomainobjsDeserialized.rawPubKey[1].toString()).to.eq(publicKeyCrypto[1].toString());
19
+ const privateKeyCrypto = (0, crypto_1.generatePrivateKey)();
20
+ const publicKeyCrypto = (0, crypto_1.generatePublicKey)(privateKeyCrypto);
21
+ const publicKeyDomainobjs = new domainobjs_1.PublicKey(publicKeyCrypto);
22
+ const publicKeyDomainobjsSerialized = publicKeyDomainobjs.serialize();
23
+ const publicKeyDomainobjsDeserialized = domainobjs_1.PublicKey.deserialize(publicKeyDomainobjsSerialized);
24
+ (0, chai_1.expect)(publicKeyDomainobjsDeserialized.raw[0].toString()).to.eq(publicKeyCrypto[0].toString());
25
+ (0, chai_1.expect)(publicKeyDomainobjsDeserialized.raw[1].toString()).to.eq(publicKeyCrypto[1].toString());
26
26
  });
27
27
  it("should serialize and deserialize a private key correct after serializing as contract params", () => {
28
- const privateKeyCrypto = (0, crypto_1.genPrivKey)();
29
- const privKeyDomainobjs = new domainobjs_1.PrivateKey(privateKeyCrypto);
30
- const keypairDomainobjs = new domainobjs_1.Keypair(privKeyDomainobjs);
31
- const pubKeyDomainobjsAsContractParam = keypairDomainobjs.publicKey.asContractParam();
32
- const privKeyDomainobjsSerialized = privKeyDomainobjs.serialize();
33
- const privKeyDomainobjsDeserialized = domainobjs_1.PrivateKey.deserialize(privKeyDomainobjsSerialized);
34
- const keypairDomainobjsDeserialized = new domainobjs_1.Keypair(privKeyDomainobjsDeserialized);
35
- (0, chai_1.expect)(keypairDomainobjsDeserialized.publicKey.rawPubKey[0].toString()).to.eq(pubKeyDomainobjsAsContractParam.x.toString());
36
- (0, chai_1.expect)(keypairDomainobjsDeserialized.publicKey.rawPubKey[1].toString()).to.eq(pubKeyDomainobjsAsContractParam.y.toString());
28
+ const privateKeyCrypto = (0, crypto_1.generatePrivateKey)();
29
+ const privateKeyDomainobjs = new domainobjs_1.PrivateKey(privateKeyCrypto);
30
+ const keypairDomainobjs = new domainobjs_1.Keypair(privateKeyDomainobjs);
31
+ const publicKeyDomainobjsAsContractParam = keypairDomainobjs.publicKey.asContractParam();
32
+ const privateKeyDomainobjsSerialized = privateKeyDomainobjs.serialize();
33
+ const privateKeyDomainobjsDeserialized = domainobjs_1.PrivateKey.deserialize(privateKeyDomainobjsSerialized);
34
+ const keypairDomainobjsDeserialized = new domainobjs_1.Keypair(privateKeyDomainobjsDeserialized);
35
+ (0, chai_1.expect)(keypairDomainobjsDeserialized.publicKey.raw[0].toString()).to.eq(publicKeyDomainobjsAsContractParam.x.toString());
36
+ (0, chai_1.expect)(keypairDomainobjsDeserialized.publicKey.raw[1].toString()).to.eq(publicKeyDomainobjsAsContractParam.y.toString());
37
37
  });
38
38
  });
39
39
  describe("crypto/domainobjs/contracts", () => {
@@ -44,34 +44,34 @@ describe("integration tests private/public/keypair", () => {
44
44
  before(async () => {
45
45
  signer = await (0, sdk_1.getDefaultSigner)();
46
46
  testingClass = await testingClass_1.TestingClass.getInstance({
47
- pollJoiningZkeyPath: constants_1.pollJoiningZkey,
48
- pollJoinedZkeyPath: constants_1.pollJoinedZkey,
49
- processMessagesZkeyPath: constants_1.processMessagesZkeyPathNonQv,
50
- tallyVotesZkeyPath: constants_1.tallyVotesZkeyPathNonQv,
51
- pollWasm: constants_1.pollWasm,
52
- pollWitgen: constants_1.pollWitgen,
53
- rapidsnark: constants_1.rapidsnark,
47
+ pollJoiningZkeyPath: constants_1.testPollJoiningZkeyPath,
48
+ pollJoinedZkeyPath: constants_1.testPollJoinedZkeyPath,
49
+ messageProcessorZkeyPath: constants_1.testProcessMessageNonQvZkeyPath,
50
+ voteTallyZkeyPath: constants_1.testVoteTallyNonQvZkeyPath,
51
+ pollWasm: constants_1.testPollJoiningWasmPath,
52
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
53
+ rapidsnark: constants_1.testRapidsnarkPath,
54
54
  });
55
55
  const pollContractAddress = testingClass.contractsData.polls[0];
56
56
  pollContract = sdk_1.Poll__factory.connect(pollContractAddress, signer);
57
57
  });
58
- it("should have the correct coordinator pub key set on chain", async () => {
58
+ it("should have the correct coordinator public key set on chain", async () => {
59
59
  const onChainKey = await pollContract.coordinatorPublicKey();
60
- (0, chai_1.expect)(onChainKey.x.toString()).to.eq(coordinatorKeypair.publicKey.rawPubKey[0].toString());
61
- (0, chai_1.expect)(onChainKey.y.toString()).to.eq(coordinatorKeypair.publicKey.rawPubKey[1].toString());
60
+ (0, chai_1.expect)(onChainKey.x.toString()).to.eq(coordinatorKeypair.publicKey.raw[0].toString());
61
+ (0, chai_1.expect)(onChainKey.y.toString()).to.eq(coordinatorKeypair.publicKey.raw[1].toString());
62
62
  });
63
63
  it("should serialize and deserialize the coordinator private key to match the on chain key", async () => {
64
64
  const onChainKey = await pollContract.coordinatorPublicKey();
65
- const coordinatorPrivKeySerialized = coordinatorKeypair.privateKey.serialize();
66
- const coordinatorPrivKeyDeserialized = domainobjs_1.PrivateKey.deserialize(coordinatorPrivKeySerialized);
67
- const coordinatorKeypairDeserialized = new domainobjs_1.Keypair(coordinatorPrivKeyDeserialized);
68
- (0, chai_1.expect)(coordinatorKeypairDeserialized.publicKey.rawPubKey[0].toString()).to.eq(onChainKey.x.toString());
69
- (0, chai_1.expect)(coordinatorKeypairDeserialized.publicKey.rawPubKey[1].toString()).to.eq(onChainKey.y.toString());
65
+ const coordinatorPrivateKeySerialized = coordinatorKeypair.privateKey.serialize();
66
+ const coordinatorPrivateKeyDeserialized = domainobjs_1.PrivateKey.deserialize(coordinatorPrivateKeySerialized);
67
+ const coordinatorKeypairDeserialized = new domainobjs_1.Keypair(coordinatorPrivateKeyDeserialized);
68
+ (0, chai_1.expect)(coordinatorKeypairDeserialized.publicKey.raw[0].toString()).to.eq(onChainKey.x.toString());
69
+ (0, chai_1.expect)(coordinatorKeypairDeserialized.publicKey.raw[1].toString()).to.eq(onChainKey.y.toString());
70
70
  });
71
71
  it("should have a matching coordinator public key hash", async () => {
72
- const onChainKeyHash = await pollContract.coordinatorPubKeyHash();
73
- const coordinatorPubKeyHash = coordinatorKeypair.publicKey.hash();
74
- (0, chai_1.expect)(onChainKeyHash.toString()).to.eq(coordinatorPubKeyHash.toString());
72
+ const onChainKeyHash = await pollContract.coordinatorPublicKeyHash();
73
+ const coordinatorPublicKeyHash = coordinatorKeypair.publicKey.hash();
74
+ (0, chai_1.expect)(onChainKeyHash.toString()).to.eq(coordinatorPublicKeyHash.toString());
75
75
  });
76
76
  });
77
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"maciKeys.test.js","sourceRoot":"","sources":["../../../ts/__tests__/maciKeys.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maciKeys.test.js","sourceRoot":"","sources":["../../../ts/__tests__/maciKeys.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const domainobjs_1 = require("@maci-protocol/domainobjs");
4
4
  const sdk_1 = require("@maci-protocol/sdk");
5
+ const browser_1 = require("@maci-protocol/sdk/browser");
5
6
  const chai_1 = require("chai");
6
7
  const constants_1 = require("../../constants");
7
8
  describe("joinPoll", function test() {
@@ -9,13 +10,10 @@ describe("joinPoll", function test() {
9
10
  let maciAddresses;
10
11
  let initialVoiceCreditProxyContractAddress;
11
12
  let verifierContractAddress;
12
- const user = new domainobjs_1.Keypair();
13
- const userPrivateKey = user.privateKey.serialize();
14
- const userPublicKey = user.publicKey.serialize();
15
- const mockStateIndex = 1n;
13
+ const users = new Array(3).fill(undefined).map(() => new domainobjs_1.Keypair());
16
14
  const mockPollId = 9000n;
17
15
  this.timeout(900000);
18
- // before all tests we deploy the vk registry contract and set the verifying keys
16
+ // before all tests we deploy the verifying keys registry contract and set the verifying keys
19
17
  before(async () => {
20
18
  signer = await (0, sdk_1.getDefaultSigner)();
21
19
  const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
@@ -27,10 +25,10 @@ describe("joinPoll", function test() {
27
25
  const verifier = await (0, sdk_1.deployVerifier)(signer, true);
28
26
  verifierContractAddress = await verifier.getAddress();
29
27
  const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
30
- // we deploy the vk registry contract
31
- const vkRegistryAddress = await (0, sdk_1.deployVkRegistryContract)({ signer });
28
+ // we deploy the verifying keys registry contract
29
+ const verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
32
30
  // we set the verifying keys
33
- await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
31
+ await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
34
32
  // deploy the smart contracts
35
33
  maciAddresses = await (0, sdk_1.deployMaci)({
36
34
  ...constants_1.deployArgs,
@@ -40,7 +38,19 @@ describe("joinPoll", function test() {
40
38
  // signup the user
41
39
  await (0, sdk_1.signup)({
42
40
  maciAddress: maciAddresses.maciContractAddress,
43
- maciPublicKey: userPublicKey,
41
+ maciPublicKey: users[0].publicKey.serialize(),
42
+ sgData: constants_1.DEFAULT_SG_DATA,
43
+ signer,
44
+ });
45
+ await (0, sdk_1.signup)({
46
+ maciAddress: maciAddresses.maciContractAddress,
47
+ maciPublicKey: users[1].publicKey.serialize(),
48
+ sgData: constants_1.DEFAULT_SG_DATA,
49
+ signer,
50
+ });
51
+ await (0, sdk_1.signup)({
52
+ maciAddress: maciAddresses.maciContractAddress,
53
+ maciPublicKey: users[2].publicKey.serialize(),
44
54
  sgData: constants_1.DEFAULT_SG_DATA,
45
55
  signer,
46
56
  });
@@ -53,7 +63,7 @@ describe("joinPoll", function test() {
53
63
  relayers: [await signer.getAddress()],
54
64
  maciAddress: maciAddresses.maciContractAddress,
55
65
  verifierContractAddress,
56
- vkRegistryContractAddress: vkRegistryAddress,
66
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
57
67
  policyContractAddress: pollPolicyContractAddress,
58
68
  initialVoiceCreditProxyContractAddress,
59
69
  });
@@ -62,14 +72,13 @@ describe("joinPoll", function test() {
62
72
  const startBlock = await signer.provider?.getBlockNumber();
63
73
  await (0, sdk_1.joinPoll)({
64
74
  maciAddress: maciAddresses.maciContractAddress,
65
- privateKey: userPrivateKey,
66
- stateIndex: 1n,
75
+ privateKey: users[0].privateKey.serialize(),
67
76
  signer,
68
77
  pollId: 0n,
69
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
78
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
70
79
  useWasm: true,
71
80
  pollWasm: constants_1.testPollJoiningWasmPath,
72
- pollWitgen: constants_1.testPollJoiningWitnessPath,
81
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
73
82
  rapidsnark: constants_1.testRapidsnarkPath,
74
83
  sgDataArg: constants_1.DEFAULT_SG_DATA,
75
84
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
@@ -77,34 +86,93 @@ describe("joinPoll", function test() {
77
86
  const registeredUserData = await (0, sdk_1.getJoinedUserData)({
78
87
  maciAddress: maciAddresses.maciContractAddress,
79
88
  pollId: 0n,
80
- pollPublicKey: user.publicKey.serialize(),
89
+ pollPublicKey: users[0].publicKey.serialize(),
81
90
  signer,
82
91
  startBlock: startBlock || 0,
83
92
  });
84
93
  (0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
85
94
  (0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(1);
86
95
  });
96
+ it("should allow to join the poll and return the user data using a downloaded zKey", async () => {
97
+ const startBlock = await signer.provider?.getBlockNumber();
98
+ const { zKey, wasm } = await (0, browser_1.downloadPollJoiningArtifactsBrowser)({
99
+ testing: true,
100
+ stateTreeDepth: 10,
101
+ });
102
+ await (0, browser_1.joinPoll)({
103
+ maciAddress: maciAddresses.maciContractAddress,
104
+ privateKey: users[1].privateKey.serialize(),
105
+ signer,
106
+ pollId: 0n,
107
+ pollJoiningZkey: zKey,
108
+ useWasm: true,
109
+ pollWasm: wasm,
110
+ sgDataArg: constants_1.DEFAULT_SG_DATA,
111
+ ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
112
+ useLatestStateIndex: true,
113
+ });
114
+ const registeredUserData = await (0, sdk_1.getJoinedUserData)({
115
+ maciAddress: maciAddresses.maciContractAddress,
116
+ pollId: 0n,
117
+ pollPublicKey: users[1].publicKey.serialize(),
118
+ signer,
119
+ startBlock: startBlock || 0,
120
+ });
121
+ (0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
122
+ (0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(2);
123
+ });
124
+ it("should allow to join the poll using a precomputed inclusion proof", async () => {
125
+ const startBlock = await signer.provider?.getBlockNumber();
126
+ const stateTree = await (0, sdk_1.generateMaciStateTreeWithEndKey)({
127
+ maciContractAddress: maciAddresses.maciContractAddress,
128
+ signer,
129
+ userPublicKey: users[2].publicKey,
130
+ });
131
+ const inclusionProof = stateTree.signUpTree.generateProof(3);
132
+ const { zKey, wasm } = await (0, browser_1.downloadPollJoiningArtifactsBrowser)({
133
+ testing: true,
134
+ stateTreeDepth: 10,
135
+ });
136
+ await (0, browser_1.joinPoll)({
137
+ maciAddress: maciAddresses.maciContractAddress,
138
+ privateKey: users[2].privateKey.serialize(),
139
+ signer,
140
+ pollId: 0n,
141
+ inclusionProof,
142
+ pollJoiningZkey: zKey,
143
+ pollWasm: wasm,
144
+ sgDataArg: constants_1.DEFAULT_SG_DATA,
145
+ ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
146
+ });
147
+ const registeredUserData = await (0, sdk_1.getJoinedUserData)({
148
+ maciAddress: maciAddresses.maciContractAddress,
149
+ pollId: 0n,
150
+ pollPublicKey: users[2].publicKey.serialize(),
151
+ signer,
152
+ startBlock: startBlock || 0,
153
+ });
154
+ (0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
155
+ (0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(3);
156
+ });
87
157
  it("should throw error if poll does not exist", async () => {
88
158
  await (0, chai_1.expect)((0, sdk_1.joinPoll)({
89
159
  maciAddress: maciAddresses.maciContractAddress,
90
- privateKey: userPrivateKey,
91
- stateIndex: mockStateIndex,
160
+ privateKey: users[0].privateKey.serialize(),
92
161
  signer,
93
162
  pollId: mockPollId,
94
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
163
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
95
164
  sgDataArg: constants_1.DEFAULT_SG_DATA,
96
165
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
97
166
  })).eventually.rejectedWith("PollDoesNotExist(9000)");
98
167
  });
99
- it("should throw error if state index is invalid", async () => {
168
+ it("should throw error if user did not sign up to maci and therefore state index is invalid", async () => {
100
169
  const keypair = new domainobjs_1.Keypair();
101
170
  await (0, chai_1.expect)((0, sdk_1.joinPoll)({
102
171
  maciAddress: maciAddresses.maciContractAddress,
103
172
  privateKey: keypair.privateKey.serialize(),
104
- stateIndex: -1n,
105
173
  signer,
106
174
  pollId: 0n,
107
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
175
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
108
176
  sgDataArg: constants_1.DEFAULT_SG_DATA,
109
177
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
110
178
  })).eventually.rejectedWith("Invalid state index");
@@ -112,11 +180,10 @@ describe("joinPoll", function test() {
112
180
  it("should throw error if current poll id is invalid", async () => {
113
181
  await (0, chai_1.expect)((0, sdk_1.joinPoll)({
114
182
  maciAddress: maciAddresses.maciContractAddress,
115
- privateKey: userPrivateKey,
116
- stateIndex: mockStateIndex,
183
+ privateKey: users[0].privateKey.serialize(),
117
184
  signer,
118
185
  pollId: -1n,
119
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
186
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
120
187
  sgDataArg: constants_1.DEFAULT_SG_DATA,
121
188
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
122
189
  })).eventually.rejectedWith("Invalid poll id");