@maci-protocol/testing 0.0.0-ci.ec84efe → 0.0.0-ci.eea13a2

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 (55) 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 +845 -0
  5. package/build/ts/__tests__/e2e.full.test.js.map +1 -0
  6. package/build/ts/__tests__/e2e.nonQv.test.js +426 -39
  7. package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
  8. package/build/ts/__tests__/e2e.test.js +271 -281
  9. package/build/ts/__tests__/e2e.test.js.map +1 -1
  10. package/build/ts/__tests__/integration.test.js +62 -57
  11. package/build/ts/__tests__/integration.test.js.map +1 -1
  12. package/build/ts/__tests__/keyChange.test.js +86 -79
  13. package/build/ts/__tests__/keyChange.test.js.map +1 -1
  14. package/build/ts/__tests__/maciKeys.test.d.ts +2 -0
  15. package/build/ts/__tests__/maciKeys.test.d.ts.map +1 -0
  16. package/build/ts/__tests__/maciKeys.test.js +78 -0
  17. package/build/ts/__tests__/maciKeys.test.js.map +1 -0
  18. package/build/ts/__tests__/unit/joinPoll.test.js +64 -28
  19. package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
  20. package/build/ts/__tests__/unit/poll.test.js +9 -8
  21. package/build/ts/__tests__/unit/poll.test.js.map +1 -1
  22. package/build/ts/__tests__/unit/publish.test.js +15 -11
  23. package/build/ts/__tests__/unit/publish.test.js.map +1 -1
  24. package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts +2 -0
  25. package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts.map +1 -0
  26. package/build/ts/__tests__/unit/setVerifyingKeys.test.js +52 -0
  27. package/build/ts/__tests__/unit/setVerifyingKeys.test.js.map +1 -0
  28. package/build/ts/__tests__/unit/signup.test.js +9 -9
  29. package/build/ts/__tests__/unit/signup.test.js.map +1 -1
  30. package/build/ts/__tests__/unit/utils.test.js +12 -12
  31. package/build/ts/__tests__/unit/utils.test.js.map +1 -1
  32. package/build/ts/constants.d.ts +52 -53
  33. package/build/ts/constants.d.ts.map +1 -1
  34. package/build/ts/constants.js +113 -76
  35. package/build/ts/constants.js.map +1 -1
  36. package/build/ts/testingClass.d.ts +7 -7
  37. package/build/ts/testingClass.d.ts.map +1 -1
  38. package/build/ts/testingClass.js +36 -29
  39. package/build/ts/testingClass.js.map +1 -1
  40. package/build/ts/types.d.ts +11 -11
  41. package/build/ts/types.d.ts.map +1 -1
  42. package/build/ts/user.d.ts +5 -9
  43. package/build/ts/user.d.ts.map +1 -1
  44. package/build/ts/user.js +5 -6
  45. package/build/ts/user.js.map +1 -1
  46. package/build/ts/utils.d.ts +3 -3
  47. package/build/ts/utils.d.ts.map +1 -1
  48. package/build/ts/utils.js +12 -12
  49. package/build/ts/utils.js.map +1 -1
  50. package/build/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +15 -14
  52. package/build/ts/__tests__/maci-keys.test.d.ts +0 -2
  53. package/build/ts/__tests__/maci-keys.test.d.ts.map +0 -1
  54. package/build/ts/__tests__/maci-keys.test.js +0 -78
  55. package/build/ts/__tests__/maci-keys.test.js.map +0 -1
@@ -18,43 +18,44 @@ 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,
33
- coordinatorPrivateKey: constants_1.coordinatorPrivKey,
34
- processWasm: constants_1.testProcessMessagesWasmPath,
35
- tallyWasm: constants_1.testTallyVotesWasmPath,
29
+ messageProcessorWitnessGenerator: constants_1.testProcessMessagesWitnessPath,
30
+ messageProcessorWitnessDatFile: constants_1.testProcessMessagesWitnessDatPath,
31
+ voteTallyWitnessGenerator: constants_1.testTallyVotesWitnessPath,
32
+ voteTallyWitnessDatFile: constants_1.testTallyVotesWitnessDatPath,
33
+ coordinatorPrivateKey: constants_1.coordinatorPrivateKey,
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 });
44
- const [initialVoiceCreditProxy] = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, signer, undefined, true);
42
+ // we deploy the verifying keys registry contract
43
+ verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
44
+ const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
45
+ const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
45
46
  initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
