@maci-protocol/testing 0.0.0-ci.8b07a49 → 0.0.0-ci.8bb6ea8

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 (59) 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 +839 -0
  5. package/build/ts/__tests__/e2e.full.test.js.map +1 -0
  6. package/build/ts/__tests__/e2e.nonQv.test.js +442 -45
  7. package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
  8. package/build/ts/__tests__/e2e.test.js +316 -308
  9. package/build/ts/__tests__/e2e.test.js.map +1 -1
  10. package/build/ts/__tests__/integration.test.js +75 -75
  11. package/build/ts/__tests__/integration.test.js.map +1 -1
  12. package/build/ts/__tests__/keyChange.test.js +100 -89
  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__/stress/stress.full.test.d.ts +2 -0
  19. package/build/ts/__tests__/stress/stress.full.test.d.ts.map +1 -0
  20. package/build/ts/__tests__/stress/stress.full.test.js +186 -0
  21. package/build/ts/__tests__/stress/stress.full.test.js.map +1 -0
  22. package/build/ts/__tests__/unit/joinPoll.test.js +69 -34
  23. package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
  24. package/build/ts/__tests__/unit/poll.test.js +11 -13
  25. package/build/ts/__tests__/unit/poll.test.js.map +1 -1
  26. package/build/ts/__tests__/unit/publish.test.js +17 -16
  27. package/build/ts/__tests__/unit/publish.test.js.map +1 -1
  28. package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts +2 -0
  29. package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts.map +1 -0
  30. package/build/ts/__tests__/unit/setVerifyingKeys.test.js +52 -0
  31. package/build/ts/__tests__/unit/setVerifyingKeys.test.js.map +1 -0
  32. package/build/ts/__tests__/unit/signup.test.js +12 -10
  33. package/build/ts/__tests__/unit/signup.test.js.map +1 -1
  34. package/build/ts/__tests__/unit/utils.test.js +12 -12
  35. package/build/ts/__tests__/unit/utils.test.js.map +1 -1
  36. package/build/ts/constants.d.ts +54 -55
  37. package/build/ts/constants.d.ts.map +1 -1
  38. package/build/ts/constants.js +116 -74
  39. package/build/ts/constants.js.map +1 -1
  40. package/build/ts/testingClass.d.ts +7 -7
  41. package/build/ts/testingClass.d.ts.map +1 -1
  42. package/build/ts/testingClass.js +45 -39
  43. package/build/ts/testingClass.js.map +1 -1
  44. package/build/ts/types.d.ts +10 -11
  45. package/build/ts/types.d.ts.map +1 -1
  46. package/build/ts/user.d.ts +5 -9
  47. package/build/ts/user.d.ts.map +1 -1
  48. package/build/ts/user.js +5 -6
  49. package/build/ts/user.js.map +1 -1
  50. package/build/ts/utils.d.ts +3 -3
  51. package/build/ts/utils.d.ts.map +1 -1
  52. package/build/ts/utils.js +12 -12
  53. package/build/ts/utils.js.map +1 -1
  54. package/build/tsconfig.tsbuildinfo +1 -1
  55. package/package.json +19 -18
  56. package/build/ts/__tests__/maci-keys.test.d.ts +0 -2
  57. package/build/ts/__tests__/maci-keys.test.d.ts.map +0 -1
  58. package/build/ts/__tests__/maci-keys.test.js +0 -78
  59. package/build/ts/__tests__/maci-keys.test.js.map +0 -1
