@maci-protocol/testing 0.0.0-ci.20c52c6 → 0.0.0-ci.22106c8
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/build/hardhat.config.js +1 -1
- package/build/hardhat.config.js.map +1 -1
- 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 +842 -0
- package/build/ts/__tests__/e2e.full.test.js.map +1 -0
- package/build/ts/__tests__/e2e.nonQv.test.js +426 -26
- package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
- package/build/ts/__tests__/e2e.test.js +135 -124
- package/build/ts/__tests__/e2e.test.js.map +1 -1
- package/build/ts/__tests__/integration.test.js +46 -48
- package/build/ts/__tests__/integration.test.js.map +1 -1
- package/build/ts/__tests__/keyChange.test.js +40 -38
- package/build/ts/__tests__/keyChange.test.js.map +1 -1
- package/build/ts/__tests__/maciKeys.test.js +7 -7
- package/build/ts/__tests__/maciKeys.test.js.map +1 -1
- 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 +189 -0
- package/build/ts/__tests__/stress/stress.full.test.js.map +1 -0
- package/build/ts/__tests__/unit/joinPoll.test.js +38 -75
- package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
- package/build/ts/__tests__/unit/poll.test.js +8 -10
- package/build/ts/__tests__/unit/poll.test.js.map +1 -1
- package/build/ts/__tests__/unit/publish.test.js +8 -10
- 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 +6 -4
- package/build/ts/__tests__/unit/signup.test.js.map +1 -1
- package/build/ts/constants.d.ts +48 -52
- package/build/ts/constants.d.ts.map +1 -1
- package/build/ts/constants.js +95 -73
- package/build/ts/constants.js.map +1 -1
- package/build/ts/testingClass.d.ts +9 -9
- package/build/ts/testingClass.d.ts.map +1 -1
- package/build/ts/testingClass.js +33 -32
- 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/utils.d.ts +1 -1
- package/build/ts/utils.d.ts.map +1 -1
- package/build/ts/utils.js +9 -9
- package/build/ts/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -18
|
@@ -1,59 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const contracts_1 = require("@maci-protocol/contracts");
|
|
3
4
|
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
4
5
|
const sdk_1 = require("@maci-protocol/sdk");
|
|
5
6
|
const browser_1 = require("@maci-protocol/sdk/browser");
|
|
6
7
|
const chai_1 = require("chai");
|
|
7
8
|
const constants_1 = require("../../constants");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const useWasm = (0, utils_1.isArm)();
|
|
8
11
|
describe("joinPoll", function test() {
|
|
9
12
|
let signer;
|
|
13
|
+
let userSigners;
|
|
10
14
|
let maciAddresses;
|
|
11
15
|
let initialVoiceCreditProxyContractAddress;
|
|
12
|
-
let verifierContractAddress;
|
|
13
16
|
const users = new Array(3).fill(undefined).map(() => new domainobjs_1.Keypair());
|
|
14
|
-
const mockStateIndex = 1n;
|
|
15
17
|
const mockPollId = 9000n;
|
|
16
18
|
this.timeout(900000);
|
|
17
19
|
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
18
20
|
before(async () => {
|
|
19
|
-
|
|
21
|
+
const signers = await (0, contracts_1.getSigners)();
|
|
22
|
+
[signer, ...userSigners] = signers;
|
|
20
23
|
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
21
24
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
22
25
|
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
23
26
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
24
|
-
const
|
|
27
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
28
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
25
29
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
26
|
-
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
27
|
-
verifierContractAddress = await verifier.getAddress();
|
|
28
30
|
const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
|
|
29
|
-
// we deploy the verifying keys registry contract
|
|
30
|
-
const verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
31
|
-
// we set the verifying keys
|
|
32
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
|
|
33
31
|
// deploy the smart contracts
|
|
34
32
|
maciAddresses = await (0, sdk_1.deployMaci)({
|
|
35
33
|
...constants_1.deployArgs,
|
|
36
34
|
signer,
|
|
37
35
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
38
36
|
});
|
|
37
|
+
// we set the verifying keys
|
|
38
|
+
const { verifyingKeysRegistryContractAddress } = maciAddresses;
|
|
39
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
40
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer)),
|
|
41
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
|
|
42
|
+
});
|
|
39
43
|
// signup the user
|
|
40
44
|
await (0, sdk_1.signup)({
|
|
41
45
|
maciAddress: maciAddresses.maciContractAddress,
|
|
42
46
|
maciPublicKey: users[0].publicKey.serialize(),
|
|
43
47
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
44
|
-
signer,
|
|
48
|
+
signer: userSigners[0],
|
|
45
49
|
});
|
|
46
50
|
await (0, sdk_1.signup)({
|
|
47
51
|
maciAddress: maciAddresses.maciContractAddress,
|
|
48
52
|
maciPublicKey: users[1].publicKey.serialize(),
|
|
49
53
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
50
|
-
signer,
|
|
54
|
+
signer: userSigners[1],
|
|
51
55
|
});
|
|
52
56
|
await (0, sdk_1.signup)({
|
|
53
57
|
maciAddress: maciAddresses.maciContractAddress,
|
|
54
58
|
maciPublicKey: users[2].publicKey.serialize(),
|
|
55
59
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
56
|
-
signer,
|
|
60
|
+
signer: userSigners[2],
|
|
57
61
|
});
|
|
58
62
|
// deploy a poll contract
|
|
59
63
|
await (0, sdk_1.deployPoll)({
|
|
@@ -63,8 +67,6 @@ describe("joinPoll", function test() {
|
|
|
63
67
|
pollEndTimestamp: startDate + constants_1.pollDuration,
|
|
64
68
|
relayers: [await signer.getAddress()],
|
|
65
69
|
maciAddress: maciAddresses.maciContractAddress,
|
|
66
|
-
verifierContractAddress,
|
|
67
|
-
verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
|
|
68
70
|
policyContractAddress: pollPolicyContractAddress,
|
|
69
71
|
initialVoiceCreditProxyContractAddress,
|
|
70
72
|
});
|
|
@@ -74,13 +76,12 @@ describe("joinPoll", function test() {
|
|
|
74
76
|
await (0, sdk_1.joinPoll)({
|
|
75
77
|
maciAddress: maciAddresses.maciContractAddress,
|
|
76
78
|
privateKey: users[0].privateKey.serialize(),
|
|
77
|
-
|
|
78
|
-
signer,
|
|
79
|
+
signer: userSigners[0],
|
|
79
80
|
pollId: 0n,
|
|
80
|
-
pollJoiningZkey: constants_1.
|
|
81
|
-
useWasm
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
82
|
+
useWasm,
|
|
83
|
+
pollJoiningWasm: constants_1.testPollJoiningWasmPath,
|
|
84
|
+
pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
|
|
84
85
|
rapidsnark: constants_1.testRapidsnarkPath,
|
|
85
86
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
86
87
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
@@ -89,97 +90,60 @@ describe("joinPoll", function test() {
|
|
|
89
90
|
maciAddress: maciAddresses.maciContractAddress,
|
|
90
91
|
pollId: 0n,
|
|
91
92
|
pollPublicKey: users[0].publicKey.serialize(),
|
|
92
|
-
signer,
|
|
93
|
+
signer: userSigners[0],
|
|
93
94
|
startBlock: startBlock || 0,
|
|
94
95
|
});
|
|
95
96
|
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
96
97
|
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(1);
|
|
97
98
|
});
|
|
98
|
-
it("should allow to join the poll
|
|
99
|
+
it("should allow to join the poll using a precomputed inclusion proof", async () => {
|
|
99
100
|
const startBlock = await signer.provider?.getBlockNumber();
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
const stateTree = await (0, sdk_1.generateMaciStateTreeWithEndKey)({
|
|
102
|
+
maciContractAddress: maciAddresses.maciContractAddress,
|
|
103
|
+
signer: userSigners[1],
|
|
104
|
+
userPublicKey: users[1].publicKey,
|
|
103
105
|
});
|
|
106
|
+
const inclusionProof = stateTree.signUpTree.generateProof(2);
|
|
104
107
|
await (0, browser_1.joinPoll)({
|
|
105
108
|
maciAddress: maciAddresses.maciContractAddress,
|
|
106
109
|
privateKey: users[1].privateKey.serialize(),
|
|
107
|
-
|
|
108
|
-
signer,
|
|
110
|
+
signer: userSigners[1],
|
|
109
111
|
pollId: 0n,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
inclusionProof,
|
|
113
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
114
|
+
pollJoiningWasm: constants_1.testPollJoiningWasmPath,
|
|
113
115
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
114
116
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
115
|
-
useLatestStateIndex: true,
|
|
116
117
|
});
|
|
117
118
|
const registeredUserData = await (0, sdk_1.getJoinedUserData)({
|
|
118
119
|
maciAddress: maciAddresses.maciContractAddress,
|
|
119
120
|
pollId: 0n,
|
|
120
121
|
pollPublicKey: users[1].publicKey.serialize(),
|
|
121
|
-
signer,
|
|
122
|
+
signer: userSigners[1],
|
|
122
123
|
startBlock: startBlock || 0,
|
|
123
124
|
});
|
|
124
125
|
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
125
126
|
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(2);
|
|
126
127
|
});
|
|
127
|
-
it("should allow to join the poll using a precomputed inclusion proof", async () => {
|
|
128
|
-
const startBlock = await signer.provider?.getBlockNumber();
|
|
129
|
-
const maciContract = sdk_1.MACI__factory.connect(maciAddresses.maciContractAddress, signer);
|
|
130
|
-
const stateTree = await (0, sdk_1.genMaciStateTreeWithEndKey)({
|
|
131
|
-
maciContract,
|
|
132
|
-
signer,
|
|
133
|
-
userPublicKey: users[2].publicKey,
|
|
134
|
-
});
|
|
135
|
-
const inclusionProof = stateTree.signUpTree.generateProof(3);
|
|
136
|
-
const { zKey, wasm } = await (0, browser_1.downloadPollJoiningArtifactsBrowser)({
|
|
137
|
-
testing: true,
|
|
138
|
-
stateTreeDepth: 10,
|
|
139
|
-
});
|
|
140
|
-
await (0, browser_1.joinPoll)({
|
|
141
|
-
maciAddress: maciAddresses.maciContractAddress,
|
|
142
|
-
privateKey: users[2].privateKey.serialize(),
|
|
143
|
-
stateIndex: 3n,
|
|
144
|
-
signer,
|
|
145
|
-
pollId: 0n,
|
|
146
|
-
inclusionProof,
|
|
147
|
-
pollJoiningZkey: zKey,
|
|
148
|
-
pollWasm: wasm,
|
|
149
|
-
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
150
|
-
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
151
|
-
});
|
|
152
|
-
const registeredUserData = await (0, sdk_1.getJoinedUserData)({
|
|
153
|
-
maciAddress: maciAddresses.maciContractAddress,
|
|
154
|
-
pollId: 0n,
|
|
155
|
-
pollPublicKey: users[2].publicKey.serialize(),
|
|
156
|
-
signer,
|
|
157
|
-
startBlock: startBlock || 0,
|
|
158
|
-
});
|
|
159
|
-
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
160
|
-
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(3);
|
|
161
|
-
});
|
|
162
128
|
it("should throw error if poll does not exist", async () => {
|
|
163
129
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
164
130
|
maciAddress: maciAddresses.maciContractAddress,
|
|
165
131
|
privateKey: users[0].privateKey.serialize(),
|
|
166
|
-
stateIndex: mockStateIndex,
|
|
167
132
|
signer,
|
|
168
133
|
pollId: mockPollId,
|
|
169
|
-
pollJoiningZkey: constants_1.
|
|
134
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
170
135
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
171
136
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
172
137
|
})).eventually.rejectedWith("PollDoesNotExist(9000)");
|
|
173
138
|
});
|
|
174
|
-
it("should throw error if state index is invalid", async () => {
|
|
139
|
+
it("should throw error if user did not sign up to maci and therefore state index is invalid", async () => {
|
|
175
140
|
const keypair = new domainobjs_1.Keypair();
|
|
176
141
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
177
142
|
maciAddress: maciAddresses.maciContractAddress,
|
|
178
143
|
privateKey: keypair.privateKey.serialize(),
|
|
179
|
-
stateIndex: -1n,
|
|
180
144
|
signer,
|
|
181
145
|
pollId: 0n,
|
|
182
|
-
pollJoiningZkey: constants_1.
|
|
146
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
183
147
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
184
148
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
185
149
|
})).eventually.rejectedWith("Invalid state index");
|
|
@@ -188,10 +152,9 @@ describe("joinPoll", function test() {
|
|
|
188
152
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
189
153
|
maciAddress: maciAddresses.maciContractAddress,
|
|
190
154
|
privateKey: users[0].privateKey.serialize(),
|
|
191
|
-
stateIndex: mockStateIndex,
|
|
192
155
|
signer,
|
|
193
156
|
pollId: -1n,
|
|
194
|
-
pollJoiningZkey: constants_1.
|
|
157
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
195
158
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
196
159
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
197
160
|
})).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,
|
|
1
|
+
{"version":3,"file":"joinPoll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/joinPoll.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ 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
12
|
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
@@ -17,14 +16,9 @@ describe("poll", function test() {
|
|
|
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 verifying keys registry contract
|
|
25
|
-
const verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
26
|
-
// we set the verifying keys
|
|
27
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
|
|
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
|
-
verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
|
|
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 = [
|
|
@@ -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 verifying keys registry contract
|
|
45
|
-
const verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
46
|
-
// we set the verifying keys
|
|
47
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
|
|
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
|
-
verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
|
|
65
63
|
policyContractAddress: pollPolicyContractAddress,
|
|
66
64
|
initialVoiceCreditProxyContractAddress,
|
|
67
65
|
});
|
|
@@ -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":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sdk_1 = require("@maci-protocol/sdk");
|
|
4
|
+
const chai_1 = require("chai");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
describe("setVerifyingKeys", function test() {
|
|
7
|
+
this.timeout(900000);
|
|
8
|
+
let signer;
|
|
9
|
+
let verifyingKeysRegistryAddress;
|
|
10
|
+
before(async () => {
|
|
11
|
+
signer = await (0, sdk_1.getDefaultSigner)();
|
|
12
|
+
});
|
|
13
|
+
beforeEach(async () => {
|
|
14
|
+
verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
15
|
+
});
|
|
16
|
+
it("should set the verifying keys of mode QV on the contract", async () => {
|
|
17
|
+
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
|
|
18
|
+
});
|
|
19
|
+
it("should set the verifying keys of mode QV and NON_QV on the contract", async () => {
|
|
20
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
21
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer, [sdk_1.EMode.QV, sdk_1.EMode.NON_QV])),
|
|
22
|
+
verifyingKeysRegistryAddress,
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
it("should set the verifying keys of mode QV, NON_QV and FULL on the contract", async () => {
|
|
26
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
27
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer, [sdk_1.EMode.QV, sdk_1.EMode.NON_QV, sdk_1.EMode.FULL])),
|
|
28
|
+
verifyingKeysRegistryAddress,
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
it("should throw when setting verifying keys twice", async () => {
|
|
32
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
33
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer)),
|
|
34
|
+
verifyingKeysRegistryAddress,
|
|
35
|
+
});
|
|
36
|
+
await (0, chai_1.expect)((0, sdk_1.setVerifyingKeys)({
|
|
37
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer, [sdk_1.EMode.NON_QV])),
|
|
38
|
+
verifyingKeysRegistryAddress,
|
|
39
|
+
})).eventually.rejectedWith("This poll joining verifying key is already set in the contract");
|
|
40
|
+
});
|
|
41
|
+
it("should throw when setting different number of modes and different number of process verifying keys", async () => {
|
|
42
|
+
const args = await (0, constants_1.verifyingKeysArgs)(signer, [sdk_1.EMode.QV, sdk_1.EMode.NON_QV]);
|
|
43
|
+
args.processMessagesVerifyingKeys.splice(1, 1);
|
|
44
|
+
await (0, chai_1.expect)((0, sdk_1.setVerifyingKeys)({ ...args, verifyingKeysRegistryAddress })).eventually.rejectedWith("Number of process messages verifying keys must match number of modes");
|
|
45
|
+
});
|
|
46
|
+
it("should throw when setting different number of modes and different number of tally verifying keys", async () => {
|
|
47
|
+
const args = await (0, constants_1.verifyingKeysArgs)(signer, [sdk_1.EMode.QV, sdk_1.EMode.NON_QV]);
|
|
48
|
+
args.tallyVotesVerifyingKeys.splice(1, 1);
|
|
49
|
+
await (0, chai_1.expect)((0, sdk_1.setVerifyingKeys)({ ...args, verifyingKeysRegistryAddress })).eventually.rejectedWith("Number of tally votes verifying keys must match number of modes");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=setVerifyingKeys.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setVerifyingKeys.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/setVerifyingKeys.test.ts"],"names":[],"mappings":";;AAAA,4CAAoH;AACpH,+BAA8B;AAG9B,+CAAoD;AAEpD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,IAAI;IACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,IAAI,MAAc,CAAC;IACnB,IAAI,4BAAoC,CAAC;IAEzC,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,GAAG,MAAM,IAAA,sBAAgB,GAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,4BAA4B,GAAG,MAAM,IAAA,yCAAmC,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,IAAA,sBAAgB,EAAC,EAAE,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,IAAA,sBAAgB,EAAC;YACrB,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,CAAC,WAAK,CAAC,EAAE,EAAE,WAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9D,4BAA4B;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,IAAA,sBAAgB,EAAC;YACrB,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,CAAC,WAAK,CAAC,EAAE,EAAE,WAAK,CAAC,MAAM,EAAE,WAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,4BAA4B;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAA,sBAAgB,EAAC;YACrB,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;YACpC,4BAA4B;SAC7B,CAAC,CAAC;QAEH,MAAM,IAAA,aAAM,EACV,IAAA,sBAAgB,EAAC;YACf,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,CAAC,WAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,4BAA4B;SAC7B,CAAC,CACH,CAAC,UAAU,CAAC,YAAY,CAAC,gEAAgE,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,CAAC,WAAK,CAAC,EAAE,EAAE,WAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,MAAM,IAAA,aAAM,EAAC,IAAA,sBAAgB,EAAC,EAAE,GAAG,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAC/F,sEAAsE,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAiB,EAAC,MAAM,EAAE,CAAC,WAAK,CAAC,EAAE,EAAE,WAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,IAAA,aAAM,EAAC,IAAA,sBAAgB,EAAC,EAAE,GAAG,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAC/F,iEAAiE,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -14,16 +14,18 @@ describe("signup", function test() {
|
|
|
14
14
|
signer = await (0, sdk_1.getDefaultSigner)();
|
|
15
15
|
const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
16
16
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
17
|
-
// we deploy the verifying keys registry contract
|
|
18
|
-
const verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
19
|
-
// we set the verifying keys
|
|
20
|
-
await (0, sdk_1.setVerifyingKeys)({ ...(await (0, constants_1.verifyingKeysArgs)(signer)), verifyingKeysRegistryAddress });
|
|
21
17
|
// deploy the smart contracts
|
|
22
18
|
maciAddresses = await (0, sdk_1.deployMaci)({
|
|
23
19
|
...constants_1.deployArgs,
|
|
24
20
|
signer,
|
|
25
21
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
26
22
|
});
|
|
23
|
+
// we set the verifying keys
|
|
24
|
+
const { verifyingKeysRegistryContractAddress } = maciAddresses;
|
|
25
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
26
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer)),
|
|
27
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistryContractAddress,
|
|
28
|
+
});
|
|
27
29
|
});
|
|
28
30
|
it("should allow to signup and return the user data", async () => {
|
|
29
31
|
const startBlock = await signer.provider?.getBlockNumber();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/signup.test.ts"],"names":[],"mappings":";;AAAA,0DAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"signup.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/signup.test.ts"],"names":[],"mappings":"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"}
|