46
47
  const verifier = await (0, sdk_1.deployVerifier)(signer, true);
47
48
  verifierContractAddress = await verifier.getAddress();
48
49
  // we set the verifying keys
49
- await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
50
+ await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
50
51
  });
51
52
  describe("keyChange and new vote (new vote has same nonce)", () => {
52
53
  after(async () => {
53
54
  await (0, utils_1.clean)();
54
55
  });
55
56
  const user1Keypair = new domainobjs_1.Keypair();
56
- const { privKey: pollPrivKey1, pubKey: pollPubKey1 } = user1Keypair;
57
- const { pubKey: pollPubKey2 } = new domainobjs_1.Keypair();
57
+ const { privateKey: pollPrivateKey, publicKey: pollPublicKey1 } = user1Keypair;
58
+ const { publicKey: pollPublicKey2 } = new domainobjs_1.Keypair();
58
59
  const initialNonce = 1n;
59
60
  const initialVoteOption = 0n;
60
61
  const initialVoteAmount = 9n;
@@ -63,9 +64,12 @@ describe("keyChange tests", function test() {
63
64
  const expectedTally = initialVoteAmount - 1n;
64
65
  const expectedPerVoteOptionTally = (initialVoteAmount - 1n) ** 2n;
65
66
  before(async () => {
66
- const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
67
+ const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
67
68
  const signupPolicyContractAddress = await signupPolicy.getAddress();
68
- const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
69
+ const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
70
+ policy: signupPolicyFactory,
71
+ checker: signupCheckerFactory,
72
+ }, signer, true);
69
73
  const pollPolicyContractAddress = await pollPolicy.getAddress();
70
74
  // deploy the smart contracts
71
75
  maciAddresses = await (0, sdk_1.deployMaci)({
@@ -83,40 +87,39 @@ describe("keyChange tests", function test() {
83
87
  relayers: [await signer.getAddress()],
84
88
  maciAddress: maciAddresses.maciContractAddress,
85
89
  verifierContractAddress,
86
- vkRegistryContractAddress: vkRegistryAddress,
90
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
87
91
  policyContractAddress: pollPolicyContractAddress,
88
92
  initialVoiceCreditProxyContractAddress,
89
93
  });
90
94
  stateIndex = BigInt(await (0, sdk_1.signup)({
91
95
  maciAddress: maciAddresses.maciContractAddress,
92
- maciPubKey: user1Keypair.pubKey.serialize(),
96
+ maciPublicKey: user1Keypair.publicKey.serialize(),
93
97
  sgData: constants_1.DEFAULT_SG_DATA,
94
98
  signer,
95
99
  }).then((result) => result.stateIndex));
96
100
  await (0, sdk_1.joinPoll)({
97
101
  maciAddress: maciAddresses.maciContractAddress,
98
- privateKey: user1Keypair.privKey.serialize(),
99
- stateIndex,
102
+ privateKey: user1Keypair.privateKey.serialize(),
100
103
  pollId,
101
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
104
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
102
105
  useWasm: true,
103
106
  pollWasm: constants_1.testPollJoiningWasmPath,
104
- pollWitgen: constants_1.testPollJoiningWitnessPath,
107
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
105
108
  rapidsnark: constants_1.testRapidsnarkPath,
106
109
  sgDataArg: constants_1.DEFAULT_SG_DATA,
107
110
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
108
111
  signer,
109
112
  });
110
113
  await (0, sdk_1.publish)({
111
- pubkey: pollPubKey1.serialize(),
114
+ publicKey: pollPublicKey1.serialize(),
112
115
  stateIndex,
113
116
  voteOptionIndex: initialVoteOption,
114
117
  nonce: initialNonce,
115
118
  pollId,
116
119
  newVoteWeight: initialVoteAmount,
117
120
  maciAddress: maciAddresses.maciContractAddress,
118
- salt: (0, crypto_1.genRandomSalt)(),
119
- privateKey: pollPrivKey1.serialize(),
121
+ salt: (0, crypto_1.generateRandomSalt)(),
122
+ privateKey: pollPrivateKey.serialize(),
120
123
  signer,
121
124
  });
122
125
  });
@@ -125,14 +128,14 @@ describe("keyChange tests", function test() {
125
128
  {
126
129
  pollId,
127
130
  voteOptionIndex: initialVoteOption,
128
- salt: (0, crypto_1.genRandomSalt)(),
131
+ salt: (0, crypto_1.generateRandomSalt)(),
129
132
  nonce: initialNonce,
130
- privateKey: pollPrivKey1,
133
+ privateKey: pollPrivateKey,
131
134
  stateIndex,
132
135
  voteWeight: initialVoteAmount - 2n,
133
- coordinatorPubKey: constants_1.coordinatorKeypair.pubKey,
136
+ coordinatorPublicKey: constants_1.coordinatorKeypair.publicKey,
134
137
  maxVoteOption: BigInt(core_1.VOTE_OPTION_TREE_ARITY ** constants_1.deployPollArgs.voteOptionTreeDepth),
135
- newPubKey: pollPubKey2,
138
+ newPublicKey: pollPublicKey2,
136
139
  },
137
140
  ];
138
141
  const messages = votes
@@ -141,8 +144,8 @@ describe("keyChange tests", function test() {
141
144
  maciAddress: maciAddresses.maciContractAddress,
142
145
  poll: Number(pollId),
143
146
  data: message.data.map(String),
144
- publicKey: ephemeralKeypair.pubKey.asArray().map(String),
145
- hash: message.hash(ephemeralKeypair.pubKey).toString(),
147
+ publicKey: ephemeralKeypair.publicKey.asArray().map(String),
148
+ hash: message.hash(ephemeralKeypair.publicKey).toString(),
146
149
  }));
147
150
  await (0, utils_1.relayTestMessages)({
148
151
  messages,
@@ -153,15 +156,15 @@ describe("keyChange tests", function test() {
153
156
  });
154
157
  it("should publish a message to change the poll key and cast a new vote", async () => {
155
158
  await (0, sdk_1.publish)({
156
- pubkey: pollPubKey2.serialize(),
159
+ publicKey: pollPublicKey2.serialize(),
157
160
  stateIndex,
158
161
  voteOptionIndex: initialVoteOption,
159
162
  nonce: initialNonce,
160
163
  pollId,
161
164
  newVoteWeight: initialVoteAmount - 1n,
162
165
  maciAddress: maciAddresses.maciContractAddress,
163
- salt: (0, crypto_1.genRandomSalt)(),
164
- privateKey: pollPrivKey1.serialize(),
166
+ salt: (0, crypto_1.generateRandomSalt)(),
167
+ privateKey: pollPrivateKey.serialize(),
165
168
  signer,
166
169
  });
167
170
  });
@@ -181,7 +184,7 @@ describe("keyChange tests", function test() {
181
184
  it("should confirm the tally is correct", async () => {
182
185
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
183
186
  (0, chai_1.expect)(tallyData.results.tally[0]).to.equal(expectedTally.toString());
184
- (0, chai_1.expect)(tallyData.perVOSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
187
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
185
188
  });
186
189
  });
187
190
  describe("keyChange and new vote (new vote has greater nonce and different vote option)", () => {
@@ -189,7 +192,7 @@ describe("keyChange tests", function test() {
189
192
  await (0, utils_1.clean)();
190
193
  });
191
194
  const user1Keypair = new domainobjs_1.Keypair();
192
- const { pubKey: pollPubKey2 } = new domainobjs_1.Keypair();
195
+ const { publicKey: pollPublicKey2 } = new domainobjs_1.Keypair();
193
196
  const initialNonce = 1n;
194
197
  const initialVoteOption = 0n;
195
198
  const initialVoteAmount = 9n;
@@ -198,9 +201,12 @@ describe("keyChange tests", function test() {
198
201
  const expectedTally = initialVoteAmount;
199
202
  const expectedPerVoteOptionTally = initialVoteAmount ** 2n;
200
203
  before(async () => {
201
- const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
204
+ const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
202
205
  const signupPolicyContractAddress = await signupPolicy.getAddress();
203
- const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
206
+ const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
207
+ policy: signupPolicyFactory,
208
+ checker: signupCheckerFactory,
209
+ }, signer, true);
204
210
  const pollPolicyContractAddress = await pollPolicy.getAddress();
205
211
  // deploy the smart contracts
206
212
  maciAddresses = await (0, sdk_1.deployMaci)({
@@ -218,25 +224,24 @@ describe("keyChange tests", function test() {
218
224
  relayers: [await signer.getAddress()],
219
225
  maciAddress: maciAddresses.maciContractAddress,
220
226
  verifierContractAddress,
221
- vkRegistryContractAddress: vkRegistryAddress,
227
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
222
228
  policyContractAddress: pollPolicyContractAddress,
223
229
  initialVoiceCreditProxyContractAddress,
224
230
  });
225
231
  stateIndex = BigInt(await (0, sdk_1.signup)({
226
232
  maciAddress: maciAddresses.maciContractAddress,
227
- maciPubKey: user1Keypair.pubKey.serialize(),
233
+ maciPublicKey: user1Keypair.publicKey.serialize(),
228
234
  sgData: constants_1.DEFAULT_SG_DATA,
229
235
  signer,
230
236
  }).then((result) => result.stateIndex));
231
237
  await (0, sdk_1.joinPoll)({
232
238
  maciAddress: maciAddresses.maciContractAddress,
233
- privateKey: user1Keypair.privKey.serialize(),
234
- stateIndex,
239
+ privateKey: user1Keypair.privateKey.serialize(),
235
240
  pollId,
236
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
241
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
237
242
  useWasm: true,
238
243
  pollWasm: constants_1.testPollJoiningWasmPath,
239
- pollWitgen: constants_1.testPollJoiningWitnessPath,
244
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
240
245
  rapidsnark: constants_1.testRapidsnarkPath,
241
246
  sgDataArg: constants_1.DEFAULT_SG_DATA,
242
247
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
@@ -246,14 +251,14 @@ describe("keyChange tests", function test() {
246
251
  {
247
252
  pollId,
248
253
  voteOptionIndex: initialVoteOption,
249
- salt: (0, crypto_1.genRandomSalt)(),
254
+ salt: (0, crypto_1.generateRandomSalt)(),
250
255
  nonce: initialNonce,
251
- privateKey: user1Keypair.privKey,
256
+ privateKey: user1Keypair.privateKey,
252
257
  stateIndex,
253
258
  voteWeight: initialVoteAmount,
254
- coordinatorPubKey: constants_1.coordinatorKeypair.pubKey,
259
+ coordinatorPublicKey: constants_1.coordinatorKeypair.publicKey,
255
260
  maxVoteOption: BigInt(core_1.VOTE_OPTION_TREE_ARITY ** constants_1.deployPollArgs.voteOptionTreeDepth),
256
- newPubKey: user1Keypair.pubKey,
261
+ newPublicKey: user1Keypair.publicKey,
257
262
  },
258
263
  ];
259
264
  const messages = votes
@@ -262,8 +267,8 @@ describe("keyChange tests", function test() {
262
267
  maciAddress: maciAddresses.maciContractAddress,
263
268
  poll: Number(pollId),
264
269
  data: message.data.map(String),
265
- publicKey: ephemeralKeypair.pubKey.asArray().map(String),
266
- hash: message.hash(ephemeralKeypair.pubKey).toString(),
270
+ publicKey: ephemeralKeypair.publicKey.asArray().map(String),
271
+ hash: message.hash(ephemeralKeypair.publicKey).toString(),
267
272
  }));
268
273
  await (0, utils_1.relayTestMessages)({
269
274
  messages,
@@ -274,15 +279,15 @@ describe("keyChange tests", function test() {
274
279
  });
275
280
  it("should publish a message to change the key and cast a new vote", async () => {
276
281
  await (0, sdk_1.publish)({
277
- pubkey: pollPubKey2.serialize(),
282
+ publicKey: pollPublicKey2.serialize(),
278
283
  stateIndex,
279
284
  voteOptionIndex: initialVoteOption + 1n,
280
285
  nonce: initialNonce + 1n,
281
286
  pollId,
282
287
  newVoteWeight: initialVoteAmount - 1n,
283
288
  maciAddress: maciAddresses.maciContractAddress,
284
- salt: (0, crypto_1.genRandomSalt)(),
285
- privateKey: user1Keypair.privKey.serialize(),
289
+ salt: (0, crypto_1.generateRandomSalt)(),
290
+ privateKey: user1Keypair.privateKey.serialize(),
286
291
  signer,
287
292
  });
288
293
  });
@@ -302,7 +307,7 @@ describe("keyChange tests", function test() {
302
307
  it("should confirm the tally is correct", async () => {
303
308
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
304
309
  (0, chai_1.expect)(tallyData.results.tally[0]).to.equal(expectedTally.toString());
305
- (0, chai_1.expect)(tallyData.perVOSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
310
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
306
311
  });
307
312
  });
308
313
  describe("keyChange and new vote (new vote has same nonce and different vote option)", () => {
@@ -319,9 +324,12 @@ describe("keyChange tests", function test() {
319
324
  const expectedTally = initialVoteAmount - 3n;
320
325
  const expectedPerVoteOptionTally = (initialVoteAmount - 3n) ** 2n;
321
326
  before(async () => {
322
- const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
327
+ const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
323
328
  const signupPolicyContractAddress = await signupPolicy.getAddress();
324
- const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
329
+ const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
330
+ policy: signupPolicyFactory,
331
+ checker: signupCheckerFactory,
332
+ }, signer, true);
325
333
  const pollPolicyContractAddress = await pollPolicy.getAddress();
326
334
  // deploy the smart contracts
327
335
  maciAddresses = await (0, sdk_1.deployMaci)({
@@ -339,40 +347,39 @@ describe("keyChange tests", function test() {
339
347
  relayers: [await signer.getAddress()],
340
348
  maciAddress: maciAddresses.maciContractAddress,
341
349
  verifierContractAddress,
342
- vkRegistryContractAddress: vkRegistryAddress,
350
+ verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
343
351
  policyContractAddress: pollPolicyContractAddress,
344
352
  initialVoiceCreditProxyContractAddress,
345
353
  });
346
354
  stateIndex = BigInt(await (0, sdk_1.signup)({
347
355
  maciAddress: maciAddresses.maciContractAddress,
348
- maciPubKey: user1Keypair.pubKey.serialize(),
356
+ maciPublicKey: user1Keypair.publicKey.serialize(),
349
357
  sgData: constants_1.DEFAULT_SG_DATA,
350
358
  signer,
351
359
  }).then((result) => result.stateIndex));
352
360
  await (0, sdk_1.joinPoll)({
353
361
  maciAddress: maciAddresses.maciContractAddress,
354
- privateKey: user1Keypair.privKey.serialize(),
355
- stateIndex,
362
+ privateKey: user1Keypair.privateKey.serialize(),
356
363
  pollId,
357
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
364
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
358
365
  useWasm: true,
359
366
  pollWasm: constants_1.testPollJoiningWasmPath,
360
- pollWitgen: constants_1.testPollJoiningWitnessPath,
367
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
361
368
  rapidsnark: constants_1.testRapidsnarkPath,
362
369
  sgDataArg: constants_1.DEFAULT_SG_DATA,
363
370
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
364
371
  signer,
365
372
  });
366
373
  await (0, sdk_1.publish)({
367
- pubkey: user1Keypair.pubKey.serialize(),
374
+ publicKey: user1Keypair.publicKey.serialize(),
368
375
  stateIndex,
369
376
  voteOptionIndex: initialVoteOption,
370
377
  nonce: initialNonce,
371
378
  pollId,
372
379
  newVoteWeight: initialVoteAmount,
373
380
  maciAddress: maciAddresses.maciContractAddress,
374
- salt: (0, crypto_1.genRandomSalt)(),
375
- privateKey: user1Keypair.privKey.serialize(),
381
+ salt: (0, crypto_1.generateRandomSalt)(),
382
+ privateKey: user1Keypair.privateKey.serialize(),
376
383
  signer,
377
384
  });
378
385
  });
@@ -381,14 +388,14 @@ describe("keyChange tests", function test() {
381
388
  {
382
389
  pollId,
383
390
  voteOptionIndex: initialVoteOption + 2n,
384
- salt: (0, crypto_1.genRandomSalt)(),
391
+ salt: (0, crypto_1.generateRandomSalt)(),
385
392
  nonce: initialNonce,
386
- privateKey: user1Keypair.privKey,
393
+ privateKey: user1Keypair.privateKey,
387
394
  stateIndex,
388
395
  voteWeight: initialVoteAmount - 2n,
389
- coordinatorPubKey: constants_1.coordinatorKeypair.pubKey,
396
+ coordinatorPublicKey: constants_1.coordinatorKeypair.publicKey,
390
397
  maxVoteOption: BigInt(core_1.VOTE_OPTION_TREE_ARITY ** constants_1.deployPollArgs.voteOptionTreeDepth),
391
- newPubKey: secondKeypair.pubKey,
398
+ newPublicKey: secondKeypair.publicKey,
392
399
  },
393
400
  ];
394
401
  const messages = votes
@@ -397,8 +404,8 @@ describe("keyChange tests", function test() {
397
404
  maciAddress: maciAddresses.maciContractAddress,
398
405
  poll: Number(pollId),
399
406
  data: message.data.map(String),
400
- publicKey: ephemeralKeypair.pubKey.asArray().map(String),
401
- hash: message.hash(ephemeralKeypair.pubKey).toString(),
407
+ publicKey: ephemeralKeypair.publicKey.asArray().map(String),
408
+ hash: message.hash(ephemeralKeypair.publicKey).toString(),
402
409
  }));
403
410
  await (0, utils_1.relayTestMessages)({
404
411
  messages,
@@ -409,15 +416,15 @@ describe("keyChange tests", function test() {
409
416
  });
410
417
  it("should publish a message to change the poll key, and a new vote", async () => {
411
418
  await (0, sdk_1.publish)({
412
- pubkey: secondKeypair.pubKey.serialize(),
419
+ publicKey: secondKeypair.publicKey.serialize(),
413
420
  stateIndex,
414
421
  voteOptionIndex: initialVoteOption + 2n,
415
422
  nonce: initialNonce,
416
423
  pollId,
417
424
  newVoteWeight: initialVoteAmount - 3n,
418
425
  maciAddress: maciAddresses.maciContractAddress,
419
- salt: (0, crypto_1.genRandomSalt)(),
420
- privateKey: user1Keypair.privKey.serialize(),
426
+ salt: (0, crypto_1.generateRandomSalt)(),
427
+ privateKey: user1Keypair.privateKey.serialize(),
421
428
  signer,
422
429
  });
423
430
  });
@@ -437,7 +444,7 @@ describe("keyChange tests", function test() {
437
444
  it("should confirm the tally is correct", async () => {
438
445
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
439
446
  (0, chai_1.expect)(tallyData.results.tally[2]).to.equal(expectedTally.toString());
440
- (0, chai_1.expect)(tallyData.perVOSpentVoiceCredits?.tally[2]).to.equal(expectedPerVoteOptionTally.toString());
447
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[2]).to.equal(expectedPerVoteOptionTally.toString());
441
448
  });
442
449
  });
443
450
  });
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=maciKeys.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maciKeys.test.d.ts","sourceRoot":"","sources":["../../../ts/__tests__/maciKeys.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const crypto_1 = require("@maci-protocol/crypto");
4
+ const domainobjs_1 = require("@maci-protocol/domainobjs");
5
+ const sdk_1 = require("@maci-protocol/sdk");
6
+ const chai_1 = require("chai");
7
+ const constants_1 = require("../constants");
8
+ const testingClass_1 = require("../testingClass");
9
+ describe("integration tests private/public/keypair", () => {
10
+ describe("crypto/domainobjs", () => {
11
+ it("should serialize and deserialize a private key correctly", () => {
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
+ });
18
+ it("should serialize and deserialize a public key correctly", () => {
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
+ });
27
+ it("should serialize and deserialize a private key correct after serializing as contract params", () => {
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
+ });
38
+ });
39
+ describe("crypto/domainobjs/contracts", () => {
40
+ let pollContract;
41
+ let testingClass;
42
+ let signer;
43
+ const coordinatorKeypair = new domainobjs_1.Keypair();
44
+ before(async () => {
45
+ signer = await (0, sdk_1.getDefaultSigner)();
46
+ testingClass = await testingClass_1.TestingClass.getInstance({
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
+ });
55
+ const pollContractAddress = testingClass.contractsData.polls[0];
56
+ pollContract = sdk_1.Poll__factory.connect(pollContractAddress, signer);
57
+ });
58
+ it("should have the correct coordinator public key set on chain", async () => {
59
+ const onChainKey = await pollContract.coordinatorPublicKey();
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
+ });
63
+ it("should serialize and deserialize the coordinator private key to match the on chain key", async () => {
64
+ const onChainKey = await pollContract.coordinatorPublicKey();
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
+ });
71
+ it("should have a matching coordinator public key hash", async () => {
72
+ const onChainKeyHash = await pollContract.coordinatorPublicKeyHash();
73
+ const coordinatorPublicKeyHash = coordinatorKeypair.publicKey.hash();
74
+ (0, chai_1.expect)(onChainKeyHash.toString()).to.eq(coordinatorPublicKeyHash.toString());
75
+ });
76
+ });
77
+ });
78
+ //# sourceMappingURL=maciKeys.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maciKeys.test.js","sourceRoot":"","sources":["../../../ts/__tests__/maciKeys.test.ts"],"names":[],"mappings":"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"}