@@ -16,45 +16,38 @@ describe("keyChange tests", function test() {
16
16
  this.timeout(900000);
17
17
  let maciAddresses;
18
18
  let initialVoiceCreditProxyContractAddress;
19
- let verifierContractAddress;
20
19
  let signer;
21
- let vkRegistryAddress;
22
20
  const generateProofsArgs = {
23
21
  outputDir: constants_1.testProofsDirPath,
24
22
  tallyFile: constants_1.testTallyFilePath,
25
- tallyZkey: constants_1.tallyVotesTestZkeyPath,
26
- processZkey: constants_1.processMessageTestZkeyPath,
23
+ voteTallyZkey: constants_1.testTallyVotesZkeyPath,
24
+ messageProcessorZkey: constants_1.testProcessMessageZkeyPath,
27
25
  pollId: 0n,
28
26
  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,
27
+ messageProcessorWitnessGenerator: constants_1.testProcessMessagesWitnessPath,
28
+ messageProcessorWitnessDatFile: constants_1.testProcessMessagesWitnessDatPath,
29
+ voteTallyWitnessGenerator: constants_1.testTallyVotesWitnessPath,
30
+ voteTallyWitnessDatFile: constants_1.testTallyVotesWitnessDatPath,
31
+ coordinatorPrivateKey: constants_1.coordinatorPrivateKey,
32
+ messageProcessorWasm: constants_1.testProcessMessagesWasmPath,
33
+ voteTallyWasm: constants_1.testTallyVotesWasmPath,
36
34
  useWasm,
37
- useQuadraticVoting: true,
35
+ mode: core_1.EMode.QV,
38
36
  };
39
- // before all tests we deploy the vk registry contract and set the verifying keys
37
+ // before all tests we deploy the verifying keys registry contract and set the verifying keys
40
38
  before(async () => {
41
39
  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);
40
+ const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
41
+ const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
45
42
  initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
46
- const verifier = await (0, sdk_1.deployVerifier)(signer, true);
47
- verifierContractAddress = await verifier.getAddress();
48
- // we set the verifying keys
49
- await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
50
43
  });
51
44
  describe("keyChange and new vote (new vote has same nonce)", () => {
52
45
  after(async () => {
53
46
  await (0, utils_1.clean)();
54
47
  });
55
48
  const user1Keypair = new domainobjs_1.Keypair();
56
- const { privKey: pollPrivKey1, pubKey: pollPubKey1 } = user1Keypair;
57
- const { pubKey: pollPubKey2 } = new domainobjs_1.Keypair();
49
+ const { privateKey: pollPrivateKey, publicKey: pollPublicKey1 } = user1Keypair;
50
+ const { publicKey: pollPublicKey2 } = new domainobjs_1.Keypair();
58
51
  const initialNonce = 1n;
59
52
  const initialVoteOption = 0n;
60
53
  const initialVoteAmount = 9n;
@@ -63,9 +56,12 @@ describe("keyChange tests", function test() {
63
56
  const expectedTally = initialVoteAmount - 1n;
64
57
  const expectedPerVoteOptionTally = (initialVoteAmount - 1n) ** 2n;
65
58
  before(async () => {
66
- const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
59
+ const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
67
60
  const signupPolicyContractAddress = await signupPolicy.getAddress();
68
- const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
61
+ const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
62
+ policy: signupPolicyFactory,
63
+ checker: signupCheckerFactory,
64
+ }, signer, true);
69
65
  const pollPolicyContractAddress = await pollPolicy.getAddress();
70
66
  // deploy the smart contracts
71
67
  maciAddresses = await (0, sdk_1.deployMaci)({
@@ -73,6 +69,12 @@ describe("keyChange tests", function test() {
73
69
  signer,
74
70
  signupPolicyAddress: signupPolicyContractAddress,
75
71
  });
72
+ // we set the verifying keys
73
+ const { verifyingKeysRegistryContractAddress } = maciAddresses;
74
+ await (0, sdk_1.setVerifyingKeys)({
75
+ ...(await (0, constants_1.verifyingKeysArgs)(signer)),
76
+ verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
77
+ });
76
78
  const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
77
79
  // deploy a poll contract
78
80
  await (0, sdk_1.deployPoll)({
@@ -82,41 +84,38 @@ describe("keyChange tests", function test() {
82
84
  pollEndTimestamp: startDate + constants_1.pollDuration,
83
85
  relayers: [await signer.getAddress()],
84
86
  maciAddress: maciAddresses.maciContractAddress,
85
- verifierContractAddress,
86
- vkRegistryContractAddress: vkRegistryAddress,
87
87
  policyContractAddress: pollPolicyContractAddress,
88
88
  initialVoiceCreditProxyContractAddress,
89
89
  });
90
90
  stateIndex = BigInt(await (0, sdk_1.signup)({
91
91
  maciAddress: maciAddresses.maciContractAddress,
92
- maciPubKey: user1Keypair.pubKey.serialize(),
92
+ maciPublicKey: user1Keypair.publicKey.serialize(),
93
93
  sgData: constants_1.DEFAULT_SG_DATA,
94
94
  signer,
95
95
  }).then((result) => result.stateIndex));
96
96
  await (0, sdk_1.joinPoll)({
97
97
  maciAddress: maciAddresses.maciContractAddress,
98
- privateKey: user1Keypair.privKey.serialize(),
99
- stateIndex,
98
+ privateKey: user1Keypair.privateKey.serialize(),
100
99
  pollId,
101
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
102
- useWasm: true,
100
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
101
+ useWasm,
103
102
  pollWasm: constants_1.testPollJoiningWasmPath,
104
- pollWitgen: constants_1.testPollJoiningWitnessPath,
103
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
105
104
  rapidsnark: constants_1.testRapidsnarkPath,
106
105
  sgDataArg: constants_1.DEFAULT_SG_DATA,
107
106
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
108
107
  signer,
109
108
  });
110
109
  await (0, sdk_1.publish)({
111
- pubkey: pollPubKey1.serialize(),
110
+ publicKey: pollPublicKey1.serialize(),
112
111
  stateIndex,
113
112
  voteOptionIndex: initialVoteOption,
114
113
  nonce: initialNonce,
115
114
  pollId,
116
115
  newVoteWeight: initialVoteAmount,
117
116
  maciAddress: maciAddresses.maciContractAddress,
118
- salt: (0, crypto_1.genRandomSalt)(),
119
- privateKey: pollPrivKey1.serialize(),
117
+ salt: (0, crypto_1.generateRandomSalt)(),
118
+ privateKey: pollPrivateKey.serialize(),
120
119
  signer,
121
120
  });
122
121
  });
@@ -125,14 +124,14 @@ describe("keyChange tests", function test() {
125
124
  {
126
125
  pollId,
127
126
  voteOptionIndex: initialVoteOption,
128
- salt: (0, crypto_1.genRandomSalt)(),
127
+ salt: (0, crypto_1.generateRandomSalt)(),
129
128
  nonce: initialNonce,
130
- privateKey: pollPrivKey1,
129
+ privateKey: pollPrivateKey,
131
130
  stateIndex,
132
131
  voteWeight: initialVoteAmount - 2n,
133
- coordinatorPubKey: constants_1.coordinatorKeypair.pubKey,
132
+ coordinatorPublicKey: constants_1.coordinatorKeypair.publicKey,
134
133
  maxVoteOption: BigInt(core_1.VOTE_OPTION_TREE_ARITY ** constants_1.deployPollArgs.voteOptionTreeDepth),
135
- newPubKey: pollPubKey2,
134
+ newPublicKey: pollPublicKey2,
136
135
  },
137
136
  ];
138
137
  const messages = votes
@@ -141,8 +140,8 @@ describe("keyChange tests", function test() {
141
140
  maciAddress: maciAddresses.maciContractAddress,
142
141
  poll: Number(pollId),
143
142
  data: message.data.map(String),
144
- publicKey: ephemeralKeypair.pubKey.asArray().map(String),
145
- hash: message.hash(ephemeralKeypair.pubKey).toString(),
143
+ publicKey: ephemeralKeypair.publicKey.asArray().map(String),
144
+ hash: message.hash(ephemeralKeypair.publicKey).toString(),
146
145
  }));
147
146
  await (0, utils_1.relayTestMessages)({
148
147
  messages,
@@ -153,15 +152,15 @@ describe("keyChange tests", function test() {
153
152
  });
154
153
  it("should publish a message to change the poll key and cast a new vote", async () => {
155
154
  await (0, sdk_1.publish)({
156
- pubkey: pollPubKey2.serialize(),
155
+ publicKey: pollPublicKey2.serialize(),
157
156
  stateIndex,
158
157
  voteOptionIndex: initialVoteOption,
159
158
  nonce: initialNonce,
160
159
  pollId,
161
160
  newVoteWeight: initialVoteAmount - 1n,
162
161
  maciAddress: maciAddresses.maciContractAddress,
163
- salt: (0, crypto_1.genRandomSalt)(),
164
- privateKey: pollPrivKey1.serialize(),
162
+ salt: (0, crypto_1.generateRandomSalt)(),
163
+ privateKey: pollPrivateKey.serialize(),
165
164
  signer,
166
165
  });
167
166
  });
@@ -181,7 +180,7 @@ describe("keyChange tests", function test() {
181
180
  it("should confirm the tally is correct", async () => {
182
181
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
183
182
  (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());
183
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[0]).to.equal(expectedPerVoteOptionTally.toString());
185
184
  });
186
185
  });
187
186
  describe("keyChange and new vote (new vote has greater nonce and different vote option)", () => {
@@ -189,7 +188,7 @@ describe("keyChange tests", function test() {
189
188
  await (0, utils_1.clean)();
190
189
  });
191
190
  const user1Keypair = new domainobjs_1.Keypair();
192
- const { pubKey: pollPubKey2 } = new domainobjs_1.Keypair();
191
+ const { publicKey: pollPublicKey2 } = new domainobjs_1.Keypair();
193
192
  const initialNonce = 1n;
194
193
  const initialVoteOption = 0n;
195
194
  const initialVoteAmount = 9n;
@@ -198,9 +197,12 @@ describe("keyChange tests", function test() {
198
197
  const expectedTally = initialVoteAmount;
199
198
  const expectedPerVoteOptionTally = initialVoteAmount ** 2n;
200
199
  before(async () => {
201
- const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
200
+ const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
202
201
  const signupPolicyContractAddress = await signupPolicy.getAddress();
203
- const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
202
+ const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
203
+ policy: signupPolicyFactory,
204
+ checker: signupCheckerFactory,
205
+ }, signer, true);
204
206
  const pollPolicyContractAddress = await pollPolicy.getAddress();
205
207
  // deploy the smart contracts
206
208
  maciAddresses = await (0, sdk_1.deployMaci)({
@@ -208,6 +210,12 @@ describe("keyChange tests", function test() {
208
210
  signer,
209
211
  signupPolicyAddress: signupPolicyContractAddress,
210
212
  });
213
+ // we set the verifying keys
214
+ const { verifyingKeysRegistryContractAddress } = maciAddresses;
215
+ await (0, sdk_1.setVerifyingKeys)({
216
+ ...(await (0, constants_1.verifyingKeysArgs)(signer)),
217
+ verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
218
+ });
211
219
  const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
212
220
  // deploy a poll contract
213
221
  await (0, sdk_1.deployPoll)({
@@ -217,26 +225,23 @@ describe("keyChange tests", function test() {
217
225
  pollEndTimestamp: startDate + constants_1.pollDuration,
218
226
  relayers: [await signer.getAddress()],
219
227
  maciAddress: maciAddresses.maciContractAddress,
220
- verifierContractAddress,
221
- vkRegistryContractAddress: vkRegistryAddress,
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,
237
- useWasm: true,
241
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
242
+ useWasm,
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)({
@@ -329,6 +337,12 @@ describe("keyChange tests", function test() {
329
337
  signer,
330
338
  signupPolicyAddress: signupPolicyContractAddress,
331
339
  });
340
+ // we set the verifying keys
341
+ const { verifyingKeysRegistryContractAddress } = maciAddresses;
342
+ await (0, sdk_1.setVerifyingKeys)({
343
+ ...(await (0, constants_1.verifyingKeysArgs)(signer)),
344
+ verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
345
+ });
332
346
  const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
333
347
  // deploy a poll contract
334
348
  await (0, sdk_1.deployPoll)({
@@ -338,41 +352,38 @@ describe("keyChange tests", function test() {
338
352
  pollEndTimestamp: startDate + constants_1.pollDuration,
339
353
  relayers: [await signer.getAddress()],
340
354
  maciAddress: maciAddresses.maciContractAddress,
341
- verifierContractAddress,
342
- vkRegistryContractAddress: vkRegistryAddress,
343
355
  policyContractAddress: pollPolicyContractAddress,
344
356
  initialVoiceCreditProxyContractAddress,
345
357
  });
346
358
  stateIndex = BigInt(await (0, sdk_1.signup)({
347
359
  maciAddress: maciAddresses.maciContractAddress,
348
- maciPubKey: user1Keypair.pubKey.serialize(),
360
+ maciPublicKey: user1Keypair.publicKey.serialize(),
349
361
  sgData: constants_1.DEFAULT_SG_DATA,
350
362
  signer,
351
363
  }).then((result) => result.stateIndex));
352
364
  await (0, sdk_1.joinPoll)({
353
365
  maciAddress: maciAddresses.maciContractAddress,
354
- privateKey: user1Keypair.privKey.serialize(),
355
- stateIndex,
366
+ privateKey: user1Keypair.privateKey.serialize(),
356
367
  pollId,
357
- pollJoiningZkey: constants_1.pollJoiningTestZkeyPath,
358
- useWasm: true,
368
+ pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
369
+ useWasm,
359
370
  pollWasm: constants_1.testPollJoiningWasmPath,
360
- pollWitgen: constants_1.testPollJoiningWitnessPath,
371
+ pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
361
372
  rapidsnark: constants_1.testRapidsnarkPath,
362
373
  sgDataArg: constants_1.DEFAULT_SG_DATA,
363
374
  ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
364
375
  signer,
365
376
  });
366
377
  await (0, sdk_1.publish)({
367
- pubkey: user1Keypair.pubKey.serialize(),
378
+ publicKey: user1Keypair.publicKey.serialize(),
368
379
  stateIndex,
369
380
  voteOptionIndex: initialVoteOption,
370
381
  nonce: initialNonce,
371
382
  pollId,
372
383
  newVoteWeight: initialVoteAmount,
373
384
  maciAddress: maciAddresses.maciContractAddress,
374
- salt: (0, crypto_1.genRandomSalt)(),
375
- privateKey: user1Keypair.privKey.serialize(),
385
+ salt: (0, crypto_1.generateRandomSalt)(),
386
+ privateKey: user1Keypair.privateKey.serialize(),
376
387
  signer,
377
388
  });
378
389
  });
@@ -381,14 +392,14 @@ describe("keyChange tests", function test() {
381
392
  {
382
393
  pollId,
383
394
  voteOptionIndex: initialVoteOption + 2n,
384
- salt: (0, crypto_1.genRandomSalt)(),
395
+ salt: (0, crypto_1.generateRandomSalt)(),
385
396
  nonce: initialNonce,
386
- privateKey: user1Keypair.privKey,
397
+ privateKey: user1Keypair.privateKey,
387
398
  stateIndex,
388
399
  voteWeight: initialVoteAmount - 2n,
389
- coordinatorPubKey: constants_1.coordinatorKeypair.pubKey,
400
+ coordinatorPublicKey: constants_1.coordinatorKeypair.publicKey,
390
401
  maxVoteOption: BigInt(core_1.VOTE_OPTION_TREE_ARITY ** constants_1.deployPollArgs.voteOptionTreeDepth),
391
- newPubKey: secondKeypair.pubKey,
402
+ newPublicKey: secondKeypair.publicKey,
392
403
  },
393
404
  ];
394
405
  const messages = votes
@@ -397,8 +408,8 @@ describe("keyChange tests", function test() {
397
408
  maciAddress: maciAddresses.maciContractAddress,
398
409
  poll: Number(pollId),
399
410
  data: message.data.map(String),
400
- publicKey: ephemeralKeypair.pubKey.asArray().map(String),
401
- hash: message.hash(ephemeralKeypair.pubKey).toString(),
411
+ publicKey: ephemeralKeypair.publicKey.asArray().map(String),
412
+ hash: message.hash(ephemeralKeypair.publicKey).toString(),
402
413
  }));
403
414
  await (0, utils_1.relayTestMessages)({
404
415
  messages,
@@ -409,15 +420,15 @@ describe("keyChange tests", function test() {
409
420
  });
410
421
  it("should publish a message to change the poll key, and a new vote", async () => {
411
422
  await (0, sdk_1.publish)({
412
- pubkey: secondKeypair.pubKey.serialize(),
423
+ publicKey: secondKeypair.publicKey.serialize(),
413
424
  stateIndex,
414
425
  voteOptionIndex: initialVoteOption + 2n,
415
426
  nonce: initialNonce,
416
427
  pollId,
417
428
  newVoteWeight: initialVoteAmount - 3n,
418
429
  maciAddress: maciAddresses.maciContractAddress,
419
- salt: (0, crypto_1.genRandomSalt)(),
420
- privateKey: user1Keypair.privKey.serialize(),
430
+ salt: (0, crypto_1.generateRandomSalt)(),
431
+ privateKey: user1Keypair.privateKey.serialize(),
421
432
  signer,
422
433
  });
423
434
  });
@@ -437,7 +448,7 @@ describe("keyChange tests", function test() {
437
448
  it("should confirm the tally is correct", async () => {
438
449
  const tallyData = JSON.parse(await fs_1.default.promises.readFile(constants_1.testTallyFilePath).then((res) => res.toString()));
439
450
  (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());
451
+ (0, chai_1.expect)(tallyData.perVoteOptionSpentVoiceCredits?.tally[2]).to.equal(expectedPerVoteOptionTally.toString());
441
452
  });
442
453
  });
443
454
  });
@@ -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":";;;;;AAAA,8CAAoE;AACpE,kDAA2D;AAC3D,0DAAoD;AACpD,4CAsB4B;AAC5B,+BAA8B;AAE9B,4CAAoB;AAIpB,4CA4BsB;AACtB,oCAAwE;AAExE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,IAAI;IACvC,MAAM,OAAO,GAAG,IAAA,WAAK,GAAE,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,IAAI,aAA6B,CAAC;IAClC,IAAI,sCAA8C,CAAC;IACnD,IAAI,MAAc,CAAC;IAEnB,MAAM,kBAAkB,GAAwD;QAC9E,SAAS,EAAE,6BAAiB;QAC5B,SAAS,EAAE,6BAAiB;QAC5B,aAAa,EAAE,kCAAsB;QACrC,oBAAoB,EAAE,sCAA0B;QAChD,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,8BAAkB;QAC9B,gCAAgC,EAAE,0CAA8B;QAChE,8BAA8B,EAAE,6CAAiC;QACjE,yBAAyB,EAAE,qCAAyB;QACpD,uBAAuB,EAAE,wCAA4B;QACrD,qBAAqB,EAArB,iCAAqB;QACrB,oBAAoB,EAAE,uCAA2B;QACjD,aAAa,EAAE,kCAAsB;QACrC,OAAO;QACP,IAAI,EAAE,YAAK,CAAC,EAAE;KACf,CAAC;IAEF,6FAA6F;IAC7F,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,GAAG,MAAM,IAAA,sBAAgB,GAAE,CAAC;QAElC,MAAM,sCAAsC,GAAG,MAAM,IAAA,kDAA4C,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChH,MAAM,uBAAuB,GAAG,MAAM,IAAA,2CAAqC,EACzE,EAAE,MAAM,EAAE,yCAA6B,EAAE,EACzC,sCAAsC,EACtC,MAAM,CACP,CAAC;QACF,sCAAsC,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAChE,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAA,aAAK,GAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,oBAAO,EAAE,CAAC;QACnC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;QAC/E,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,oBAAO,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,iBAAiB,GAAG,EAAE,CAAC;QAC7C,MAAM,0BAA0B,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAElE,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,CAAC,YAAY,EAAE,AAAD,EAAG,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACpG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAEpE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACrD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE,oBAAoB;aAC9B,EACD,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAEhE,6BAA6B;YAC7B,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;gBAC/B,GAAG,sBAAU;gBACb,MAAM;gBACN,mBAAmB,EAAE,2BAA2B;aACjD,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,EAAE,oCAAoC,EAAE,GAAG,aAAa,CAAC;YAC/D,MAAM,IAAA,sBAAgB,EAAC;gBACrB,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;gBACpC,4BAA4B,EAAE,oCAAoC;aACnE,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC;YAElD,yBAAyB;YACzB,MAAM,IAAA,gBAAU,EAAC;gBACf,GAAG,0BAAc;gBACjB,MAAM;gBACN,kBAAkB,EAAE,SAAS;gBAC7B,gBAAgB,EAAE,SAAS,GAAG,wBAAY;gBAC1C,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,qBAAqB,EAAE,yBAAyB;gBAChD,sCAAsC;aACvC,CAAC,CAAC;YACH,UAAU,GAAG,MAAM,CACjB,MAAM,IAAA,YAAM,EAAC;gBACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE;gBACjD,MAAM,EAAE,2BAAe;gBACvB,MAAM;aACP,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CACvC,CAAC;YACF,MAAM,IAAA,cAAQ,EAAC;gBACb,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,MAAM;gBACN,eAAe,EAAE,mCAAuB;gBACxC,OAAO;gBACP,QAAQ,EAAE,mCAAuB;gBACjC,oBAAoB,EAAE,sCAA0B;gBAChD,UAAU,EAAE,8BAAkB;gBAC9B,SAAS,EAAE,2BAAe;gBAC1B,WAAW,EAAE,6BAAiB;gBAC9B,MAAM;aACP,CAAC,CAAC;YACH,MAAM,IAAA,aAAO,EAAC;gBACZ,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE;gBACrC,UAAU;gBACV,eAAe,EAAE,iBAAiB;gBAClC,KAAK,EAAE,YAAY;gBACnB,MAAM;gBACN,aAAa,EAAE,iBAAiB;gBAChC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,IAAA,2BAAkB,GAAE;gBAC1B,UAAU,EAAE,cAAc,CAAC,SAAS,EAAE;gBACtC,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,KAAK,GAAG;gBACZ;oBACE,MAAM;oBACN,eAAe,EAAE,iBAAiB;oBAClC,IAAI,EAAE,IAAA,2BAAkB,GAAE;oBAC1B,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,cAAc;oBAC1B,UAAU;oBACV,UAAU,EAAE,iBAAiB,GAAG,EAAE;oBAClC,oBAAoB,EAAE,8BAAkB,CAAC,SAAS;oBAClD,aAAa,EAAE,MAAM,CAAC,6BAAsB,IAAI,0BAAc,CAAC,mBAAmB,CAAC;oBACnF,YAAY,EAAE,cAAc;iBAC7B;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,KAAK;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,IAAI,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC3D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;aAC1D,CAAC,CAAC,CAAC;YAEN,MAAM,IAAA,yBAAiB,EAAC;gBACtB,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,WAAW,EAAE,aAAa,CAAC,mBAAmB;aAC/C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,IAAA,aAAO,EAAC;gBACZ,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE;gBACrC,UAAU;gBACV,eAAe,EAAE,iBAAiB;gBAClC,KAAK,EAAE,YAAY;gBACnB,MAAM;gBACN,aAAa,EAAE,iBAAiB,GAAG,EAAE;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,IAAA,2BAAkB,GAAE;gBAC1B,UAAU,EAAE,cAAc,CAAC,SAAS,EAAE;gBACtC,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,sBAAsB,GAAG,MAAM,IAAA,0BAAkB,GAAE,CAAC;YAC1D,MAAM,IAAA,gBAAU,EAAC,EAAE,GAAG,0BAAc,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,MAAM,IAAA,kBAAY,EAAC,EAAE,GAAG,4BAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,IAAA,oBAAc,EAAC;gBACnB,GAAG,kBAAkB;gBACrB,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,MAAM;gBACN,sBAAsB;aACvB,CAAC,CAAC;YACH,MAAM,IAAA,kBAAY,EAAC,EAAE,GAAG,4BAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,IAAA,YAAM,EAAC,EAAE,GAAG,CAAC,MAAM,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,6BAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAC9D,CAAC;YAChB,IAAA,aAAM,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,IAAA,aAAM,EAAC,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+EAA+E,EAAE,GAAG,EAAE;QAC7F,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAA,aAAK,GAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,oBAAO,EAAE,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,oBAAO,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACxC,MAAM,0BAA0B,GAAG,iBAAiB,IAAI,EAAE,CAAC;QAE3D,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,CAAC,YAAY,EAAE,AAAD,EAAG,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACpG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAEpE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACrD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE,oBAAoB;aAC9B,EACD,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAEhE,6BAA6B;YAC7B,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;gBAC/B,GAAG,sBAAU;gBACb,MAAM;gBACN,mBAAmB,EAAE,2BAA2B;aACjD,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,EAAE,oCAAoC,EAAE,GAAG,aAAa,CAAC;YAC/D,MAAM,IAAA,sBAAgB,EAAC;gBACrB,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;gBACpC,4BAA4B,EAAE,oCAAoC;aACnE,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC;YAElD,yBAAyB;YACzB,MAAM,IAAA,gBAAU,EAAC;gBACf,GAAG,0BAAc;gBACjB,MAAM;gBACN,kBAAkB,EAAE,SAAS;gBAC7B,gBAAgB,EAAE,SAAS,GAAG,wBAAY;gBAC1C,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,qBAAqB,EAAE,yBAAyB;gBAChD,sCAAsC;aACvC,CAAC,CAAC;YACH,UAAU,GAAG,MAAM,CACjB,MAAM,IAAA,YAAM,EAAC;gBACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE;gBACjD,MAAM,EAAE,2BAAe;gBACvB,MAAM;aACP,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CACvC,CAAC;YACF,MAAM,IAAA,cAAQ,EAAC;gBACb,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,MAAM;gBACN,eAAe,EAAE,mCAAuB;gBACxC,OAAO;gBACP,QAAQ,EAAE,mCAAuB;gBACjC,oBAAoB,EAAE,sCAA0B;gBAChD,UAAU,EAAE,8BAAkB;gBAC9B,SAAS,EAAE,2BAAe;gBAC1B,WAAW,EAAE,6BAAiB;gBAC9B,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG;gBACZ;oBACE,MAAM;oBACN,eAAe,EAAE,iBAAiB;oBAClC,IAAI,EAAE,IAAA,2BAAkB,GAAE;oBAC1B,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,UAAU;oBACV,UAAU,EAAE,iBAAiB;oBAC7B,oBAAoB,EAAE,8BAAkB,CAAC,SAAS;oBAClD,aAAa,EAAE,MAAM,CAAC,6BAAsB,IAAI,0BAAc,CAAC,mBAAmB,CAAC;oBACnF,YAAY,EAAE,YAAY,CAAC,SAAS;iBACrC;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,KAAK;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,IAAI,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC3D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;aAC1D,CAAC,CAAC,CAAC;YAEN,MAAM,IAAA,yBAAiB,EAAC;gBACtB,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,WAAW,EAAE,aAAa,CAAC,mBAAmB;aAC/C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,IAAA,aAAO,EAAC;gBACZ,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE;gBACrC,UAAU;gBACV,eAAe,EAAE,iBAAiB,GAAG,EAAE;gBACvC,KAAK,EAAE,YAAY,GAAG,EAAE;gBACxB,MAAM;gBACN,aAAa,EAAE,iBAAiB,GAAG,EAAE;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,IAAA,2BAAkB,GAAE;gBAC1B,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,sBAAsB,GAAG,MAAM,IAAA,0BAAkB,GAAE,CAAC;YAC1D,MAAM,IAAA,gBAAU,EAAC,EAAE,GAAG,0BAAc,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,MAAM,IAAA,kBAAY,EAAC,EAAE,GAAG,4BAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,IAAA,oBAAc,EAAC;gBACnB,GAAG,kBAAkB;gBACrB,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,MAAM;gBACN,sBAAsB;aACvB,CAAC,CAAC;YACH,MAAM,IAAA,kBAAY,EAAC,EAAE,GAAG,4BAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,IAAA,YAAM,EAAC,EAAE,GAAG,CAAC,MAAM,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,6BAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAC9D,CAAC;YAChB,IAAA,aAAM,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,IAAA,aAAM,EAAC,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4EAA4E,EAAE,GAAG,EAAE;QAC1F,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAA,aAAK,GAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,oBAAO,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,oBAAO,EAAE,CAAC;QAEpC,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,iBAAiB,GAAG,EAAE,CAAC;QAC7C,MAAM,0BAA0B,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAElE,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,CAAC,YAAY,EAAE,AAAD,EAAG,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACpG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAEpE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACrD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE,oBAAoB;aAC9B,EACD,MAAM,EACN,IAAI,CACL,CAAC;YACF,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAEhE,6BAA6B;YAC7B,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;gBAC/B,GAAG,sBAAU;gBACb,MAAM;gBACN,mBAAmB,EAAE,2BAA2B;aACjD,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,EAAE,oCAAoC,EAAE,GAAG,aAAa,CAAC;YAC/D,MAAM,IAAA,sBAAgB,EAAC;gBACrB,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;gBACpC,4BAA4B,EAAE,oCAAoC;aACnE,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC;YAElD,yBAAyB;YACzB,MAAM,IAAA,gBAAU,EAAC;gBACf,GAAG,0BAAc;gBACjB,MAAM;gBACN,kBAAkB,EAAE,SAAS;gBAC7B,gBAAgB,EAAE,SAAS,GAAG,wBAAY;gBAC1C,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,qBAAqB,EAAE,yBAAyB;gBAChD,sCAAsC;aACvC,CAAC,CAAC;YACH,UAAU,GAAG,MAAM,CACjB,MAAM,IAAA,YAAM,EAAC;gBACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE;gBACjD,MAAM,EAAE,2BAAe;gBACvB,MAAM;aACP,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CACvC,CAAC;YACF,MAAM,IAAA,cAAQ,EAAC;gBACb,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,MAAM;gBACN,eAAe,EAAE,mCAAuB;gBACxC,OAAO;gBACP,QAAQ,EAAE,mCAAuB;gBACjC,oBAAoB,EAAE,sCAA0B;gBAChD,UAAU,EAAE,8BAAkB;gBAC9B,SAAS,EAAE,2BAAe;gBAC1B,WAAW,EAAE,6BAAiB;gBAC9B,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,IAAA,aAAO,EAAC;gBACZ,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC7C,UAAU;gBACV,eAAe,EAAE,iBAAiB;gBAClC,KAAK,EAAE,YAAY;gBACnB,MAAM;gBACN,aAAa,EAAE,iBAAiB;gBAChC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,IAAA,2BAAkB,GAAE;gBAC1B,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,KAAK,GAAG;gBACZ;oBACE,MAAM;oBACN,eAAe,EAAE,iBAAiB,GAAG,EAAE;oBACvC,IAAI,EAAE,IAAA,2BAAkB,GAAE;oBAC1B,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,UAAU;oBACV,UAAU,EAAE,iBAAiB,GAAG,EAAE;oBAClC,oBAAoB,EAAE,8BAAkB,CAAC,SAAS;oBAClD,aAAa,EAAE,MAAM,CAAC,6BAAsB,IAAI,0BAAc,CAAC,mBAAmB,CAAC;oBACnF,YAAY,EAAE,aAAa,CAAC,SAAS;iBACtC;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,KAAK;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,IAAI,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC3D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;aAC1D,CAAC,CAAC,CAAC;YAEN,MAAM,IAAA,yBAAiB,EAAC;gBACtB,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,WAAW,EAAE,aAAa,CAAC,mBAAmB;aAC/C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,IAAA,aAAO,EAAC;gBACZ,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC9C,UAAU;gBACV,eAAe,EAAE,iBAAiB,GAAG,EAAE;gBACvC,KAAK,EAAE,YAAY;gBACnB,MAAM;gBACN,aAAa,EAAE,iBAAiB,GAAG,EAAE;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,IAAI,EAAE,IAAA,2BAAkB,GAAE;gBAC1B,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,sBAAsB,GAAG,MAAM,IAAA,0BAAkB,GAAE,CAAC;YAC1D,MAAM,IAAA,gBAAU,EAAC,EAAE,GAAG,0BAAc,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,MAAM,IAAA,kBAAY,EAAC,EAAE,GAAG,4BAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,IAAA,oBAAc,EAAC;gBACnB,GAAG,kBAAkB;gBACrB,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,MAAM;gBACN,sBAAsB;aACvB,CAAC,CAAC;YACH,MAAM,IAAA,kBAAY,EAAC,EAAE,GAAG,4BAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,IAAA,YAAM,EAAC,EAAE,GAAG,CAAC,MAAM,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,6BAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAC9D,CAAC;YAChB,IAAA,aAAM,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,IAAA,aAAM,EAAC,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stress.full.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stress.full.test.d.ts","sourceRoot":"","sources":["../../../../ts/__tests__/stress/stress.full.test.ts"],"names":[],"mappings":""}