@maci-protocol/testing 0.0.0-ci.f433bba → 0.0.0-ci.f446b8f
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.
- package/LICENSE +1 -2
- package/build/ts/__tests__/e2e.full.test.d.ts +2 -0
- package/build/ts/__tests__/e2e.full.test.d.ts.map +1 -0
- package/build/ts/__tests__/e2e.full.test.js +839 -0
- package/build/ts/__tests__/e2e.full.test.js.map +1 -0
- package/build/ts/__tests__/e2e.nonQv.test.js +438 -41
- package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
- package/build/ts/__tests__/e2e.test.js +297 -289
- package/build/ts/__tests__/e2e.test.js.map +1 -1
- package/build/ts/__tests__/integration.test.js +69 -72
- package/build/ts/__tests__/integration.test.js.map +1 -1
- package/build/ts/__tests__/keyChange.test.js +85 -83
- package/build/ts/__tests__/keyChange.test.js.map +1 -1
- package/build/ts/__tests__/maciKeys.test.d.ts +2 -0
- package/build/ts/__tests__/maciKeys.test.d.ts.map +1 -0
- package/build/ts/__tests__/maciKeys.test.js +78 -0
- package/build/ts/__tests__/maciKeys.test.js.map +1 -0
- package/build/ts/__tests__/stress/stress.full.test.d.ts +2 -0
- package/build/ts/__tests__/stress/stress.full.test.d.ts.map +1 -0
- package/build/ts/__tests__/stress/stress.full.test.js +186 -0
- package/build/ts/__tests__/stress/stress.full.test.js.map +1 -0
- package/build/ts/__tests__/unit/joinPoll.test.js +67 -32
- package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
- package/build/ts/__tests__/unit/poll.test.js +9 -11
- package/build/ts/__tests__/unit/poll.test.js.map +1 -1
- package/build/ts/__tests__/unit/publish.test.js +12 -14
- package/build/ts/__tests__/unit/publish.test.js.map +1 -1
- package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts +2 -0
- package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/setVerifyingKeys.test.js +52 -0
- package/build/ts/__tests__/unit/setVerifyingKeys.test.js.map +1 -0
- package/build/ts/__tests__/unit/signup.test.js +11 -9
- package/build/ts/__tests__/unit/signup.test.js.map +1 -1
- package/build/ts/__tests__/unit/utils.test.js +12 -12
- package/build/ts/__tests__/unit/utils.test.js.map +1 -1
- package/build/ts/constants.d.ts +54 -55
- package/build/ts/constants.d.ts.map +1 -1
- package/build/ts/constants.js +116 -74
- package/build/ts/constants.js.map +1 -1
- package/build/ts/testingClass.d.ts +7 -7
- package/build/ts/testingClass.d.ts.map +1 -1
- package/build/ts/testingClass.js +40 -37
- package/build/ts/testingClass.js.map +1 -1
- package/build/ts/types.d.ts +10 -11
- package/build/ts/types.d.ts.map +1 -1
- package/build/ts/user.d.ts +5 -9
- package/build/ts/user.d.ts.map +1 -1
- package/build/ts/user.js +5 -6
- package/build/ts/user.js.map +1 -1
- package/build/ts/utils.d.ts +3 -3
- package/build/ts/utils.d.ts.map +1 -1
- package/build/ts/utils.js +12 -12
- package/build/ts/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -18
- package/build/ts/__tests__/maci-keys.test.d.ts +0 -2
- package/build/ts/__tests__/maci-keys.test.d.ts.map +0 -1
- package/build/ts/__tests__/maci-keys.test.js +0 -78
- package/build/ts/__tests__/maci-keys.test.js.map +0 -1
|
@@ -0,0 +1,186 @@
|
|
|
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 constants_1 = require("../../constants");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const filePerMode = {
|
|
9
|
+
[sdk_1.EMode.FULL]: {
|
|
10
|
+
voteTallyZkey: constants_1.testTallyVotesFullZkeyPath,
|
|
11
|
+
messageProcessorZkey: constants_1.testProcessMessageFullZkeyPath,
|
|
12
|
+
messageProcessorWitnessGenerator: constants_1.testProcessMessagesFullWitnessPath,
|
|
13
|
+
messageProcessorWitnessDatFile: constants_1.testProcessMessagesFullWitnessDatPath,
|
|
14
|
+
voteTallyWitnessGenerator: constants_1.testTallyVotesFullWitnessPath,
|
|
15
|
+
voteTallyWitnessDatFile: constants_1.testTallyVotesFullWitnessDatPath,
|
|
16
|
+
messageProcessorWasm: constants_1.testProcessMessagesFullWasmPath,
|
|
17
|
+
voteTallyWasm: constants_1.testTallyVotesFullWasmPath,
|
|
18
|
+
},
|
|
19
|
+
[sdk_1.EMode.NON_QV]: {
|
|
20
|
+
voteTallyZkey: constants_1.testVoteTallyNonQvZkeyPath,
|
|
21
|
+
messageProcessorZkey: constants_1.testProcessMessageNonQvZkeyPath,
|
|
22
|
+
messageProcessorWitnessGenerator: constants_1.testProcessMessagesNonQvWitnessPath,
|
|
23
|
+
messageProcessorWitnessDatFile: constants_1.testProcessMessagesNonQvWitnessDatPath,
|
|
24
|
+
voteTallyWitnessGenerator: constants_1.testVoteTallyNonQvWitnessPath,
|
|
25
|
+
voteTallyWitnessDatFile: constants_1.testVoteTallyNonQvWitnessDatPath,
|
|
26
|
+
messageProcessorWasm: constants_1.testProcessMessagesNonQvWasmPath,
|
|
27
|
+
voteTallyWasm: constants_1.testVoteTallyNonQvWasmPath,
|
|
28
|
+
},
|
|
29
|
+
[sdk_1.EMode.QV]: {
|
|
30
|
+
voteTallyZkey: constants_1.testTallyVotesZkeyPath,
|
|
31
|
+
messageProcessorZkey: constants_1.testProcessMessageZkeyPath,
|
|
32
|
+
messageProcessorWitnessGenerator: constants_1.testProcessMessagesWitnessPath,
|
|
33
|
+
messageProcessorWitnessDatFile: constants_1.testProcessMessagesWitnessDatPath,
|
|
34
|
+
voteTallyWitnessGenerator: constants_1.testTallyVotesWitnessPath,
|
|
35
|
+
voteTallyWitnessDatFile: constants_1.testTallyVotesWitnessDatPath,
|
|
36
|
+
messageProcessorWasm: constants_1.testProcessMessagesWasmPath,
|
|
37
|
+
voteTallyWasm: constants_1.testTallyVotesWasmPath,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
const numberSignups = 100;
|
|
41
|
+
const numberMessagesPerUser = 2;
|
|
42
|
+
const pollDuration = 900000;
|
|
43
|
+
Object.entries(filePerMode).forEach((data) => {
|
|
44
|
+
const mode = Number(data[0]);
|
|
45
|
+
const files = data[1];
|
|
46
|
+
describe(`stress tests ${sdk_1.EMode[mode]}`, function test() {
|
|
47
|
+
const useWasm = (0, sdk_1.isArm)();
|
|
48
|
+
this.timeout(pollDuration);
|
|
49
|
+
let maciAddresses;
|
|
50
|
+
let initialVoiceCreditProxyContractAddress;
|
|
51
|
+
let signer;
|
|
52
|
+
const generateProofsArgs = {
|
|
53
|
+
outputDir: constants_1.testProofsDirPath,
|
|
54
|
+
tallyFile: constants_1.testTallyFilePath,
|
|
55
|
+
voteTallyZkey: files.voteTallyZkey,
|
|
56
|
+
messageProcessorZkey: files.messageProcessorZkey,
|
|
57
|
+
pollId: 0n,
|
|
58
|
+
rapidsnark: constants_1.testRapidsnarkPath,
|
|
59
|
+
messageProcessorWitnessGenerator: files.messageProcessorWitnessGenerator,
|
|
60
|
+
messageProcessorWitnessDatFile: files.messageProcessorWitnessDatFile,
|
|
61
|
+
voteTallyWitnessGenerator: files.voteTallyWitnessGenerator,
|
|
62
|
+
voteTallyWitnessDatFile: files.voteTallyWitnessDatFile,
|
|
63
|
+
coordinatorPrivateKey: constants_1.coordinatorPrivateKey,
|
|
64
|
+
messageProcessorWasm: files.messageProcessorWasm,
|
|
65
|
+
voteTallyWasm: files.voteTallyWasm,
|
|
66
|
+
useWasm,
|
|
67
|
+
mode,
|
|
68
|
+
};
|
|
69
|
+
const prepareTest = async () => {
|
|
70
|
+
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
71
|
+
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
72
|
+
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
73
|
+
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
74
|
+
// deploy the smart contracts
|
|
75
|
+
const maciContractsAddresses = await (0, sdk_1.deployMaci)({
|
|
76
|
+
...constants_1.deployArgs,
|
|
77
|
+
signer,
|
|
78
|
+
signupPolicyAddress: signupPolicyContractAddress,
|
|
79
|
+
});
|
|
80
|
+
// we set the verifying keys
|
|
81
|
+
const { verifyingKeysRegistryContractAddress } = maciContractsAddresses;
|
|
82
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
83
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer, [mode])),
|
|
84
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
|
|
85
|
+
});
|
|
86
|
+
const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
|
|
87
|
+
// deploy a poll contract
|
|
88
|
+
await (0, sdk_1.deployPoll)({
|
|
89
|
+
...constants_1.deployPollArgs,
|
|
90
|
+
signer,
|
|
91
|
+
pollStartTimestamp: startDate,
|
|
92
|
+
pollEndTimestamp: startDate + pollDuration,
|
|
93
|
+
relayers: [await signer.getAddress()],
|
|
94
|
+
maciAddress: maciContractsAddresses.maciContractAddress,
|
|
95
|
+
policyContractAddress: pollPolicyContractAddress,
|
|
96
|
+
initialVoiceCreditProxyContractAddress,
|
|
97
|
+
mode,
|
|
98
|
+
});
|
|
99
|
+
return maciContractsAddresses;
|
|
100
|
+
};
|
|
101
|
+
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
102
|
+
before(async () => {
|
|
103
|
+
signer = await (0, sdk_1.getDefaultSigner)();
|
|
104
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
105
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
106
|
+
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
107
|
+
});
|
|
108
|
+
describe(`${numberSignups} signup(s), ${numberSignups * numberMessagesPerUser} message(s)`, () => {
|
|
109
|
+
const users = Array.from({ length: numberSignups }, () => new domainobjs_1.Keypair());
|
|
110
|
+
before(async () => {
|
|
111
|
+
// deploy the smart contracts
|
|
112
|
+
maciAddresses = await prepareTest();
|
|
113
|
+
});
|
|
114
|
+
after(async () => {
|
|
115
|
+
await (0, utils_1.clean)();
|
|
116
|
+
});
|
|
117
|
+
it("should signup users", async () => {
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
119
|
+
for (let index = 0; index < users.length; index += 1) {
|
|
120
|
+
// eslint-disable-next-line no-await-in-loop
|
|
121
|
+
await (0, sdk_1.signup)({
|
|
122
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
123
|
+
maciPublicKey: users[index].publicKey.serialize(),
|
|
124
|
+
sgData: constants_1.DEFAULT_SG_DATA,
|
|
125
|
+
signer,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
it("should join users", async () => {
|
|
130
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
131
|
+
for (let index = 0; index < users.length; index += 1) {
|
|
132
|
+
// eslint-disable-next-line no-await-in-loop
|
|
133
|
+
await (0, sdk_1.joinPoll)({
|
|
134
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
135
|
+
privateKey: users[index].privateKey.serialize(),
|
|
136
|
+
pollId: 0n,
|
|
137
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
138
|
+
useWasm,
|
|
139
|
+
pollWasm: constants_1.testPollJoiningWasmPath,
|
|
140
|
+
pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
|
|
141
|
+
rapidsnark: constants_1.testRapidsnarkPath,
|
|
142
|
+
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
143
|
+
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
144
|
+
signer,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
it("should publish messages", async () => {
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
150
|
+
for (let index = 0; index < users.length; index += 1) {
|
|
151
|
+
for (let voteOptionIndex = numberMessagesPerUser; voteOptionIndex >= 0; voteOptionIndex -= 1) {
|
|
152
|
+
// eslint-disable-next-line no-await-in-loop
|
|
153
|
+
await (0, sdk_1.publish)({
|
|
154
|
+
publicKey: users[index].publicKey.serialize(),
|
|
155
|
+
stateIndex: BigInt(index + 1),
|
|
156
|
+
voteOptionIndex: BigInt(voteOptionIndex),
|
|
157
|
+
nonce: 1n,
|
|
158
|
+
pollId: 0n,
|
|
159
|
+
newVoteWeight: BigInt(constants_1.DEFAULT_INITIAL_VOICE_CREDITS),
|
|
160
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
161
|
+
salt: (0, crypto_1.generateRandomSalt)(),
|
|
162
|
+
privateKey: users[index].privateKey.serialize(),
|
|
163
|
+
signer,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
it("should generate zk-SNARK proofs and verify them", async () => {
|
|
169
|
+
await (0, sdk_1.timeTravel)({ seconds: pollDuration, signer });
|
|
170
|
+
await (0, sdk_1.mergeSignups)({ ...constants_1.mergeSignupsArgs, maciAddress: maciAddresses.maciContractAddress, signer });
|
|
171
|
+
const { tallyData: tallyFileData } = await (0, sdk_1.generateProofs)({
|
|
172
|
+
...generateProofsArgs,
|
|
173
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
174
|
+
signer,
|
|
175
|
+
});
|
|
176
|
+
await (0, sdk_1.proveOnChain)({ ...constants_1.proveOnChainArgs, maciAddress: maciAddresses.maciContractAddress, signer });
|
|
177
|
+
await (0, sdk_1.verify)({
|
|
178
|
+
...(await (0, constants_1.verifyArgs)(signer)),
|
|
179
|
+
tallyData: tallyFileData,
|
|
180
|
+
maciAddress: tallyFileData.maci,
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
//# sourceMappingURL=stress.full.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stress.full.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/stress/stress.full.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,45 +2,57 @@
|
|
|
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");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
const useWasm = (0, utils_1.isArm)();
|
|
7
10
|
describe("joinPoll", function test() {
|
|
8
11
|
let signer;
|
|
9
12
|
let maciAddresses;
|
|
10
13
|
let initialVoiceCreditProxyContractAddress;
|
|
11
|
-
|
|
12
|
-
const user = new domainobjs_1.Keypair();
|
|
13
|
-
const userPrivateKey = user.privKey.serialize();
|
|
14
|
-
const userPublicKey = user.pubKey.serialize();
|
|
15
|
-
const mockStateIndex = 1n;
|
|
14
|
+
const users = new Array(3).fill(undefined).map(() => new domainobjs_1.Keypair());
|
|
16
15
|
const mockPollId = 9000n;
|
|
17
16
|
this.timeout(900000);
|
|
18
|
-
// before all tests we deploy the
|
|
17
|
+
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
19
18
|
before(async () => {
|
|
20
19
|
signer = await (0, sdk_1.getDefaultSigner)();
|
|
21
20
|
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
22
21
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
23
22
|
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
24
23
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
25
|
-
const
|
|
24
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
25
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
26
26
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
27
|
-
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
28
|
-
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 });
|
|
32
|
-
// we set the verifying keys
|
|
33
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
|
|
34
28
|
// deploy the smart contracts
|
|
35
29
|
maciAddresses = await (0, sdk_1.deployMaci)({
|
|
36
30
|
...constants_1.deployArgs,
|
|
37
31
|
signer,
|
|
38
32
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
39
33
|
});
|
|
34
|
+
// we set the verifying keys
|
|
35
|
+
const { verifyingKeysRegistryContractAddress } = maciAddresses;
|
|
36
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
37
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer)),
|
|
38
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
|
|
39
|
+
});
|
|
40
40
|
// signup the user
|
|
41
41
|
await (0, sdk_1.signup)({
|
|
42
42
|
maciAddress: maciAddresses.maciContractAddress,
|
|
43
|
-
|
|
43
|
+
maciPublicKey: users[0].publicKey.serialize(),
|
|
44
|
+
sgData: constants_1.DEFAULT_SG_DATA,
|
|
45
|
+
signer,
|
|
46
|
+
});
|
|
47
|
+
await (0, sdk_1.signup)({
|
|
48
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
49
|
+
maciPublicKey: users[1].publicKey.serialize(),
|
|
50
|
+
sgData: constants_1.DEFAULT_SG_DATA,
|
|
51
|
+
signer,
|
|
52
|
+
});
|
|
53
|
+
await (0, sdk_1.signup)({
|
|
54
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
55
|
+
maciPublicKey: users[2].publicKey.serialize(),
|
|
44
56
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
45
57
|
signer,
|
|
46
58
|
});
|
|
@@ -52,8 +64,6 @@ describe("joinPoll", function test() {
|
|
|
52
64
|
pollEndTimestamp: startDate + constants_1.pollDuration,
|
|
53
65
|
relayers: [await signer.getAddress()],
|
|
54
66
|
maciAddress: maciAddresses.maciContractAddress,
|
|
55
|
-
verifierContractAddress,
|
|
56
|
-
vkRegistryContractAddress: vkRegistryAddress,
|
|
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:
|
|
66
|
-
stateIndex: 1n,
|
|
75
|
+
privateKey: users[0].privateKey.serialize(),
|
|
67
76
|
signer,
|
|
68
77
|
pollId: 0n,
|
|
69
|
-
pollJoiningZkey: constants_1.
|
|
70
|
-
useWasm
|
|
78
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
79
|
+
useWasm,
|
|
71
80
|
pollWasm: constants_1.testPollJoiningWasmPath,
|
|
72
|
-
|
|
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,61 @@ describe("joinPoll", function test() {
|
|
|
77
86
|
const registeredUserData = await (0, sdk_1.getJoinedUserData)({
|
|
78
87
|
maciAddress: maciAddresses.maciContractAddress,
|
|
79
88
|
pollId: 0n,
|
|
80
|
-
|
|
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 using a precomputed inclusion proof", async () => {
|
|
97
|
+
const startBlock = await signer.provider?.getBlockNumber();
|
|
98
|
+
const stateTree = await (0, sdk_1.generateMaciStateTreeWithEndKey)({
|
|
99
|
+
maciContractAddress: maciAddresses.maciContractAddress,
|
|
100
|
+
signer,
|
|
101
|
+
userPublicKey: users[1].publicKey,
|
|
102
|
+
});
|
|
103
|
+
const inclusionProof = stateTree.signUpTree.generateProof(2);
|
|
104
|
+
await (0, browser_1.joinPoll)({
|
|
105
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
106
|
+
privateKey: users[1].privateKey.serialize(),
|
|
107
|
+
signer,
|
|
108
|
+
pollId: 0n,
|
|
109
|
+
inclusionProof,
|
|
110
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
111
|
+
pollWasm: constants_1.testPollJoiningWasmPath,
|
|
112
|
+
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
113
|
+
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
114
|
+
});
|
|
115
|
+
const registeredUserData = await (0, sdk_1.getJoinedUserData)({
|
|
116
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
117
|
+
pollId: 0n,
|
|
118
|
+
pollPublicKey: users[1].publicKey.serialize(),
|
|
119
|
+
signer,
|
|
120
|
+
startBlock: startBlock || 0,
|
|
121
|
+
});
|
|
122
|
+
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
123
|
+
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(2);
|
|
124
|
+
});
|
|
87
125
|
it("should throw error if poll does not exist", async () => {
|
|
88
126
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
89
127
|
maciAddress: maciAddresses.maciContractAddress,
|
|
90
|
-
privateKey:
|
|
91
|
-
stateIndex: mockStateIndex,
|
|
128
|
+
privateKey: users[0].privateKey.serialize(),
|
|
92
129
|
signer,
|
|
93
130
|
pollId: mockPollId,
|
|
94
|
-
pollJoiningZkey: constants_1.
|
|
131
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
95
132
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
96
133
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
97
134
|
})).eventually.rejectedWith("PollDoesNotExist(9000)");
|
|
98
135
|
});
|
|
99
|
-
it("should throw error if state index is invalid", async () => {
|
|
136
|
+
it("should throw error if user did not sign up to maci and therefore state index is invalid", async () => {
|
|
100
137
|
const keypair = new domainobjs_1.Keypair();
|
|
101
138
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
102
139
|
maciAddress: maciAddresses.maciContractAddress,
|
|
103
|
-
privateKey: keypair.
|
|
104
|
-
stateIndex: -1n,
|
|
140
|
+
privateKey: keypair.privateKey.serialize(),
|
|
105
141
|
signer,
|
|
106
142
|
pollId: 0n,
|
|
107
|
-
pollJoiningZkey: constants_1.
|
|
143
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
108
144
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
109
145
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
110
146
|
})).eventually.rejectedWith("Invalid state index");
|
|
@@ -112,11 +148,10 @@ describe("joinPoll", function test() {
|
|
|
112
148
|
it("should throw error if current poll id is invalid", async () => {
|
|
113
149
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
114
150
|
maciAddress: maciAddresses.maciContractAddress,
|
|
115
|
-
privateKey:
|
|
116
|
-
stateIndex: mockStateIndex,
|
|
151
|
+
privateKey: users[0].privateKey.serialize(),
|
|
117
152
|
signer,
|
|
118
153
|
pollId: -1n,
|
|
119
|
-
pollJoiningZkey: constants_1.
|
|
154
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
120
155
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
121
156
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
122
157
|
})).eventually.rejectedWith("Invalid poll id");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"joinPoll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/joinPoll.test.ts"],"names":[],"mappings":";;AAAA,0DAAoD;AACpD,4CAc4B;AAC5B,+BAA8B;AAG9B,+CAYyB;
|
|
1
|
+
{"version":3,"file":"joinPoll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/joinPoll.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,24 +7,18 @@ describe("poll", function test() {
|
|
|
7
7
|
this.timeout(900000);
|
|
8
8
|
let maciAddresses;
|
|
9
9
|
let initialVoiceCreditProxyContractAddress;
|
|
10
|
-
let verifierContractAddress;
|
|
11
10
|
let pollAddresses;
|
|
12
11
|
let signer;
|
|
13
|
-
// before all tests we deploy the
|
|
12
|
+
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
14
13
|
before(async () => {
|
|
15
14
|
signer = await (0, sdk_1.getDefaultSigner)();
|
|
16
15
|
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
17
16
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
18
17
|
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
19
18
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
20
|
-
const
|
|
19
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
20
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
21
21
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
22
|
-
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
23
|
-
verifierContractAddress = await verifier.getAddress();
|
|
24
|
-
// we deploy the vk registry contract
|
|
25
|
-
const vkRegistryAddress = await (0, sdk_1.deployVkRegistryContract)({ signer });
|
|
26
|
-
// we set the verifying keys
|
|
27
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
|
|
28
22
|
const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
|
|
29
23
|
// deploy the smart contracts
|
|
30
24
|
maciAddresses = await (0, sdk_1.deployMaci)({
|
|
@@ -32,6 +26,12 @@ describe("poll", function test() {
|
|
|
32
26
|
signer,
|
|
33
27
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
34
28
|
});
|
|
29
|
+
// we set the verifying keys
|
|
30
|
+
const { verifyingKeysRegistryContractAddress } = maciAddresses;
|
|
31
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
32
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer)),
|
|
33
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
|
|
34
|
+
});
|
|
35
35
|
// deploy a poll contract
|
|
36
36
|
pollAddresses = await (0, sdk_1.deployPoll)({
|
|
37
37
|
...constants_1.deployPollArgs,
|
|
@@ -40,8 +40,6 @@ describe("poll", function test() {
|
|
|
40
40
|
pollEndTimestamp: startDate + constants_1.pollDuration,
|
|
41
41
|
relayers: [await signer.getAddress()],
|
|
42
42
|
maciAddress: maciAddresses.maciContractAddress,
|
|
43
|
-
verifierContractAddress,
|
|
44
|
-
vkRegistryContractAddress: vkRegistryAddress,
|
|
45
43
|
policyContractAddress: pollPolicyContractAddress,
|
|
46
44
|
initialVoiceCreditProxyContractAddress,
|
|
47
45
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/poll.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"poll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/poll.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ describe("publish", function test() {
|
|
|
9
9
|
this.timeout(900000);
|
|
10
10
|
let maciAddresses;
|
|
11
11
|
let initialVoiceCreditProxyContractAddress;
|
|
12
|
-
let verifierContractAddress;
|
|
13
12
|
let pollAddresses;
|
|
14
13
|
let signer;
|
|
15
14
|
const messages = [
|
|
@@ -27,7 +26,7 @@ describe("publish", function test() {
|
|
|
27
26
|
newVoteWeight: 1n,
|
|
28
27
|
},
|
|
29
28
|
];
|
|
30
|
-
// before all tests we deploy the
|
|
29
|
+
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
31
30
|
before(async () => {
|
|
32
31
|
signer = await (0, sdk_1.getDefaultSigner)();
|
|
33
32
|
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
@@ -37,14 +36,9 @@ describe("publish", function test() {
|
|
|
37
36
|
checker: signupCheckerFactory,
|
|
38
37
|
}, signer, true);
|
|
39
38
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
40
|
-
const
|
|
39
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
40
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
41
41
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
42
|
-
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
43
|
-
verifierContractAddress = await verifier.getAddress();
|
|
44
|
-
// we deploy the vk registry contract
|
|
45
|
-
const vkRegistryAddress = await (0, sdk_1.deployVkRegistryContract)({ signer });
|
|
46
|
-
// we set the verifying keys
|
|
47
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), vkRegistryAddress });
|
|
48
42
|
const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
|
|
49
43
|
// deploy the smart contracts
|
|
50
44
|
maciAddresses = await (0, sdk_1.deployMaci)({
|
|
@@ -52,6 +46,12 @@ describe("publish", function test() {
|
|
|
52
46
|
signer,
|
|
53
47
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
54
48
|
});
|
|
49
|
+
// we set the verifying keys
|
|
50
|
+
const { verifyingKeysRegistryContractAddress } = maciAddresses;
|
|
51
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
52
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer)),
|
|
53
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
|
|
54
|
+
});
|
|
55
55
|
// deploy a poll contract
|
|
56
56
|
pollAddresses = await (0, sdk_1.deployPoll)({
|
|
57
57
|
...constants_1.deployPollArgs,
|
|
@@ -60,8 +60,6 @@ describe("publish", function test() {
|
|
|
60
60
|
pollEndTimestamp: startDate + constants_1.pollDuration,
|
|
61
61
|
relayers: [await signer.getAddress()],
|
|
62
62
|
maciAddress: maciAddresses.maciContractAddress,
|
|
63
|
-
verifierContractAddress,
|
|
64
|
-
vkRegistryContractAddress: vkRegistryAddress,
|
|
65
63
|
policyContractAddress: pollPolicyContractAddress,
|
|
66
64
|
initialVoiceCreditProxyContractAddress,
|
|
67
65
|
});
|
|
@@ -72,15 +70,15 @@ describe("publish", function test() {
|
|
|
72
70
|
before(async () => {
|
|
73
71
|
defaultArgs = {
|
|
74
72
|
maciAddress: maciAddresses.maciContractAddress,
|
|
75
|
-
publicKey: user.
|
|
76
|
-
privateKey: user.
|
|
73
|
+
publicKey: user.publicKey.serialize(),
|
|
74
|
+
privateKey: user.privateKey.serialize(),
|
|
77
75
|
messages,
|
|
78
76
|
pollId: 0n,
|
|
79
77
|
signer,
|
|
80
78
|
};
|
|
81
79
|
await (0, sdk_1.signup)({
|
|
82
80
|
maciAddress: maciAddresses.maciContractAddress,
|
|
83
|
-
|
|
81
|
+
maciPublicKey: user.publicKey.serialize(),
|
|
84
82
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
85
83
|
signer,
|
|
86
84
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/publish.test.ts"],"names":[],"mappings":";;AAAA,kDAAyD;AACzD,0DAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"publish.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/publish.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setVerifyingKeys.test.d.ts","sourceRoot":"","sources":["../../../../ts/__tests__/unit/setVerifyingKeys.test.ts"],"names":[],"mappings":""}
|