@maci-protocol/sdk 0.0.0-ci.f9da2fc → 0.0.0-ci.fc91dc9
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/package.json +10 -2
- package/build/ts/browser/joinPoll.d.ts.map +1 -1
- package/build/ts/browser/joinPoll.js +14 -10
- package/build/ts/browser/joinPoll.js.map +1 -1
- package/build/ts/browser/utils.d.ts +1 -1
- package/build/ts/browser/utils.d.ts.map +1 -1
- package/build/ts/browser/utils.js +3 -3
- package/build/ts/browser/utils.js.map +1 -1
- package/build/ts/deploy/index.d.ts +2 -2
- package/build/ts/deploy/index.d.ts.map +1 -1
- package/build/ts/deploy/index.js +3 -3
- package/build/ts/deploy/index.js.map +1 -1
- package/build/ts/deploy/maci.js +1 -1
- package/build/ts/deploy/maci.js.map +1 -1
- package/build/ts/deploy/poll.d.ts +1 -1
- package/build/ts/deploy/poll.d.ts.map +1 -1
- package/build/ts/deploy/poll.js +7 -6
- package/build/ts/deploy/poll.js.map +1 -1
- package/build/ts/deploy/types.d.ts +10 -6
- package/build/ts/deploy/types.d.ts.map +1 -1
- package/build/ts/deploy/utils.js +1 -1
- package/build/ts/deploy/utils.js.map +1 -1
- package/build/ts/deploy/verifyingKeysRegistry.d.ts +7 -0
- package/build/ts/deploy/verifyingKeysRegistry.d.ts.map +1 -0
- package/build/ts/deploy/verifyingKeysRegistry.js +14 -0
- package/build/ts/deploy/verifyingKeysRegistry.js.map +1 -0
- package/build/ts/index.d.ts +1 -1
- package/build/ts/index.d.ts.map +1 -1
- package/build/ts/index.js +11 -7
- package/build/ts/index.js.map +1 -1
- package/build/ts/maci/state.d.ts +1 -1
- package/build/ts/maci/state.js +8 -8
- package/build/ts/maci/state.js.map +1 -1
- package/build/ts/maci/types.d.ts +1 -1
- package/build/ts/maciKeys/__tests__/keypair.test.js +7 -7
- package/build/ts/maciKeys/__tests__/keypair.test.js.map +1 -1
- package/build/ts/maciKeys/__tests__/publicKeys.test.js +7 -7
- package/build/ts/maciKeys/__tests__/publicKeys.test.js.map +1 -1
- package/build/ts/maciKeys/keypair.js +3 -3
- package/build/ts/maciKeys/keypair.js.map +1 -1
- package/build/ts/maciKeys/publicKeys.d.ts +2 -2
- package/build/ts/maciKeys/publicKeys.d.ts.map +1 -1
- package/build/ts/maciKeys/publicKeys.js +6 -6
- package/build/ts/maciKeys/publicKeys.js.map +1 -1
- package/build/ts/poll/poll.js +4 -4
- package/build/ts/poll/poll.js.map +1 -1
- package/build/ts/poll/types.d.ts +5 -5
- package/build/ts/poll/types.d.ts.map +1 -1
- package/build/ts/proof/__tests__/download.test.js +3 -3
- package/build/ts/proof/__tests__/download.test.js.map +1 -1
- package/build/ts/proof/generate.d.ts +1 -1
- package/build/ts/proof/generate.js +4 -4
- package/build/ts/proof/generate.js.map +1 -1
- package/build/ts/proof/prove.js +10 -10
- package/build/ts/proof/prove.js.map +1 -1
- package/build/ts/proof/types.d.ts +3 -3
- package/build/ts/proof/types.d.ts.map +1 -1
- package/build/ts/relayer/__tests__/messages.test.js +1 -1
- package/build/ts/relayer/__tests__/messages.test.js.map +1 -1
- package/build/ts/relayer/__tests__/utils.test.js +3 -3
- package/build/ts/relayer/__tests__/utils.test.js.map +1 -1
- package/build/ts/relayer/messages.js +1 -1
- package/build/ts/relayer/utils.js +1 -1
- package/build/ts/relayer/utils.js.map +1 -1
- package/build/ts/tally/commitments.js +2 -2
- package/build/ts/tally/commitments.js.map +1 -1
- package/build/ts/tally/index.d.ts +2 -1
- package/build/ts/tally/index.d.ts.map +1 -1
- package/build/ts/tally/index.js +4 -1
- package/build/ts/tally/index.js.map +1 -1
- package/build/ts/tally/results.d.ts +14 -0
- package/build/ts/tally/results.d.ts.map +1 -0
- package/build/ts/tally/results.js +44 -0
- package/build/ts/tally/results.js.map +1 -0
- package/build/ts/tally/types.d.ts +33 -7
- package/build/ts/tally/types.d.ts.map +1 -1
- package/build/ts/tally/utils.js +3 -3
- package/build/ts/tally/utils.js.map +1 -1
- package/build/ts/tally/verification.d.ts +1 -1
- package/build/ts/tally/verification.d.ts.map +1 -1
- package/build/ts/tally/verification.js +4 -4
- package/build/ts/tally/verification.js.map +1 -1
- package/build/ts/trees/stateTree.js +7 -7
- package/build/ts/trees/stateTree.js.map +1 -1
- package/build/ts/trees/types.d.ts +2 -2
- package/build/ts/trees/types.d.ts.map +1 -1
- package/build/ts/user/joinPoll.js +9 -9
- package/build/ts/user/joinPoll.js.map +1 -1
- package/build/ts/user/signup.d.ts +3 -3
- package/build/ts/user/signup.d.ts.map +1 -1
- package/build/ts/user/signup.js +8 -8
- package/build/ts/user/signup.js.map +1 -1
- package/build/ts/user/types.d.ts +12 -12
- package/build/ts/user/types.d.ts.map +1 -1
- package/build/ts/user/utils.d.ts +12 -12
- package/build/ts/user/utils.d.ts.map +1 -1
- package/build/ts/user/utils.js +26 -26
- package/build/ts/user/utils.js.map +1 -1
- package/build/ts/utils/proofs.d.ts +2 -2
- package/build/ts/utils/proofs.d.ts.map +1 -1
- package/build/ts/utils/proofs.js +4 -4
- package/build/ts/utils/proofs.js.map +1 -1
- package/build/ts/utils/types.d.ts +1 -1
- package/build/ts/utils/types.d.ts.map +1 -1
- package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts +1 -1
- package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts.map +1 -1
- package/build/ts/verifyingKeys/checkVerifyingKeys.js +13 -13
- package/build/ts/verifyingKeys/checkVerifyingKeys.js.map +1 -1
- package/build/ts/verifyingKeys/index.d.ts +2 -2
- package/build/ts/verifyingKeys/index.d.ts.map +1 -1
- package/build/ts/verifyingKeys/index.js +5 -5
- package/build/ts/verifyingKeys/index.js.map +1 -1
- package/build/ts/verifyingKeys/setVerifyingKeys.d.ts +1 -1
- package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
- package/build/ts/verifyingKeys/setVerifyingKeys.js +43 -33
- package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
- package/build/ts/verifyingKeys/types.d.ts +36 -32
- package/build/ts/verifyingKeys/types.d.ts.map +1 -1
- package/build/ts/verifyingKeys/utils.d.ts +10 -10
- package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
- package/build/ts/verifyingKeys/utils.js +73 -60
- package/build/ts/verifyingKeys/utils.js.map +1 -1
- package/build/ts/vote/generate.d.ts +1 -1
- package/build/ts/vote/generate.d.ts.map +1 -1
- package/build/ts/vote/generate.js +4 -4
- package/build/ts/vote/generate.js.map +1 -1
- package/build/ts/vote/index.d.ts +1 -1
- package/build/ts/vote/index.d.ts.map +1 -1
- package/build/ts/vote/index.js +2 -2
- package/build/ts/vote/index.js.map +1 -1
- package/build/ts/vote/invalidate.js +3 -3
- package/build/ts/vote/invalidate.js.map +1 -1
- package/build/ts/vote/publish.d.ts +1 -1
- package/build/ts/vote/publish.d.ts.map +1 -1
- package/build/ts/vote/publish.js +19 -19
- package/build/ts/vote/publish.js.map +1 -1
- package/build/ts/vote/submit.js +2 -2
- package/build/ts/vote/submit.js.map +1 -1
- package/build/ts/vote/types.d.ts +6 -6
- package/build/ts/vote/types.d.ts.map +1 -1
- package/build/ts/vote/utils.d.ts +2 -2
- package/build/ts/vote/utils.d.ts.map +1 -1
- package/build/ts/vote/utils.js +5 -5
- package/build/ts/vote/utils.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +16 -8
- package/build/ts/deploy/vkRegistry.d.ts +0 -7
- package/build/ts/deploy/vkRegistry.d.ts.map +0 -1
- package/build/ts/deploy/vkRegistry.js +0 -14
- package/build/ts/deploy/vkRegistry.js.map +0 -1
package/build/ts/tally/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.verify = exports.generateTallyCommitments = void 0;
|
|
3
|
+
exports.getResults = exports.getResultPerOption = exports.verify = exports.generateTallyCommitments = void 0;
|
|
4
4
|
var commitments_1 = require("./commitments");
|
|
5
5
|
Object.defineProperty(exports, "generateTallyCommitments", { enumerable: true, get: function () { return commitments_1.generateTallyCommitments; } });
|
|
6
6
|
var verification_1 = require("./verification");
|
|
7
7
|
Object.defineProperty(exports, "verify", { enumerable: true, get: function () { return verification_1.verify; } });
|
|
8
|
+
var results_1 = require("./results");
|
|
9
|
+
Object.defineProperty(exports, "getResultPerOption", { enumerable: true, get: function () { return results_1.getResultPerOption; } });
|
|
10
|
+
Object.defineProperty(exports, "getResults", { enumerable: true, get: function () { return results_1.getResults; } });
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/tally/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAAhD,uHAAA,wBAAwB,OAAA;AACjC,+CAAwC;AAA/B,sGAAA,MAAM,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/tally/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAAhD,uHAAA,wBAAwB,OAAA;AACjC,+CAAwC;AAA/B,sGAAA,MAAM,OAAA;AAUf,qCAA2D;AAAlD,6GAAA,kBAAkB,OAAA;AAAE,qGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IGetResultPerOptionArgs, IGetResultsArgs } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Get result per option
|
|
4
|
+
* @param {IGetResultPerOptionsArgs} - The arguments to get result per option
|
|
5
|
+
* @returns The result per option
|
|
6
|
+
*/
|
|
7
|
+
export declare const getResultPerOption: ({ maciAddress, pollId, index, signer, }: IGetResultPerOptionArgs) => Promise<bigint>;
|
|
8
|
+
/**
|
|
9
|
+
* Get all results from the Tally contract
|
|
10
|
+
* @param {IGetResultsArgs} - The arguments to get all the results
|
|
11
|
+
* @returns The results array (The final result of vote option n is in index n-1)
|
|
12
|
+
*/
|
|
13
|
+
export declare const getResults: ({ maciAddress, pollId, signer }: IGetResultsArgs) => Promise<bigint[]>;
|
|
14
|
+
//# sourceMappingURL=results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../ts/tally/results.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAU,yCAKtC,uBAAuB,KAAG,OAAO,CAAC,MAAM,CAc1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAU,iCAAiC,eAAe,KAAG,OAAO,CAAC,MAAM,EAAE,CAwBnG,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getResults = exports.getResultPerOption = void 0;
|
|
4
|
+
const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
|
|
5
|
+
/**
|
|
6
|
+
* Get result per option
|
|
7
|
+
* @param {IGetResultPerOptionsArgs} - The arguments to get result per option
|
|
8
|
+
* @returns The result per option
|
|
9
|
+
*/
|
|
10
|
+
const getResultPerOption = async ({ maciAddress, pollId, index, signer, }) => {
|
|
11
|
+
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
12
|
+
const pollContracts = await maciContract.getPoll(pollId);
|
|
13
|
+
const tallyContract = typechain_types_1.Tally__factory.connect(pollContracts.tally, signer);
|
|
14
|
+
const result = await tallyContract.tallyResults(index);
|
|
15
|
+
if (!result.flag) {
|
|
16
|
+
throw new Error("Tally result is not set");
|
|
17
|
+
}
|
|
18
|
+
return result.value;
|
|
19
|
+
};
|
|
20
|
+
exports.getResultPerOption = getResultPerOption;
|
|
21
|
+
/**
|
|
22
|
+
* Get all results from the Tally contract
|
|
23
|
+
* @param {IGetResultsArgs} - The arguments to get all the results
|
|
24
|
+
* @returns The results array (The final result of vote option n is in index n-1)
|
|
25
|
+
*/
|
|
26
|
+
const getResults = async ({ maciAddress, pollId, signer }) => {
|
|
27
|
+
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
28
|
+
const pollContracts = await maciContract.getPoll(pollId);
|
|
29
|
+
const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
|
|
30
|
+
const numberOfVoteOptions = await pollContract.voteOptions();
|
|
31
|
+
const tallyContract = typechain_types_1.Tally__factory.connect(pollContracts.tally, signer);
|
|
32
|
+
const results = [];
|
|
33
|
+
for (let i = 0; i < numberOfVoteOptions; i += 1) {
|
|
34
|
+
// eslint-disable-next-line no-await-in-loop
|
|
35
|
+
const result = await tallyContract.tallyResults(i);
|
|
36
|
+
if (!result.flag) {
|
|
37
|
+
throw new Error(`Tally result for option ${i} is not set`);
|
|
38
|
+
}
|
|
39
|
+
results.push(result.value);
|
|
40
|
+
}
|
|
41
|
+
return results;
|
|
42
|
+
};
|
|
43
|
+
exports.getResults = getResults;
|
|
44
|
+
//# sourceMappingURL=results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../../ts/tally/results.ts"],"names":[],"mappings":";;;AAAA,8EAIkD;AAIlD;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,WAAW,EACX,MAAM,EACN,KAAK,EACL,MAAM,GACkB,EAAmB,EAAE;IAC7C,MAAM,YAAY,GAAG,+BAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,gCAAY,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAmB,EAAqB,EAAE;IACtG,MAAM,YAAY,GAAG,+BAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,+BAAW,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;IAE7D,MAAM,aAAa,GAAG,gCAAY,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAExE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,4CAA4C;QAC5C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAxBW,QAAA,UAAU,cAwBrB"}
|
|
@@ -67,19 +67,19 @@ export interface ITallyData {
|
|
|
67
67
|
commitment: string;
|
|
68
68
|
};
|
|
69
69
|
/**
|
|
70
|
-
* The per
|
|
70
|
+
* The per vote option spent voice credits.
|
|
71
71
|
*/
|
|
72
|
-
|
|
72
|
+
perVoteOptionSpentVoiceCredits?: {
|
|
73
73
|
/**
|
|
74
|
-
* The tally of the per
|
|
74
|
+
* The tally of the per vote option spent voice credits.
|
|
75
75
|
*/
|
|
76
76
|
tally: string[];
|
|
77
77
|
/**
|
|
78
|
-
* The salt of the per
|
|
78
|
+
* The salt of the per vote option spent voice credits.
|
|
79
79
|
*/
|
|
80
80
|
salt: string;
|
|
81
81
|
/**
|
|
82
|
-
* The commitment of the per
|
|
82
|
+
* The commitment of the per vote option spent voice credits.
|
|
83
83
|
*/
|
|
84
84
|
commitment: string;
|
|
85
85
|
};
|
|
@@ -111,7 +111,7 @@ export interface IVerifyArgs {
|
|
|
111
111
|
/**
|
|
112
112
|
* The number of vote options
|
|
113
113
|
*/
|
|
114
|
-
|
|
114
|
+
totalVoteOptions: number;
|
|
115
115
|
/**
|
|
116
116
|
* The vote option tree depth
|
|
117
117
|
*/
|
|
@@ -159,7 +159,7 @@ export interface ITallyVotesInputs {
|
|
|
159
159
|
ballotRoot: bigint;
|
|
160
160
|
sbSalt: bigint;
|
|
161
161
|
index: bigint;
|
|
162
|
-
|
|
162
|
+
totalSignups: bigint;
|
|
163
163
|
sbCommitment: bigint;
|
|
164
164
|
currentTallyCommitment: bigint;
|
|
165
165
|
newTallyCommitment: bigint;
|
|
@@ -176,4 +176,30 @@ export interface ITallyVotesInputs {
|
|
|
176
176
|
newPerVOSpentVoiceCreditsRootSalt: bigint;
|
|
177
177
|
newSpentVoiceCreditSubtotalSalt: bigint;
|
|
178
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Get results args
|
|
181
|
+
*/
|
|
182
|
+
export interface IGetResultsArgs {
|
|
183
|
+
/**
|
|
184
|
+
* The address of the MACI contract
|
|
185
|
+
*/
|
|
186
|
+
maciAddress: string;
|
|
187
|
+
/**
|
|
188
|
+
* The ID of the poll
|
|
189
|
+
*/
|
|
190
|
+
pollId: string;
|
|
191
|
+
/**
|
|
192
|
+
* The signer
|
|
193
|
+
*/
|
|
194
|
+
signer: Signer;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get result per option args
|
|
198
|
+
*/
|
|
199
|
+
export interface IGetResultPerOptionArgs extends IGetResultsArgs {
|
|
200
|
+
/**
|
|
201
|
+
* The index of the vote option
|
|
202
|
+
*/
|
|
203
|
+
index: number;
|
|
204
|
+
}
|
|
179
205
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/tally/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE;QACP;;WAEG;QACH,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,sBAAsB,EAAE;QACtB;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/tally/types.ts"],"names":[],"mappings":"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"}
|
package/build/ts/tally/utils.js
CHANGED
|
@@ -14,10 +14,10 @@ const crypto_1 = require("@maci-protocol/crypto");
|
|
|
14
14
|
*/
|
|
15
15
|
const verifyPerVOSpentVoiceCredits = async (tallyContract, tallyData, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment) => {
|
|
16
16
|
const failedIndices = [];
|
|
17
|
-
for (let i = 0; i < tallyData.
|
|
18
|
-
const proof = (0, crypto_1.genTreeProof)(i, tallyData.
|
|
17
|
+
for (let i = 0; i < tallyData.perVoteOptionSpentVoiceCredits.tally.length; i += 1) {
|
|
18
|
+
const proof = (0, crypto_1.genTreeProof)(i, tallyData.perVoteOptionSpentVoiceCredits.tally.map((x) => BigInt(x)), voteOptionTreeDepth);
|
|
19
19
|
// eslint-disable-next-line no-await-in-loop
|
|
20
|
-
const isValid = await tallyContract.verifyPerVOSpentVoiceCredits(i, tallyData.
|
|
20
|
+
const isValid = await tallyContract.verifyPerVOSpentVoiceCredits(i, tallyData.perVoteOptionSpentVoiceCredits.tally[i], proof, tallyData.perVoteOptionSpentVoiceCredits.salt, voteOptionTreeDepth, newSpentVoiceCreditsCommitment, newResultsCommitment);
|
|
21
21
|
if (!isValid) {
|
|
22
22
|
failedIndices.push(i);
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/tally/utils.ts"],"names":[],"mappings":";;;AAAA,kDAAqD;AAKrD;;;;;;;;;GASG;AACI,MAAM,4BAA4B,GAAG,KAAK,EAC/C,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,oBAA4B,EACT,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/tally/utils.ts"],"names":[],"mappings":";;;AAAA,kDAAqD;AAKrD;;;;;;;;;GASG;AACI,MAAM,4BAA4B,GAAG,KAAK,EAC/C,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,oBAA4B,EACT,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAA,qBAAY,EACxB,CAAC,EACD,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACrE,mBAAmB,CACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAC9D,CAAC,EACD,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC,EAClD,KAAK,EACL,SAAS,CAAC,8BAA+B,CAAC,IAAI,EAC9C,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAjCW,QAAA,4BAA4B,gCAiCvC;AAEF;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,aAAoB,EACpB,SAAqB,EACrB,mBAA2B,EAC3B,8BAAsC,EACtC,mCAA4C,EACzB,EAAE;IACrB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,qBAAY,EACxB,CAAC,EACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7C,mBAAmB,CACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,iBAAiB,CACnD,CAAC,EACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1B,KAAK,EACL,SAAS,CAAC,OAAO,CAAC,IAAI,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,mCAAmC,IAAI,EAAE,CAC1C,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAjCW,QAAA,kBAAkB,sBAiC7B"}
|
|
@@ -3,5 +3,5 @@ import type { IVerifyArgs } from "./types";
|
|
|
3
3
|
* Verify the results of a poll on-chain
|
|
4
4
|
* @param VerifyArgs - The arguments for the verify command
|
|
5
5
|
*/
|
|
6
|
-
export declare const verify: ({ pollId, tallyData, signer, tallyCommitments,
|
|
6
|
+
export declare const verify: ({ pollId, tallyData, signer, tallyCommitments, totalVoteOptions, voteOptionTreeDepth, }: IVerifyArgs) => Promise<boolean>;
|
|
7
7
|
//# sourceMappingURL=verification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAU,
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAU,yFAO1B,WAAW,KAAG,OAAO,CAAC,OAAO,CAiG/B,CAAC"}
|
|
@@ -8,7 +8,7 @@ const utils_1 = require("./utils");
|
|
|
8
8
|
* Verify the results of a poll on-chain
|
|
9
9
|
* @param VerifyArgs - The arguments for the verify command
|
|
10
10
|
*/
|
|
11
|
-
const verify = async ({ pollId, tallyData, signer, tallyCommitments,
|
|
11
|
+
const verify = async ({ pollId, tallyData, signer, tallyCommitments, totalVoteOptions, voteOptionTreeDepth, }) => {
|
|
12
12
|
const useQv = tallyData.isQuadratic;
|
|
13
13
|
const maciContractAddress = tallyData.maci;
|
|
14
14
|
const validContract = await (0, contracts_1.contractExists)(signer.provider, maciContractAddress);
|
|
@@ -26,12 +26,12 @@ const verify = async ({ pollId, tallyData, signer, tallyCommitments, numVoteOpti
|
|
|
26
26
|
if (!validResultsCommitment) {
|
|
27
27
|
throw new Error("Invalid results commitment format");
|
|
28
28
|
}
|
|
29
|
-
if (tallyData.results.tally.length !==
|
|
29
|
+
if (tallyData.results.tally.length !== totalVoteOptions) {
|
|
30
30
|
throw new Error("Wrong number of vote options.");
|
|
31
31
|
}
|
|
32
32
|
// destructure the tally commitments
|
|
33
33
|
const { newTallyCommitment, newSpentVoiceCreditsCommitment, newPerVOSpentVoiceCreditsCommitment, newResultsCommitment, } = tallyCommitments;
|
|
34
|
-
// verify that the results commitment matches the output of
|
|
34
|
+
// verify that the results commitment matches the output of generateTreeCommitment()
|
|
35
35
|
if (onChainTallyCommitment !== newTallyCommitment) {
|
|
36
36
|
throw new Error("The on-chain tally commitment does not match.");
|
|
37
37
|
}
|
|
@@ -48,7 +48,7 @@ const verify = async ({ pollId, tallyData, signer, tallyCommitments, numVoteOpti
|
|
|
48
48
|
if (!useQv) {
|
|
49
49
|
return true;
|
|
50
50
|
}
|
|
51
|
-
if (tallyData.
|
|
51
|
+
if (tallyData.perVoteOptionSpentVoiceCredits?.tally.length !== totalVoteOptions) {
|
|
52
52
|
throw new Error("Wrong number of vote options.");
|
|
53
53
|
}
|
|
54
54
|
// verify per vote option voice credits on-chain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":";;;AAAA,8EAAwH;AAIxH,kDAAoD;AAEpD,mCAA2E;AAE3E;;;GAGG;AACI,MAAM,MAAM,GAAG,KAAK,EAAE,EAC3B,MAAM,EACN,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../ts/tally/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ const generateSignUpTree = async ({ provider, address, fromBlock = 0, blocksPerR
|
|
|
26
26
|
const maciContract = typechain_types_1.MACI__factory.connect(address, provider);
|
|
27
27
|
const signUpTree = new lean_imt_1.LeanIMT(crypto_1.hashLeanIMT);
|
|
28
28
|
signUpTree.insert(crypto_1.PAD_KEY_HASH);
|
|
29
|
-
const
|
|
29
|
+
const publicKeys = [];
|
|
30
30
|
// Fetch event logs in batches (lastBlock inclusive)
|
|
31
31
|
for (let i = fromBlock; i <= lastBlock; i += blocksPerRequest + 1) {
|
|
32
32
|
// the last block batch will be either current iteration block + blockPerRequest
|
|
@@ -36,11 +36,11 @@ const generateSignUpTree = async ({ provider, address, fromBlock = 0, blocksPerR
|
|
|
36
36
|
const signUpLogs = await maciContract.queryFilter(maciContract.filters.SignUp(), i, toBlock);
|
|
37
37
|
signUpLogs.forEach((event) => {
|
|
38
38
|
(0, assert_1.default)(!!event);
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
signUpTree.insert((0, crypto_1.hashLeftRight)(
|
|
39
|
+
const publicKeyX = event.args._userPublicKeyX;
|
|
40
|
+
const publicKeyY = event.args._userPublicKeyY;
|
|
41
|
+
const publicKey = new domainobjs_1.PublicKey([publicKeyX, publicKeyY]);
|
|
42
|
+
publicKeys.push(publicKey);
|
|
43
|
+
signUpTree.insert((0, crypto_1.hashLeftRight)(publicKeyX, publicKeyY));
|
|
44
44
|
});
|
|
45
45
|
if (sleepAmount) {
|
|
46
46
|
// eslint-disable-next-line no-await-in-loop
|
|
@@ -49,7 +49,7 @@ const generateSignUpTree = async ({ provider, address, fromBlock = 0, blocksPerR
|
|
|
49
49
|
}
|
|
50
50
|
return {
|
|
51
51
|
signUpTree,
|
|
52
|
-
|
|
52
|
+
publicKeys,
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
55
|
exports.generateSignUpTree = generateSignUpTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateTree.js","sourceRoot":"","sources":["../../../ts/trees/stateTree.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,8EAAwF;AACxF,kDAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"stateTree.js","sourceRoot":"","sources":["../../../ts/trees/stateTree.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,8EAAwF;AACxF,kDAAiF;AACjF,0DAAsD;AACtD,+CAAgE;AAEhE,oDAA4B;AAI5B,0CAAuC;AAEvC;;;;;;;;;GASG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,QAAQ,EACR,OAAO,EACP,SAAS,GAAG,CAAC,EACb,gBAAgB,GAAG,EAAE,EACrB,QAAQ,EACR,WAAW,GACa,EAAgC,EAAE;IAC1D,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,+BAAW,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,kBAAO,CAAC,oBAAkC,CAAC,CAAC;IACnE,UAAU,CAAC,MAAM,CAAC,qBAAY,CAAC,CAAC;IAChC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,oDAAoD;IACpD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAClE,gFAAgF;QAChF,gCAAgC;QAChC,MAAM,OAAO,GAAG,CAAC,GAAG,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;QAErF,4CAA4C;QAC5C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7F,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAA,gBAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAE9C,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAE1D,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,UAAU,CAAC,MAAM,CAAC,IAAA,sBAAa,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,4CAA4C;YAC5C,MAAM,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,kBAAkB,sBA4C7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PublicKey } from "@maci-protocol/domainobjs";
|
|
2
2
|
import type { LeanIMT } from "@zk-kit/lean-imt";
|
|
3
3
|
import type { Provider } from "ethers";
|
|
4
4
|
/**
|
|
@@ -41,6 +41,6 @@ export interface IGenerateSignUpTree {
|
|
|
41
41
|
/**
|
|
42
42
|
* State leaves
|
|
43
43
|
*/
|
|
44
|
-
|
|
44
|
+
publicKeys: PublicKey[];
|
|
45
45
|
}
|
|
46
46
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/trees/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/trees/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB"}
|
|
@@ -18,15 +18,15 @@ const joinPoll = async ({ maciAddress, privateKey, stateFile, pollId, signer, st
|
|
|
18
18
|
if (!validContract) {
|
|
19
19
|
throw new Error("MACI contract does not exist");
|
|
20
20
|
}
|
|
21
|
-
if (!domainobjs_1.
|
|
21
|
+
if (!domainobjs_1.PrivateKey.isValidSerialized(privateKey)) {
|
|
22
22
|
throw new Error("Invalid MACI private key");
|
|
23
23
|
}
|
|
24
24
|
if (pollId < 0) {
|
|
25
25
|
throw new Error("Invalid poll id");
|
|
26
26
|
}
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const nullifier = (0, crypto_1.poseidon)([BigInt(
|
|
27
|
+
const userMaciPrivateKey = domainobjs_1.PrivateKey.deserialize(privateKey);
|
|
28
|
+
const userMaciPublicKey = new domainobjs_1.Keypair(userMaciPrivateKey).publicKey;
|
|
29
|
+
const nullifier = (0, crypto_1.poseidon)([BigInt(userMaciPrivateKey.asCircuitInputs()), pollId]);
|
|
30
30
|
// check if the user has already joined the poll based on the nullifier
|
|
31
31
|
const hasUserJoinedAlready = await (0, utils_1.hasUserJoinedPoll)({
|
|
32
32
|
maciAddress,
|
|
@@ -41,14 +41,14 @@ const joinPoll = async ({ maciAddress, privateKey, stateFile, pollId, signer, st
|
|
|
41
41
|
const pollContracts = await maciContract.getPoll(pollId);
|
|
42
42
|
const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
|
|
43
43
|
// get the state index from the MACI contract
|
|
44
|
-
const stateIndex = await maciContract.getStateIndex(
|
|
44
|
+
const stateIndex = await maciContract.getStateIndex(userMaciPublicKey.hash()).catch(() => -1n);
|
|
45
45
|
let circuitInputs;
|
|
46
46
|
if (stateFile) {
|
|
47
47
|
circuitInputs = await (0, utils_1.getPollJoiningCircuitInputsFromStateFile)({
|
|
48
48
|
stateFile,
|
|
49
49
|
pollId,
|
|
50
50
|
stateIndex,
|
|
51
|
-
|
|
51
|
+
userMaciPrivateKey,
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
@@ -56,18 +56,18 @@ const joinPoll = async ({ maciAddress, privateKey, stateFile, pollId, signer, st
|
|
|
56
56
|
maciContract,
|
|
57
57
|
stateIndex,
|
|
58
58
|
pollId,
|
|
59
|
-
|
|
59
|
+
userMaciPrivateKey,
|
|
60
60
|
signer,
|
|
61
61
|
startBlock,
|
|
62
62
|
endBlock,
|
|
63
63
|
blocksPerBatch,
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
const currentStateRootIndex = Number.parseInt((await maciContract.
|
|
66
|
+
const currentStateRootIndex = Number.parseInt((await maciContract.totalSignups()).toString(), 10) - 1;
|
|
67
67
|
// generate the proof for this batch
|
|
68
68
|
const proof = await (0, proofs_1.generateAndVerifyProof)(circuitInputs, pollJoiningZkey, useWasm, rapidsnark, pollWitgen, pollWasm);
|
|
69
69
|
// submit the message onchain as well as the encryption public key
|
|
70
|
-
const tx = await pollContract.joinPoll(nullifier,
|
|
70
|
+
const tx = await pollContract.joinPoll(nullifier, userMaciPublicKey.asContractParam(), currentStateRootIndex, proof, sgDataArg, ivcpDataArg);
|
|
71
71
|
const receipt = await tx.wait();
|
|
72
72
|
if (receipt?.status !== 1) {
|
|
73
73
|
throw new Error("Transaction failed");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"joinPoll.js","sourceRoot":"","sources":["../../../ts/user/joinPoll.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,8EAAsH;AACtH,kDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"joinPoll.js","sourceRoot":"","sources":["../../../ts/user/joinPoll.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,17 @@ import type { IIsRegisteredUser, ISignupArgs, ISignupData, IRegisteredUserArgs,
|
|
|
4
4
|
* @param IRegisteredArgs - The arguments for the check register command
|
|
5
5
|
* @returns whether the user is registered or not and their state index
|
|
6
6
|
*/
|
|
7
|
-
export declare const getSignedupUserData: ({ maciAddress,
|
|
7
|
+
export declare const getSignedupUserData: ({ maciAddress, maciPublicKey, signer, startBlock, }: IRegisteredUserArgs) => Promise<IIsRegisteredUser>;
|
|
8
8
|
/**
|
|
9
9
|
* Signup a user to the MACI contract
|
|
10
10
|
* @param {SignupArgs} args - The arguments for the signup command
|
|
11
11
|
* @returns {ISignupData} The state index of the user and transaction hash
|
|
12
12
|
*/
|
|
13
|
-
export declare const signup: ({
|
|
13
|
+
export declare const signup: ({ maciPublicKey, maciAddress, sgData, signer }: ISignupArgs) => Promise<ISignupData>;
|
|
14
14
|
/**
|
|
15
15
|
* Checks if a user is signed up with a given public key
|
|
16
16
|
* @param {IIsSignedUpArgs} args - The arguments for the is signed up command
|
|
17
17
|
* @returns {boolean} Whether the user is signed up or not
|
|
18
18
|
*/
|
|
19
|
-
export declare const hasUserSignedUp: ({ maciAddress,
|
|
19
|
+
export declare const hasUserSignedUp: ({ maciAddress, maciPublicKey, signer, }: IHasUserSignedUpArgs) => Promise<boolean>;
|
|
20
20
|
//# sourceMappingURL=signup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../ts/user/signup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMtH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,
|
|
1
|
+
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../ts/user/signup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMtH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,qDAKvC,mBAAmB,KAAG,OAAO,CAAC,iBAAiB,CAiBjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAU,gDAAgD,WAAW,KAAG,OAAO,CAAC,WAAW,CA6C7G,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAU,yCAInC,oBAAoB,KAAG,OAAO,CAAC,OAAO,CAMxC,CAAC"}
|
package/build/ts/user/signup.js
CHANGED
|
@@ -11,9 +11,9 @@ const utils_1 = require("./utils");
|
|
|
11
11
|
* @param IRegisteredArgs - The arguments for the check register command
|
|
12
12
|
* @returns whether the user is registered or not and their state index
|
|
13
13
|
*/
|
|
14
|
-
const getSignedupUserData = async ({ maciAddress,
|
|
14
|
+
const getSignedupUserData = async ({ maciAddress, maciPublicKey, signer, startBlock, }) => {
|
|
15
15
|
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
16
|
-
const publicKey = domainobjs_1.
|
|
16
|
+
const publicKey = domainobjs_1.PublicKey.deserialize(maciPublicKey);
|
|
17
17
|
const startBlockNumber = startBlock || 0;
|
|
18
18
|
const currentBlock = await signer.provider.getBlockNumber();
|
|
19
19
|
const { stateIndex } = await (0, utils_1.parseSignupEvents)({
|
|
@@ -33,12 +33,12 @@ exports.getSignedupUserData = getSignedupUserData;
|
|
|
33
33
|
* @param {SignupArgs} args - The arguments for the signup command
|
|
34
34
|
* @returns {ISignupData} The state index of the user and transaction hash
|
|
35
35
|
*/
|
|
36
|
-
const signup = async ({
|
|
36
|
+
const signup = async ({ maciPublicKey, maciAddress, sgData, signer }) => {
|
|
37
37
|
// validate user key
|
|
38
|
-
if (!domainobjs_1.
|
|
38
|
+
if (!domainobjs_1.PublicKey.isValidSerialized(maciPublicKey)) {
|
|
39
39
|
throw new Error("Invalid MACI public key");
|
|
40
40
|
}
|
|
41
|
-
const
|
|
41
|
+
const userMaciPublicKey = domainobjs_1.PublicKey.deserialize(maciPublicKey);
|
|
42
42
|
const validContract = await (0, contracts_1.contractExists)(signer.provider, maciAddress);
|
|
43
43
|
if (!validContract) {
|
|
44
44
|
throw new Error("There is no contract deployed at the specified address");
|
|
@@ -51,7 +51,7 @@ const signup = async ({ maciPubKey, maciAddress, sgData, signer }) => {
|
|
|
51
51
|
let stateIndex = "";
|
|
52
52
|
let receipt = null;
|
|
53
53
|
// sign up to the MACI contract
|
|
54
|
-
const tx = await maciContract.signUp(
|
|
54
|
+
const tx = await maciContract.signUp(userMaciPublicKey.asContractParam(), sgData);
|
|
55
55
|
receipt = await tx.wait();
|
|
56
56
|
if (receipt?.status !== 1) {
|
|
57
57
|
throw new Error("The transaction failed");
|
|
@@ -70,9 +70,9 @@ exports.signup = signup;
|
|
|
70
70
|
* @param {IIsSignedUpArgs} args - The arguments for the is signed up command
|
|
71
71
|
* @returns {boolean} Whether the user is signed up or not
|
|
72
72
|
*/
|
|
73
|
-
const hasUserSignedUp = async ({ maciAddress,
|
|
73
|
+
const hasUserSignedUp = async ({ maciAddress, maciPublicKey, signer, }) => {
|
|
74
74
|
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
75
|
-
const stateIndex = await maciContract.getStateIndex(domainobjs_1.
|
|
75
|
+
const stateIndex = await maciContract.getStateIndex(domainobjs_1.PublicKey.deserialize(maciPublicKey).hash());
|
|
76
76
|
return stateIndex !== 0n;
|
|
77
77
|
};
|
|
78
78
|
exports.hasUserSignedUp = hasUserSignedUp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../ts/user/signup.ts"],"names":[],"mappings":";;;AAAA,8EAAwF;AACxF,
|
|
1
|
+
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../ts/user/signup.ts"],"names":[],"mappings":"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"}
|
package/build/ts/user/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MACI, Poll } from "@maci-protocol/contracts/typechain-types";
|
|
2
|
-
import type {
|
|
2
|
+
import type { PrivateKey, PublicKey } from "@maci-protocol/domainobjs";
|
|
3
3
|
import type { Signer } from "ethers";
|
|
4
4
|
/**
|
|
5
5
|
* Interface for the arguments to the isJoinedUser command
|
|
@@ -16,7 +16,7 @@ export interface IJoinedUserArgs {
|
|
|
16
16
|
/**
|
|
17
17
|
* Poll public key for the poll
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
pollPublicKey: string;
|
|
20
20
|
/**
|
|
21
21
|
* A signer object
|
|
22
22
|
*/
|
|
@@ -63,7 +63,7 @@ export interface ISignupArgs {
|
|
|
63
63
|
/**
|
|
64
64
|
* The public key of the user
|
|
65
65
|
*/
|
|
66
|
-
|
|
66
|
+
maciPublicKey: string;
|
|
67
67
|
/**
|
|
68
68
|
* A signer object
|
|
69
69
|
*/
|
|
@@ -101,7 +101,7 @@ export interface IRegisteredUserArgs {
|
|
|
101
101
|
/**
|
|
102
102
|
* The public key of the user
|
|
103
103
|
*/
|
|
104
|
-
|
|
104
|
+
maciPublicKey: string;
|
|
105
105
|
/**
|
|
106
106
|
* The address of the MACI contract
|
|
107
107
|
*/
|
|
@@ -130,7 +130,7 @@ export interface IParsePollJoinEventsArgs {
|
|
|
130
130
|
/**
|
|
131
131
|
* The public key
|
|
132
132
|
*/
|
|
133
|
-
pollPublicKey:
|
|
133
|
+
pollPublicKey: PublicKey;
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* Interface for the arguments to the parseSignupEvents function
|
|
@@ -151,7 +151,7 @@ export interface IParseSignupEventsArgs {
|
|
|
151
151
|
/**
|
|
152
152
|
* The public key
|
|
153
153
|
*/
|
|
154
|
-
publicKey:
|
|
154
|
+
publicKey: PublicKey;
|
|
155
155
|
}
|
|
156
156
|
/**
|
|
157
157
|
* An interface describing the circuit inputs to the PollJoining circuit
|
|
@@ -160,11 +160,11 @@ export interface IPollJoiningCircuitInputs {
|
|
|
160
160
|
/**
|
|
161
161
|
* The private key
|
|
162
162
|
*/
|
|
163
|
-
|
|
163
|
+
privateKey: string;
|
|
164
164
|
/**
|
|
165
165
|
* The poll public key
|
|
166
166
|
*/
|
|
167
|
-
|
|
167
|
+
pollPublicKey: string[];
|
|
168
168
|
/**
|
|
169
169
|
* The state leaf
|
|
170
170
|
*/
|
|
@@ -201,7 +201,7 @@ export interface IPollJoinedCircuitInputs {
|
|
|
201
201
|
/**
|
|
202
202
|
* The private key
|
|
203
203
|
*/
|
|
204
|
-
|
|
204
|
+
privateKey: string;
|
|
205
205
|
/**
|
|
206
206
|
* The voice credits balance
|
|
207
207
|
*/
|
|
@@ -357,7 +357,7 @@ export interface IGetPollJoiningCircuitEventsArgs {
|
|
|
357
357
|
/**
|
|
358
358
|
* The user's maci private key
|
|
359
359
|
*/
|
|
360
|
-
|
|
360
|
+
userMaciPrivateKey: PrivateKey;
|
|
361
361
|
/**
|
|
362
362
|
* The signer
|
|
363
363
|
*/
|
|
@@ -394,7 +394,7 @@ export interface IGetPollJoiningCircuitInputsFromStateFileArgs {
|
|
|
394
394
|
/**
|
|
395
395
|
* The user's maci private key
|
|
396
396
|
*/
|
|
397
|
-
|
|
397
|
+
userMaciPrivateKey: PrivateKey;
|
|
398
398
|
}
|
|
399
399
|
/**
|
|
400
400
|
* Interface for the arguments for the is signed up command
|
|
@@ -407,7 +407,7 @@ export interface IHasUserSignedUpArgs {
|
|
|
407
407
|
/**
|
|
408
408
|
* The public key of the user
|
|
409
409
|
*/
|
|
410
|
-
|
|
410
|
+
maciPublicKey: string;
|
|
411
411
|
/**
|
|
412
412
|
* The signer to use for the transaction
|
|
413
413
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/user/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/user/types.ts"],"names":[],"mappings":"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"}
|