@maci-protocol/testing 0.0.0-ci.2cf83db → 0.0.0-ci.2d57ba7
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/ts/__tests__/e2e.full.test.js +10 -9
- package/build/ts/__tests__/e2e.full.test.js.map +1 -1
- package/build/ts/__tests__/e2e.nonQv.test.js +8 -7
- package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
- package/build/ts/__tests__/e2e.test.js +14 -13
- package/build/ts/__tests__/e2e.test.js.map +1 -1
- package/build/ts/__tests__/integration.test.js +23 -21
- package/build/ts/__tests__/integration.test.js.map +1 -1
- package/build/ts/__tests__/keyChange.test.js +5 -4
- package/build/ts/__tests__/keyChange.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 +195 -0
- package/build/ts/__tests__/stress/stress.full.test.js.map +1 -0
- package/build/ts/__tests__/unit/joinPoll.test.js +13 -43
- package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
- package/build/ts/__tests__/unit/poll.test.js +2 -1
- package/build/ts/__tests__/unit/poll.test.js.map +1 -1
- package/build/ts/__tests__/unit/publish.test.js +2 -1
- 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/constants.d.ts +47 -47
- package/build/ts/constants.d.ts.map +1 -1
- package/build/ts/constants.js +72 -54
- package/build/ts/constants.js.map +1 -1
- package/build/ts/testingClass.d.ts.map +1 -1
- package/build/ts/testingClass.js +10 -5
- package/build/ts/testingClass.js.map +1 -1
- package/build/ts/types.d.ts +1 -2
- package/build/ts/types.d.ts.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -18
|
@@ -0,0 +1,195 @@
|
|
|
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 verifierContractAddress;
|
|
52
|
+
let signer;
|
|
53
|
+
let verifyingKeysRegistryAddress;
|
|
54
|
+
const generateProofsArgs = {
|
|
55
|
+
outputDir: constants_1.testProofsDirPath,
|
|
56
|
+
tallyFile: constants_1.testTallyFilePath,
|
|
57
|
+
voteTallyZkey: files.voteTallyZkey,
|
|
58
|
+
messageProcessorZkey: files.messageProcessorZkey,
|
|
59
|
+
pollId: 0n,
|
|
60
|
+
rapidsnark: constants_1.testRapidsnarkPath,
|
|
61
|
+
messageProcessorWitnessGenerator: files.messageProcessorWitnessGenerator,
|
|
62
|
+
messageProcessorWitnessDatFile: files.messageProcessorWitnessDatFile,
|
|
63
|
+
voteTallyWitnessGenerator: files.voteTallyWitnessGenerator,
|
|
64
|
+
voteTallyWitnessDatFile: files.voteTallyWitnessDatFile,
|
|
65
|
+
coordinatorPrivateKey: constants_1.coordinatorPrivateKey,
|
|
66
|
+
messageProcessorWasm: files.messageProcessorWasm,
|
|
67
|
+
voteTallyWasm: files.voteTallyWasm,
|
|
68
|
+
useWasm,
|
|
69
|
+
mode,
|
|
70
|
+
};
|
|
71
|
+
const prepareTest = async () => {
|
|
72
|
+
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
73
|
+
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
74
|
+
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
75
|
+
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
76
|
+
// deploy the smart contracts
|
|
77
|
+
const maciContractsAddresses = await (0, sdk_1.deployMaci)({
|
|
78
|
+
...constants_1.deployArgs,
|
|
79
|
+
signer,
|
|
80
|
+
signupPolicyAddress: signupPolicyContractAddress,
|
|
81
|
+
});
|
|
82
|
+
const startDate = await (0, sdk_1.getBlockTimestamp)(signer);
|
|
83
|
+
// deploy a poll contract
|
|
84
|
+
await (0, sdk_1.deployPoll)({
|
|
85
|
+
...constants_1.deployPollArgs,
|
|
86
|
+
signer,
|
|
87
|
+
pollStartTimestamp: startDate,
|
|
88
|
+
pollEndTimestamp: startDate + pollDuration,
|
|
89
|
+
relayers: [await signer.getAddress()],
|
|
90
|
+
maciAddress: maciContractsAddresses.maciContractAddress,
|
|
91
|
+
verifierContractAddress,
|
|
92
|
+
verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
|
|
93
|
+
policyContractAddress: pollPolicyContractAddress,
|
|
94
|
+
initialVoiceCreditProxyContractAddress,
|
|
95
|
+
mode,
|
|
96
|
+
});
|
|
97
|
+
return maciContractsAddresses;
|
|
98
|
+
};
|
|
99
|
+
// before all tests we deploy the verifying keys registry contract and set the verifying keys
|
|
100
|
+
before(async () => {
|
|
101
|
+
signer = await (0, sdk_1.getDefaultSigner)();
|
|
102
|
+
// we deploy the verifying keys registry contract
|
|
103
|
+
verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
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
|
+
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
108
|
+
verifierContractAddress = await verifier.getAddress();
|
|
109
|
+
// we deploy the verifying keys registry contract
|
|
110
|
+
verifyingKeysRegistryAddress = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
111
|
+
// we set the verifying keys
|
|
112
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
113
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer, [mode])),
|
|
114
|
+
verifyingKeysRegistryAddress,
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
describe(`${numberSignups} signup(s), ${numberSignups * numberMessagesPerUser} message(s)`, () => {
|
|
118
|
+
const users = Array.from({ length: numberSignups }, () => new domainobjs_1.Keypair());
|
|
119
|
+
before(async () => {
|
|
120
|
+
// deploy the smart contracts
|
|
121
|
+
maciAddresses = await prepareTest();
|
|
122
|
+
});
|
|
123
|
+
after(async () => {
|
|
124
|
+
await (0, utils_1.clean)();
|
|
125
|
+
});
|
|
126
|
+
it("should signup users", async () => {
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
128
|
+
for (let index = 0; index < users.length; index += 1) {
|
|
129
|
+
// eslint-disable-next-line no-await-in-loop
|
|
130
|
+
await (0, sdk_1.signup)({
|
|
131
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
132
|
+
maciPublicKey: users[index].publicKey.serialize(),
|
|
133
|
+
sgData: constants_1.DEFAULT_SG_DATA,
|
|
134
|
+
signer,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
it("should join users", async () => {
|
|
139
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
140
|
+
for (let index = 0; index < users.length; index += 1) {
|
|
141
|
+
// eslint-disable-next-line no-await-in-loop
|
|
142
|
+
await (0, sdk_1.joinPoll)({
|
|
143
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
144
|
+
privateKey: users[index].privateKey.serialize(),
|
|
145
|
+
pollId: 0n,
|
|
146
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
147
|
+
useWasm,
|
|
148
|
+
pollWasm: constants_1.testPollJoiningWasmPath,
|
|
149
|
+
pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
|
|
150
|
+
rapidsnark: constants_1.testRapidsnarkPath,
|
|
151
|
+
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
152
|
+
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
153
|
+
signer,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
it("should publish messages", async () => {
|
|
158
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
159
|
+
for (let index = 0; index < users.length; index += 1) {
|
|
160
|
+
for (let voteOptionIndex = numberMessagesPerUser; voteOptionIndex >= 0; voteOptionIndex -= 1) {
|
|
161
|
+
// eslint-disable-next-line no-await-in-loop
|
|
162
|
+
await (0, sdk_1.publish)({
|
|
163
|
+
publicKey: users[index].publicKey.serialize(),
|
|
164
|
+
stateIndex: BigInt(index + 1),
|
|
165
|
+
voteOptionIndex: BigInt(voteOptionIndex),
|
|
166
|
+
nonce: 1n,
|
|
167
|
+
pollId: 0n,
|
|
168
|
+
newVoteWeight: BigInt(constants_1.DEFAULT_INITIAL_VOICE_CREDITS),
|
|
169
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
170
|
+
salt: (0, crypto_1.generateRandomSalt)(),
|
|
171
|
+
privateKey: users[index].privateKey.serialize(),
|
|
172
|
+
signer,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
it("should generate zk-SNARK proofs and verify them", async () => {
|
|
178
|
+
await (0, sdk_1.timeTravel)({ seconds: pollDuration, signer });
|
|
179
|
+
await (0, sdk_1.mergeSignups)({ ...constants_1.mergeSignupsArgs, maciAddress: maciAddresses.maciContractAddress, signer });
|
|
180
|
+
const { tallyData: tallyFileData } = await (0, sdk_1.generateProofs)({
|
|
181
|
+
...generateProofsArgs,
|
|
182
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
183
|
+
signer,
|
|
184
|
+
});
|
|
185
|
+
await (0, sdk_1.proveOnChain)({ ...constants_1.proveOnChainArgs, maciAddress: maciAddresses.maciContractAddress, signer });
|
|
186
|
+
await (0, sdk_1.verify)({
|
|
187
|
+
...(await (0, constants_1.verifyArgs)(signer)),
|
|
188
|
+
tallyData: tallyFileData,
|
|
189
|
+
maciAddress: tallyFileData.maci,
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
//# 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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"}
|
|
@@ -5,6 +5,8 @@ const sdk_1 = require("@maci-protocol/sdk");
|
|
|
5
5
|
const browser_1 = require("@maci-protocol/sdk/browser");
|
|
6
6
|
const chai_1 = require("chai");
|
|
7
7
|
const constants_1 = require("../../constants");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
const useWasm = (0, utils_1.isArm)();
|
|
8
10
|
describe("joinPoll", function test() {
|
|
9
11
|
let signer;
|
|
10
12
|
let maciAddresses;
|
|
@@ -20,7 +22,8 @@ describe("joinPoll", function test() {
|
|
|
20
22
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
21
23
|
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
22
24
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
23
|
-
const
|
|
25
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
26
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
24
27
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
25
28
|
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
26
29
|
verifierContractAddress = await verifier.getAddress();
|
|
@@ -76,7 +79,7 @@ describe("joinPoll", function test() {
|
|
|
76
79
|
signer,
|
|
77
80
|
pollId: 0n,
|
|
78
81
|
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
79
|
-
useWasm
|
|
82
|
+
useWasm,
|
|
80
83
|
pollWasm: constants_1.testPollJoiningWasmPath,
|
|
81
84
|
pollWitnessGenerator: constants_1.testPollJoiningWitnessPath,
|
|
82
85
|
rapidsnark: constants_1.testRapidsnarkPath,
|
|
@@ -93,67 +96,34 @@ describe("joinPoll", function test() {
|
|
|
93
96
|
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
94
97
|
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(1);
|
|
95
98
|
});
|
|
96
|
-
it("should allow to join the poll and return the user data using a downloaded zKey", async () => {
|
|
97
|
-
const startBlock = await signer.provider?.getBlockNumber();
|
|
98
|
-
const { zKey, wasm } = await (0, browser_1.downloadPollJoiningArtifactsBrowser)({
|
|
99
|
-
testing: true,
|
|
100
|
-
stateTreeDepth: 10,
|
|
101
|
-
});
|
|
102
|
-
await (0, browser_1.joinPoll)({
|
|
103
|
-
maciAddress: maciAddresses.maciContractAddress,
|
|
104
|
-
privateKey: users[1].privateKey.serialize(),
|
|
105
|
-
signer,
|
|
106
|
-
pollId: 0n,
|
|
107
|
-
pollJoiningZkey: zKey,
|
|
108
|
-
useWasm: true,
|
|
109
|
-
pollWasm: wasm,
|
|
110
|
-
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
111
|
-
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
112
|
-
useLatestStateIndex: true,
|
|
113
|
-
});
|
|
114
|
-
const registeredUserData = await (0, sdk_1.getJoinedUserData)({
|
|
115
|
-
maciAddress: maciAddresses.maciContractAddress,
|
|
116
|
-
pollId: 0n,
|
|
117
|
-
pollPublicKey: users[1].publicKey.serialize(),
|
|
118
|
-
signer,
|
|
119
|
-
startBlock: startBlock || 0,
|
|
120
|
-
});
|
|
121
|
-
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
122
|
-
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(2);
|
|
123
|
-
});
|
|
124
99
|
it("should allow to join the poll using a precomputed inclusion proof", async () => {
|
|
125
100
|
const startBlock = await signer.provider?.getBlockNumber();
|
|
126
|
-
const maciContract = sdk_1.MACI__factory.connect(maciAddresses.maciContractAddress, signer);
|
|
127
101
|
const stateTree = await (0, sdk_1.generateMaciStateTreeWithEndKey)({
|
|
128
|
-
|
|
102
|
+
maciContractAddress: maciAddresses.maciContractAddress,
|
|
129
103
|
signer,
|
|
130
|
-
userPublicKey: users[
|
|
131
|
-
});
|
|
132
|
-
const inclusionProof = stateTree.signUpTree.generateProof(3);
|
|
133
|
-
const { zKey, wasm } = await (0, browser_1.downloadPollJoiningArtifactsBrowser)({
|
|
134
|
-
testing: true,
|
|
135
|
-
stateTreeDepth: 10,
|
|
104
|
+
userPublicKey: users[1].publicKey,
|
|
136
105
|
});
|
|
106
|
+
const inclusionProof = stateTree.signUpTree.generateProof(2);
|
|
137
107
|
await (0, browser_1.joinPoll)({
|
|
138
108
|
maciAddress: maciAddresses.maciContractAddress,
|
|
139
|
-
privateKey: users[
|
|
109
|
+
privateKey: users[1].privateKey.serialize(),
|
|
140
110
|
signer,
|
|
141
111
|
pollId: 0n,
|
|
142
112
|
inclusionProof,
|
|
143
|
-
pollJoiningZkey:
|
|
144
|
-
pollWasm:
|
|
113
|
+
pollJoiningZkey: constants_1.testPollJoiningZkeyPath,
|
|
114
|
+
pollWasm: constants_1.testPollJoiningWasmPath,
|
|
145
115
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
146
116
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
147
117
|
});
|
|
148
118
|
const registeredUserData = await (0, sdk_1.getJoinedUserData)({
|
|
149
119
|
maciAddress: maciAddresses.maciContractAddress,
|
|
150
120
|
pollId: 0n,
|
|
151
|
-
pollPublicKey: users[
|
|
121
|
+
pollPublicKey: users[1].publicKey.serialize(),
|
|
152
122
|
signer,
|
|
153
123
|
startBlock: startBlock || 0,
|
|
154
124
|
});
|
|
155
125
|
(0, chai_1.expect)(registeredUserData.isJoined).to.eq(true);
|
|
156
|
-
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(
|
|
126
|
+
(0, chai_1.expect)(BigInt(registeredUserData.pollStateIndex)).to.eq(2);
|
|
157
127
|
});
|
|
158
128
|
it("should throw error if poll does not exist", async () => {
|
|
159
129
|
await (0, chai_1.expect)((0, sdk_1.joinPoll)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"joinPoll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/joinPoll.test.ts"],"names":[],"mappings":";;AAAA,0DAAoD;AACpD,4CAgB4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"joinPoll.test.js","sourceRoot":"","sources":["../../../../ts/__tests__/unit/joinPoll.test.ts"],"names":[],"mappings":";;AAAA,0DAAoD;AACpD,4CAgB4B;AAC5B,wDAAyE;AACzE,+BAA8B;AAG9B,+CAYyB;AACzB,uCAAoC;AAEpC,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;AAExB,QAAQ,CAAC,UAAU,EAAE,SAAS,IAAI;IAChC,IAAI,MAAc,CAAC;IACnB,IAAI,aAA6B,CAAC;IAClC,IAAI,sCAA8C,CAAC;IACnD,IAAI,uBAA+B,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAO,EAAE,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,KAAK,CAAC;IAEzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,6FAA6F;IAC7F,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,GAAG,MAAM,IAAA,sBAAgB,GAAE,CAAC;QAElC,MAAM,CAAC,YAAY,EAAE,AAAD,EAAG,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACpG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAEpE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACrD,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAC9D,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAEhE,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;QAEpF,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAc,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpD,uBAAuB,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAEtD,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC;QAElD,iDAAiD;QACjD,MAAM,4BAA4B,GAAG,MAAM,IAAA,yCAAmC,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,4BAA4B;QAC5B,MAAM,IAAA,sBAAgB,EAAC,EAAE,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC/F,6BAA6B;QAC7B,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;YAC/B,GAAG,sBAAU;YACb,MAAM;YACN,mBAAmB,EAAE,2BAA2B;SACjD,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,IAAA,YAAM,EAAC;YACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM,EAAE,2BAAe;YACvB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,IAAA,YAAM,EAAC;YACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM,EAAE,2BAAe;YACvB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,IAAA,YAAM,EAAC;YACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM,EAAE,2BAAe;YACvB,MAAM;SACP,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,IAAA,gBAAU,EAAC;YACf,GAAG,0BAAc;YACjB,MAAM;YACN,kBAAkB,EAAE,SAAS;YAC7B,gBAAgB,EAAE,SAAS,GAAG,wBAAY;YAC1C,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,uBAAuB;YACvB,oCAAoC,EAAE,4BAA4B;YAClE,qBAAqB,EAAE,yBAAyB;YAChD,sCAAsC;SACvC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QAE3D,MAAM,IAAA,cAAQ,EAAC;YACb,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE;YAC3C,MAAM;YACN,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,mCAAuB;YACxC,OAAO;YACP,QAAQ,EAAE,mCAAuB;YACjC,oBAAoB,EAAE,sCAA0B;YAChD,UAAU,EAAE,8BAAkB;YAC9B,SAAS,EAAE,2BAAe;YAC1B,WAAW,EAAE,6BAAiB;SAC/B,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,MAAM,IAAA,uBAAiB,EAAC;YACjD,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM;YACN,UAAU,EAAE,UAAU,IAAI,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAA,aAAM,EAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,MAAM,CAAC,kBAAkB,CAAC,cAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QAE3D,MAAM,SAAS,GAAG,MAAM,IAAA,qCAA+B,EAAC;YACtD,mBAAmB,EAAE,aAAa,CAAC,mBAAmB;YACtD,MAAM;YACN,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SAClC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAA,kBAAe,EAAC;YACpB,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE;YAC3C,MAAM;YACN,MAAM,EAAE,EAAE;YACV,cAAc;YACd,eAAe,EAAE,mCAAuB;YACxC,QAAQ,EAAE,mCAAuB;YACjC,SAAS,EAAE,2BAAe;YAC1B,WAAW,EAAE,6BAAiB;SAC/B,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,MAAM,IAAA,uBAAiB,EAAC;YACjD,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM;YACN,UAAU,EAAE,UAAU,IAAI,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAA,aAAM,EAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,MAAM,CAAC,kBAAkB,CAAC,cAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAA,aAAM,EACV,IAAA,cAAQ,EAAC;YACP,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE;YAC3C,MAAM;YACN,MAAM,EAAE,UAAU;YAClB,eAAe,EAAE,mCAAuB;YACxC,SAAS,EAAE,2BAAe;YAC1B,WAAW,EAAE,6BAAiB;SAC/B,CAAC,CACH,CAAC,UAAU,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACvG,MAAM,OAAO,GAAG,IAAI,oBAAO,EAAE,CAAC;QAE9B,MAAM,IAAA,aAAM,EACV,IAAA,cAAQ,EAAC;YACP,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;YAC1C,MAAM;YACN,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,mCAAuB;YACxC,SAAS,EAAE,2BAAe;YAC1B,WAAW,EAAE,6BAAiB;SAC/B,CAAC,CACH,CAAC,UAAU,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,aAAM,EACV,IAAA,cAAQ,EAAC;YACP,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE;YAC3C,MAAM;YACN,MAAM,EAAE,CAAC,EAAE;YACX,eAAe,EAAE,mCAAuB;YACxC,SAAS,EAAE,2BAAe;YAC1B,WAAW,EAAE,6BAAiB;SAC/B,CAAC,CACH,CAAC,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -17,7 +17,8 @@ describe("poll", function test() {
|
|
|
17
17
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
18
18
|
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({ policy: signupPolicyFactory, checker: signupCheckerFactory }, signer, true);
|
|
19
19
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
20
|
-
const
|
|
20
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
21
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
21
22
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
22
23
|
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
23
24
|
verifierContractAddress = await verifier.getAddress();
|
|
@@ -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":";;AAAA,4CAgB4B;AAC5B,+BAA8B;AAI9B,+CAMyB;AAEzB,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI;IAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,IAAI,aAA6B,CAAC;IAClC,IAAI,sCAA8C,CAAC;IACnD,IAAI,uBAA+B,CAAC;IACpC,IAAI,aAAiC,CAAC;IACtC,IAAI,MAAc,CAAC;IAEnB,6FAA6F;IAC7F,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,GAAG,MAAM,IAAA,sBAAgB,GAAE,CAAC;QAElC,MAAM,CAAC,YAAY,EAAE,AAAD,EAAG,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACpG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAEpE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACrD,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAC9D,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAEhE,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;QAEpF,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAc,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpD,uBAAuB,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAEtD,iDAAiD;QACjD,MAAM,4BAA4B,GAAG,MAAM,IAAA,yCAAmC,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,4BAA4B;QAC5B,MAAM,IAAA,sBAAgB,EAAC,EAAE,GAAG,CAAC,MAAM,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAE/F,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC;QAElD,6BAA6B;QAC7B,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;YAC/B,GAAG,sBAAU;YACb,MAAM;YACN,mBAAmB,EAAE,2BAA2B;SACjD,CAAC,CAAC;QAEH,yBAAyB;QACzB,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;YAC/B,GAAG,0BAAc;YACjB,MAAM;YACN,kBAAkB,EAAE,SAAS;YAC7B,gBAAgB,EAAE,SAAS,GAAG,wBAAY;YAC1C,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,uBAAuB;YACvB,oCAAoC,EAAE,4BAA4B;YAClE,qBAAqB,EAAE,yBAAyB;YAChD,sCAAsC;SACvC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAO,EAAC;gBAC7B,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,MAAM;aACP,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAA,aAAO,EAAC;gBACjC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACnB,MAAM;aACP,CAAC,CAAC;YAEH,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAO,EAAC;gBAC7B,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,QAAQ,EAAE,MAAM,CAAC,QAAS;aAC3B,CAAC,CAAC;YAEH,MAAM,IAAA,gBAAU,EAAC,EAAE,OAAO,EAAE,wBAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,IAAA,kBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YAE5G,MAAM,gBAAgB,GAAG,MAAM,IAAA,aAAO,EAAC;gBACrC,WAAW,EAAE,aAAa,CAAC,mBAAmB;gBAC9C,MAAM;aACP,CAAC,CAAC;YAEH,IAAA,aAAM,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzD,IAAA,aAAM,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,IAAA,aAAM,EAAC,IAAA,aAAO,EAAC,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAC5G,qCAAqC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,IAAA,aAAM,EACV,IAAA,aAAO,EAAC,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CACjF,CAAC,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,IAAA,aAAM,EACV,IAAA,aAAO,EAAC,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CACnF,CAAC,UAAU,CAAC,YAAY,CAAC,mDAAmD,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -37,7 +37,8 @@ describe("publish", function test() {
|
|
|
37
37
|
checker: signupCheckerFactory,
|
|
38
38
|
}, signer, true);
|
|
39
39
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
40
|
-
const
|
|
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);
|
|
41
42
|
initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
42
43
|
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
43
44
|
verifierContractAddress = await verifier.getAddress();
|
|
@@ -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
|
+
(0, chai_1.expect)((0, sdk_1.setVerifyingKeys)({
|
|
37
|
+
...(await (0, constants_1.verifyingKeysArgs)(signer, [sdk_1.EMode.NON_QV])),
|
|
38
|
+
verifyingKeysRegistryAddress,
|
|
39
|
+
})).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":"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"}
|
package/build/ts/constants.d.ts
CHANGED
|
@@ -19,58 +19,58 @@ export declare const maxVoteOptions = 25;
|
|
|
19
19
|
export declare const testRapidsnarkPath: string;
|
|
20
20
|
export declare const testTallyFilePath = "./tally.json";
|
|
21
21
|
export declare const testProofsDirPath = "./proofs";
|
|
22
|
-
export declare const testPollJoiningZkeyPath
|
|
23
|
-
export declare const testPollJoiningWitnessPath
|
|
24
|
-
export declare const testPollJoiningWasmPath
|
|
25
|
-
export declare const testPollJoinedZkeyPath
|
|
26
|
-
export declare const testPollJoinedWitnessPath
|
|
27
|
-
export declare const testPollJoinedWasmPath
|
|
28
|
-
export declare const testProcessMessageZkeyPath
|
|
29
|
-
export declare const testProcessMessagesWitnessPath
|
|
30
|
-
export declare const testProcessMessagesWitnessDatPath
|
|
31
|
-
export declare const testProcessMessagesWasmPath
|
|
32
|
-
export declare const ceremonyProcessMessagesZkeyPath
|
|
33
|
-
export declare const ceremonyProcessMessagesWitnessPath
|
|
34
|
-
export declare const ceremonyProcessMessagesDatPath
|
|
35
|
-
export declare const ceremonyProcessMessagesWasmPath
|
|
36
|
-
export declare const testProcessMessageNonQvZkeyPath
|
|
37
|
-
export declare const testProcessMessagesNonQvWitnessPath
|
|
38
|
-
export declare const testProcessMessagesNonQvWitnessDatPath
|
|
39
|
-
export declare const testProcessMessagesNonQvWasmPath
|
|
40
|
-
export declare const ceremonyProcessMessagesNonQvZkeyPath
|
|
41
|
-
export declare const ceremonyProcessMessagesNonQvWitnessPath
|
|
42
|
-
export declare const ceremonyProcessMessagesNonQvDatPath
|
|
43
|
-
export declare const ceremonyProcessMessagesNonQvWasmPath
|
|
44
|
-
export declare const testProcessMessageFullZkeyPath
|
|
45
|
-
export declare const testProcessMessagesFullWitnessPath
|
|
46
|
-
export declare const testProcessMessagesFullWitnessDatPath
|
|
47
|
-
export declare const testProcessMessagesFullWasmPath
|
|
48
|
-
export declare const testTallyVotesZkeyPath
|
|
49
|
-
export declare const testTallyVotesWitnessPath
|
|
50
|
-
export declare const testTallyVotesWitnessDatPath
|
|
51
|
-
export declare const testTallyVotesWasmPath
|
|
52
|
-
export declare const ceremonyTallyVotesZkeyPath
|
|
53
|
-
export declare const ceremonyTallyVotesWitnessPath
|
|
54
|
-
export declare const ceremonyTallyVotesDatPath
|
|
55
|
-
export declare const ceremonyTallyVotesWasmPath
|
|
56
|
-
export declare const testVoteTallyNonQvZkeyPath
|
|
57
|
-
export declare const testVoteTallyNonQvWitnessPath
|
|
58
|
-
export declare const testVoteTallyNonQvWitnessDatPath
|
|
59
|
-
export declare const testVoteTallyNonQvWasmPath
|
|
60
|
-
export declare const ceremonyVoteTallyNonQvZkeyPath
|
|
61
|
-
export declare const ceremonyVoteTallyNonQvWitnessPath
|
|
62
|
-
export declare const ceremonyVoteTallyNonQvDatPath
|
|
63
|
-
export declare const ceremonyVoteTallyNonQvWasmPath
|
|
64
|
-
export declare const testTallyVotesFullZkeyPath
|
|
65
|
-
export declare const testTallyVotesFullWitnessPath
|
|
66
|
-
export declare const testTallyVotesFullWitnessDatPath
|
|
67
|
-
export declare const testTallyVotesFullWasmPath
|
|
22
|
+
export declare const testPollJoiningZkeyPath: string;
|
|
23
|
+
export declare const testPollJoiningWitnessPath: string;
|
|
24
|
+
export declare const testPollJoiningWasmPath: string;
|
|
25
|
+
export declare const testPollJoinedZkeyPath: string;
|
|
26
|
+
export declare const testPollJoinedWitnessPath: string;
|
|
27
|
+
export declare const testPollJoinedWasmPath: string;
|
|
28
|
+
export declare const testProcessMessageZkeyPath: string;
|
|
29
|
+
export declare const testProcessMessagesWitnessPath: string;
|
|
30
|
+
export declare const testProcessMessagesWitnessDatPath: string;
|
|
31
|
+
export declare const testProcessMessagesWasmPath: string;
|
|
32
|
+
export declare const ceremonyProcessMessagesZkeyPath: string;
|
|
33
|
+
export declare const ceremonyProcessMessagesWitnessPath: string;
|
|
34
|
+
export declare const ceremonyProcessMessagesDatPath: string;
|
|
35
|
+
export declare const ceremonyProcessMessagesWasmPath: string;
|
|
36
|
+
export declare const testProcessMessageNonQvZkeyPath: string;
|
|
37
|
+
export declare const testProcessMessagesNonQvWitnessPath: string;
|
|
38
|
+
export declare const testProcessMessagesNonQvWitnessDatPath: string;
|
|
39
|
+
export declare const testProcessMessagesNonQvWasmPath: string;
|
|
40
|
+
export declare const ceremonyProcessMessagesNonQvZkeyPath: string;
|
|
41
|
+
export declare const ceremonyProcessMessagesNonQvWitnessPath: string;
|
|
42
|
+
export declare const ceremonyProcessMessagesNonQvDatPath: string;
|
|
43
|
+
export declare const ceremonyProcessMessagesNonQvWasmPath: string;
|
|
44
|
+
export declare const testProcessMessageFullZkeyPath: string;
|
|
45
|
+
export declare const testProcessMessagesFullWitnessPath: string;
|
|
46
|
+
export declare const testProcessMessagesFullWitnessDatPath: string;
|
|
47
|
+
export declare const testProcessMessagesFullWasmPath: string;
|
|
48
|
+
export declare const testTallyVotesZkeyPath: string;
|
|
49
|
+
export declare const testTallyVotesWitnessPath: string;
|
|
50
|
+
export declare const testTallyVotesWitnessDatPath: string;
|
|
51
|
+
export declare const testTallyVotesWasmPath: string;
|
|
52
|
+
export declare const ceremonyTallyVotesZkeyPath: string;
|
|
53
|
+
export declare const ceremonyTallyVotesWitnessPath: string;
|
|
54
|
+
export declare const ceremonyTallyVotesDatPath: string;
|
|
55
|
+
export declare const ceremonyTallyVotesWasmPath: string;
|
|
56
|
+
export declare const testVoteTallyNonQvZkeyPath: string;
|
|
57
|
+
export declare const testVoteTallyNonQvWitnessPath: string;
|
|
58
|
+
export declare const testVoteTallyNonQvWitnessDatPath: string;
|
|
59
|
+
export declare const testVoteTallyNonQvWasmPath: string;
|
|
60
|
+
export declare const ceremonyVoteTallyNonQvZkeyPath: string;
|
|
61
|
+
export declare const ceremonyVoteTallyNonQvWitnessPath: string;
|
|
62
|
+
export declare const ceremonyVoteTallyNonQvDatPath: string;
|
|
63
|
+
export declare const ceremonyVoteTallyNonQvWasmPath: string;
|
|
64
|
+
export declare const testTallyVotesFullZkeyPath: string;
|
|
65
|
+
export declare const testTallyVotesFullWitnessPath: string;
|
|
66
|
+
export declare const testTallyVotesFullWitnessDatPath: string;
|
|
67
|
+
export declare const testTallyVotesFullWasmPath: string;
|
|
68
68
|
export declare const checkVerifyingKeysArgs: Omit<ICheckVerifyingKeysArgs, "verifyingKeysRegistry" | "signer">;
|
|
69
69
|
export declare const timeTravelArgs: Omit<ITimeTravelArgs, "signer">;
|
|
70
70
|
export declare const mergeSignupsArgs: Omit<IMergeSignupsArgs, "maciAddress" | "signer">;
|
|
71
71
|
export declare const proveOnChainArgs: Omit<IProveOnChainArgs, "maciAddress" | "signer">;
|
|
72
72
|
export declare const verifyArgs: (signer: Signer) => Promise<IVerifyArgs>;
|
|
73
|
-
export declare const verifyingKeysArgs: (signer: Signer,
|
|
73
|
+
export declare const verifyingKeysArgs: (signer: Signer, modes?: EMode[]) => Promise<Omit<ISetVerifyingKeysArgs, "verifyingKeysRegistryAddress">>;
|
|
74
74
|
export declare const deployArgs: Omit<IDeployMaciArgs, "signer" | "signupPolicyAddress">;
|
|
75
75
|
export declare const deployPollArgs: Omit<IDeployPollArgs, "relayers" | "signer" | "pollStartTimestamp" | "pollEndTimestamp" | "maciAddress" | "verifierContractAddress" | "verifyingKeysRegistryContractAddress" | "policyContractAddress" | "initialVoiceCreditProxyContractAddress">;
|
|
76
76
|
export declare const invalidVote: {
|