@maci-protocol/sdk 0.0.0-ci.85bba2d → 0.0.0-ci.86ec64f
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/package.json +15 -7
- package/build/ts/browser/index.d.ts +4 -2
- package/build/ts/browser/index.d.ts.map +1 -1
- package/build/ts/browser/index.js +7 -1
- package/build/ts/browser/index.js.map +1 -1
- package/build/ts/browser/joinPoll.d.ts +4 -2
- package/build/ts/browser/joinPoll.d.ts.map +1 -1
- package/build/ts/browser/joinPoll.js +10 -10
- package/build/ts/browser/joinPoll.js.map +1 -1
- package/build/ts/browser/utils.d.ts +2 -2
- package/build/ts/browser/utils.d.ts.map +1 -1
- package/build/ts/browser/utils.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 -4
- package/build/ts/deploy/poll.js.map +1 -1
- package/build/ts/deploy/types.d.ts +9 -4
- package/build/ts/deploy/types.d.ts.map +1 -1
- package/build/ts/index.d.ts +3 -2
- package/build/ts/index.d.ts.map +1 -1
- package/build/ts/index.js +7 -4
- package/build/ts/index.js.map +1 -1
- package/build/ts/maciKeys/keypair.d.ts.map +1 -1
- package/build/ts/maciKeys/keypair.js +1 -0
- package/build/ts/maciKeys/keypair.js.map +1 -1
- package/build/ts/maciKeys/types.d.ts +5 -0
- package/build/ts/maciKeys/types.d.ts.map +1 -1
- package/build/ts/poll/poll.d.ts.map +1 -1
- package/build/ts/poll/poll.js +6 -6
- package/build/ts/poll/poll.js.map +1 -1
- package/build/ts/poll/types.d.ts +1 -1
- package/build/ts/poll/types.d.ts.map +1 -1
- package/build/ts/proof/__tests__/download.test.js +5 -2
- package/build/ts/proof/__tests__/download.test.js.map +1 -1
- package/build/ts/proof/download.d.ts +3 -3
- package/build/ts/proof/download.d.ts.map +1 -1
- package/build/ts/proof/download.js +5 -7
- package/build/ts/proof/download.js.map +1 -1
- package/build/ts/proof/generate.d.ts +1 -1
- package/build/ts/proof/generate.d.ts.map +1 -1
- package/build/ts/proof/generate.js +25 -19
- package/build/ts/proof/generate.js.map +1 -1
- package/build/ts/proof/prove.js +3 -3
- package/build/ts/proof/prove.js.map +1 -1
- package/build/ts/proof/types.d.ts +38 -12
- package/build/ts/proof/types.d.ts.map +1 -1
- package/build/ts/proof/utils.d.ts +10 -0
- package/build/ts/proof/utils.d.ts.map +1 -0
- package/build/ts/proof/utils.js +24 -0
- package/build/ts/proof/utils.js.map +1 -0
- package/build/ts/subgraph/index.d.ts +3 -0
- package/build/ts/subgraph/index.d.ts.map +1 -0
- package/build/ts/subgraph/index.js +18 -0
- package/build/ts/subgraph/index.js.map +1 -0
- package/build/ts/subgraph/maciSubgraph.d.ts +28 -0
- package/build/ts/subgraph/maciSubgraph.d.ts.map +1 -0
- package/build/ts/subgraph/maciSubgraph.js +64 -0
- package/build/ts/subgraph/maciSubgraph.js.map +1 -0
- package/build/ts/subgraph/types.d.ts +20 -0
- package/build/ts/subgraph/types.d.ts.map +1 -0
- package/build/ts/subgraph/types.js +3 -0
- package/build/ts/subgraph/types.js.map +1 -0
- package/build/ts/tally/commitments.d.ts.map +1 -1
- package/build/ts/tally/commitments.js +7 -6
- 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 +5 -1
- package/build/ts/tally/index.js.map +1 -1
- package/build/ts/tally/results.d.ts +20 -0
- package/build/ts/tally/results.d.ts.map +1 -0
- package/build/ts/tally/results.js +49 -0
- package/build/ts/tally/results.js.map +1 -0
- package/build/ts/tally/types.d.ts +48 -8
- package/build/ts/tally/types.d.ts.map +1 -1
- package/build/ts/tally/utils.d.ts +3 -3
- package/build/ts/tally/utils.d.ts.map +1 -1
- package/build/ts/tally/utils.js +9 -9
- package/build/ts/tally/utils.js.map +1 -1
- package/build/ts/tally/verification.d.ts.map +1 -1
- package/build/ts/tally/verification.js +6 -6
- package/build/ts/tally/verification.js.map +1 -1
- package/build/ts/trees/index.d.ts +2 -2
- package/build/ts/trees/index.d.ts.map +1 -1
- package/build/ts/trees/index.js +3 -1
- package/build/ts/trees/index.js.map +1 -1
- package/build/ts/trees/stateTree.d.ts +23 -1
- package/build/ts/trees/stateTree.d.ts.map +1 -1
- package/build/ts/trees/stateTree.js +67 -6
- package/build/ts/trees/stateTree.js.map +1 -1
- package/build/ts/trees/types.d.ts +9 -0
- package/build/ts/trees/types.d.ts.map +1 -1
- package/build/ts/user/index.d.ts +2 -2
- package/build/ts/user/index.d.ts.map +1 -1
- package/build/ts/user/index.js +5 -1
- package/build/ts/user/index.js.map +1 -1
- package/build/ts/user/joinPoll.d.ts +1 -1
- package/build/ts/user/joinPoll.d.ts.map +1 -1
- package/build/ts/user/joinPoll.js +2 -2
- package/build/ts/user/joinPoll.js.map +1 -1
- package/build/ts/user/signup.d.ts +1 -1
- package/build/ts/user/signup.d.ts.map +1 -1
- package/build/ts/user/signup.js +19 -14
- package/build/ts/user/signup.js.map +1 -1
- package/build/ts/user/types.d.ts +51 -7
- package/build/ts/user/types.d.ts.map +1 -1
- package/build/ts/user/utils.d.ts +15 -3
- package/build/ts/user/utils.d.ts.map +1 -1
- package/build/ts/user/utils.js +60 -33
- package/build/ts/user/utils.js.map +1 -1
- package/build/ts/utils/index.d.ts +1 -1
- package/build/ts/utils/index.d.ts.map +1 -1
- package/build/ts/utils/index.js +2 -1
- package/build/ts/utils/index.js.map +1 -1
- package/build/ts/utils/params.d.ts +1 -1
- package/build/ts/utils/params.d.ts.map +1 -1
- package/build/ts/utils/params.js +3 -3
- package/build/ts/utils/params.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/utils/utils.d.ts +5 -0
- package/build/ts/utils/utils.d.ts.map +1 -1
- package/build/ts/utils/utils.js +13 -1
- package/build/ts/utils/utils.js.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 +6 -7
- package/build/ts/verifyingKeys/checkVerifyingKeys.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 +55 -31
- package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
- package/build/ts/verifyingKeys/types.d.ts +24 -20
- package/build/ts/verifyingKeys/types.d.ts.map +1 -1
- package/build/ts/verifyingKeys/utils.d.ts +3 -3
- package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
- package/build/ts/verifyingKeys/utils.js +15 -13
- package/build/ts/verifyingKeys/utils.js.map +1 -1
- package/build/ts/vote/generate.js +1 -1
- package/build/ts/vote/generate.js.map +1 -1
- package/build/ts/vote/index.d.ts +1 -0
- package/build/ts/vote/index.d.ts.map +1 -1
- package/build/ts/vote/index.js +3 -1
- package/build/ts/vote/index.js.map +1 -1
- package/build/ts/vote/invalidate.js +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +21 -13
- package/build/ts/proof/constants.d.ts +0 -17
- package/build/ts/proof/constants.d.ts.map +0 -1
- package/build/ts/proof/constants.js +0 -20
- package/build/ts/proof/constants.js.map +0 -1
package/build/ts/utils/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.cleanThreads = exports.sleep = exports.unlinkFile = exports.isArm = void 0;
|
|
6
|
+
exports.cleanThreads = exports.sleepUntil = exports.sleep = exports.unlinkFile = exports.isArm = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const os_1 = __importDefault(require("os"));
|
|
9
9
|
/**
|
|
@@ -33,6 +33,18 @@ const sleep = async (ms) => {
|
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
35
|
exports.sleep = sleep;
|
|
36
|
+
/**
|
|
37
|
+
* Pause until a specific timestamp
|
|
38
|
+
* @param timestamp - the timestamp to wait for in milliseconds
|
|
39
|
+
*/
|
|
40
|
+
const sleepUntil = async (timestamp) => {
|
|
41
|
+
const now = Date.now();
|
|
42
|
+
const msToWait = timestamp - now;
|
|
43
|
+
if (msToWait > 0) {
|
|
44
|
+
await (0, exports.sleep)(msToWait);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.sleepUntil = sleepUntil;
|
|
36
48
|
/*
|
|
37
49
|
* https://github.com/iden3/snarkjs/issues/152
|
|
38
50
|
* Need to cleanup the threads to avoid stalling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/utils/utils.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,4CAAoB;AAEpB;;;GAGG;AACI,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAAjD,QAAA,KAAK,SAA4C;AAE9D;;;GAGG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAClE,MAAM,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB;AAEF;;;GAGG;AACI,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;IACvD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,KAAK,SAIhB;AAcF;;;GAGG;AACI,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;IACpD,uEAAuE;IACvE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACjD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAyC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1G,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/utils/utils.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,4CAAoB;AAEpB;;;GAGG;AACI,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAAjD,QAAA,KAAK,SAA4C;AAE9D;;;GAGG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAClE,MAAM,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB;AAEF;;;GAGG;AACI,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;IACvD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,KAAK,SAIhB;AAEF;;;GAGG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,CAAC;IAEjC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,UAAU,cAOrB;AAcF;;;GAGG;AACI,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;IACpD,uEAAuE;IACvE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACjD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAyC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1G,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB"}
|
|
@@ -6,5 +6,5 @@ import type { ICheckVerifyingKeysArgs } from "./types";
|
|
|
6
6
|
* @param CheckVerifyingKeysArgs - The arguments for the checkVerifyingKeys command
|
|
7
7
|
* @returns Whether the verifying keys match or not
|
|
8
8
|
*/
|
|
9
|
-
export declare const checkVerifyingKeys: ({ stateTreeDepth,
|
|
9
|
+
export declare const checkVerifyingKeys: ({ stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize, messageProcessorZkeyPath, voteTallyZkeyPath, pollJoiningZkeyPath, pollJoinedZkeyPath, verifyingKeysRegistry, signer, mode, }: ICheckVerifyingKeysArgs) => Promise<boolean>;
|
|
10
10
|
//# sourceMappingURL=checkVerifyingKeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkVerifyingKeys.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/checkVerifyingKeys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,
|
|
1
|
+
{"version":3,"file":"checkVerifyingKeys.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/checkVerifyingKeys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,sNAYtC,uBAAuB,KAAG,OAAO,CAAC,OAAO,CAiE3C,CAAC"}
|
|
@@ -15,7 +15,7 @@ const utils_2 = require("./utils");
|
|
|
15
15
|
* @param CheckVerifyingKeysArgs - The arguments for the checkVerifyingKeys command
|
|
16
16
|
* @returns Whether the verifying keys match or not
|
|
17
17
|
*/
|
|
18
|
-
const checkVerifyingKeys = async ({ stateTreeDepth,
|
|
18
|
+
const checkVerifyingKeys = async ({ stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize, messageProcessorZkeyPath, voteTallyZkeyPath, pollJoiningZkeyPath, pollJoinedZkeyPath, verifyingKeysRegistry, signer, mode = contracts_1.EMode.QV, }) => {
|
|
19
19
|
if (!verifyingKeysRegistry) {
|
|
20
20
|
throw new Error("Please provide a VerifyingKeysRegistry contract address");
|
|
21
21
|
}
|
|
@@ -24,29 +24,28 @@ const checkVerifyingKeys = async ({ stateTreeDepth, intStateTreeDepth, voteOptio
|
|
|
24
24
|
throw new Error("The VerifyingKeysRegistry contract does not exist");
|
|
25
25
|
}
|
|
26
26
|
// we need to ensure that the zkey files exist
|
|
27
|
-
const isProcessMessagesZkeyPathExists = fs_1.default.existsSync(
|
|
27
|
+
const isProcessMessagesZkeyPathExists = fs_1.default.existsSync(messageProcessorZkeyPath);
|
|
28
28
|
if (!isProcessMessagesZkeyPathExists) {
|
|
29
29
|
throw new Error("The provided Process messages zkey does not exist");
|
|
30
30
|
}
|
|
31
|
-
const isTallyVotesZkeyPathExists = fs_1.default.existsSync(
|
|
31
|
+
const isTallyVotesZkeyPathExists = fs_1.default.existsSync(voteTallyZkeyPath);
|
|
32
32
|
if (!isTallyVotesZkeyPathExists) {
|
|
33
33
|
throw new Error("The provided Tally votes zkey does not exist");
|
|
34
34
|
}
|
|
35
35
|
// extract the verification keys from the zkey files
|
|
36
36
|
const { pollJoiningVerifyingKey, pollJoinedVerifyingKey, processVerifyingKey, tallyVerifyingKey } = await (0, utils_2.extractAllVerifyingKeys)({
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
messageProcessorZkeyPath,
|
|
38
|
+
voteTallyZkeyPath,
|
|
39
39
|
pollJoiningZkeyPath,
|
|
40
40
|
pollJoinedZkeyPath,
|
|
41
41
|
});
|
|
42
|
-
const mode = useQuadraticVoting ? contracts_1.EMode.QV : contracts_1.EMode.NON_QV;
|
|
43
42
|
const { pollJoiningVerifyingKeyOnChain, pollJoinedVerifyingKeyOnChain, processVerifyingKeyOnChain, tallyVerifyingKeyOnChain, } = await (0, utils_2.getAllOnChainVerifyingKeys)({
|
|
44
43
|
verifyingKeysRegistryAddress: verifyingKeysRegistry,
|
|
45
44
|
signer,
|
|
46
45
|
stateTreeDepth,
|
|
47
46
|
voteOptionTreeDepth,
|
|
48
47
|
messageBatchSize,
|
|
49
|
-
|
|
48
|
+
tallyProcessingStateTreeDepth,
|
|
50
49
|
mode,
|
|
51
50
|
});
|
|
52
51
|
if (!(0, utils_2.compareVerifyingKeys)(pollJoiningVerifyingKeyOnChain, pollJoiningVerifyingKey)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkVerifyingKeys.js","sourceRoot":"","sources":["../../../ts/verifyingKeys/checkVerifyingKeys.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAiD;AAEjD,4CAAoB;AAIpB,oCAA0C;AAE1C,mCAAoG;AAEpG;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"checkVerifyingKeys.js","sourceRoot":"","sources":["../../../ts/verifyingKeys/checkVerifyingKeys.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAiD;AAEjD,4CAAoB;AAIpB,oCAA0C;AAE1C,mCAAoG;AAEpG;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,cAAc,EACd,6BAA6B,EAC7B,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,IAAI,GAAG,iBAAK,CAAC,EAAE,GACS,EAAoB,EAAE;IAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,QAAS,EAAE,qBAAqB,CAAC,CAAC;IAE3F,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,8CAA8C;IAC9C,MAAM,+BAA+B,GAAG,YAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAEhF,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,0BAA0B,GAAG,YAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEpE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,oDAAoD;IACpD,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAC/F,MAAM,IAAA,+BAAuB,EAAC;QAC5B,wBAAwB;QACxB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;KACnB,CAAC,CAAC;IAEL,MAAM,EACJ,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,GACzB,GAAG,MAAM,IAAA,kCAA0B,EAAC;QACnC,4BAA4B,EAAE,qBAAqB;QACnD,MAAM;QACN,cAAc;QACd,mBAAmB;QACnB,gBAAgB;QAChB,6BAA6B;QAC7B,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,IAAA,4BAAoB,EAAC,8BAA8B,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,6BAA6B,EAAE,sBAAsB,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,0BAA0B,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,wBAAwB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA7EW,QAAA,kBAAkB,sBA6E7B"}
|
|
@@ -3,5 +3,5 @@ import type { ISetVerifyingKeysArgs } from "./types";
|
|
|
3
3
|
* Set the verifying keys on the contract
|
|
4
4
|
* @param args - The arguments for the setVerifyingKeys function
|
|
5
5
|
*/
|
|
6
|
-
export declare const setVerifyingKeys: ({ pollJoiningVerifyingKey, pollJoinedVerifyingKey,
|
|
6
|
+
export declare const setVerifyingKeys: ({ pollJoiningVerifyingKey, pollJoinedVerifyingKey, processMessagesVerifyingKeys, tallyVotesVerifyingKeys, stateTreeDepth, pollStateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize, verifyingKeysRegistryAddress, signer, modes, }: ISetVerifyingKeysArgs) => Promise<void>;
|
|
7
7
|
//# sourceMappingURL=setVerifyingKeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setVerifyingKeys.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/setVerifyingKeys.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAMrD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAU,
|
|
1
|
+
{"version":3,"file":"setVerifyingKeys.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/setVerifyingKeys.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAMrD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAU,oQAapC,qBAAqB,KAAG,OAAO,CAAC,IAAI,CAmItC,CAAC"}
|
|
@@ -9,14 +9,20 @@ const utils_2 = require("./utils");
|
|
|
9
9
|
* Set the verifying keys on the contract
|
|
10
10
|
* @param args - The arguments for the setVerifyingKeys function
|
|
11
11
|
*/
|
|
12
|
-
const setVerifyingKeys = async ({ pollJoiningVerifyingKey, pollJoinedVerifyingKey,
|
|
12
|
+
const setVerifyingKeys = async ({ pollJoiningVerifyingKey, pollJoinedVerifyingKey, processMessagesVerifyingKeys, tallyVotesVerifyingKeys, stateTreeDepth, pollStateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize, verifyingKeysRegistryAddress, signer, modes, }) => {
|
|
13
13
|
// validate args
|
|
14
|
-
if (stateTreeDepth < 1 ||
|
|
14
|
+
if (stateTreeDepth < 1 || tallyProcessingStateTreeDepth < 1 || voteOptionTreeDepth < 1 || messageBatchSize < 1) {
|
|
15
15
|
throw new Error("Invalid depth or batch size parameters");
|
|
16
16
|
}
|
|
17
|
-
if (stateTreeDepth <
|
|
17
|
+
if (stateTreeDepth < tallyProcessingStateTreeDepth) {
|
|
18
18
|
throw new Error("Invalid state tree depth or intermediate state tree depth");
|
|
19
19
|
}
|
|
20
|
+
if (processMessagesVerifyingKeys.length !== modes.length) {
|
|
21
|
+
throw new Error("Number of process messages verifying keys must match number of modes");
|
|
22
|
+
}
|
|
23
|
+
if (tallyVotesVerifyingKeys.length !== modes.length) {
|
|
24
|
+
throw new Error("Number of tally votes verifying keys must match number of modes");
|
|
25
|
+
}
|
|
20
26
|
const isContractExists = await (0, utils_1.contractExists)(signer.provider, verifyingKeysRegistryAddress);
|
|
21
27
|
// ensure we have a contract deployed at the provided address
|
|
22
28
|
if (!isContractExists) {
|
|
@@ -24,48 +30,58 @@ const setVerifyingKeys = async ({ pollJoiningVerifyingKey, pollJoinedVerifyingKe
|
|
|
24
30
|
}
|
|
25
31
|
// connect to VerifyingKeysRegistry contract
|
|
26
32
|
const verifyingKeysRegistryContract = typechain_types_1.VerifyingKeysRegistry__factory.connect(verifyingKeysRegistryAddress, signer);
|
|
27
|
-
// check if the poll
|
|
33
|
+
// check if the poll verifyingKeys were already set
|
|
28
34
|
const pollJoiningVerifyingKeySignature = (0, core_1.generatePollJoiningVerifyingKeySignature)(stateTreeDepth);
|
|
29
|
-
if (await verifyingKeysRegistryContract.isPollJoiningVerifyingKeySet(pollJoiningVerifyingKeySignature)) {
|
|
30
|
-
throw new Error("This poll verifying key is already set in the contract");
|
|
31
|
-
}
|
|
32
|
-
// check if the poll verifyingKey was already set
|
|
33
35
|
const pollJoinedVerifyingKeySignature = (0, core_1.generatePollJoinedVerifyingKeySignature)(stateTreeDepth);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
throw new Error("This process verifying key is already set in the contract");
|
|
36
|
+
const [isPollJoiningVerifyingKeySet, isPollJoinedVerifyingKeySet] = await Promise.all([
|
|
37
|
+
verifyingKeysRegistryContract.isPollJoiningVerifyingKeySet(pollJoiningVerifyingKeySignature),
|
|
38
|
+
verifyingKeysRegistryContract.isPollJoinedVerifyingKeySet(pollJoinedVerifyingKeySignature),
|
|
39
|
+
]);
|
|
40
|
+
if (isPollJoiningVerifyingKeySet) {
|
|
41
|
+
throw new Error("This poll joining verifying key is already set in the contract");
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (await verifyingKeysRegistryContract.isTallyVerifyingKeySet(tallyVerifyingKeySignature, mode)) {
|
|
45
|
-
throw new Error("This tally verifying key is already set in the contract");
|
|
43
|
+
if (isPollJoinedVerifyingKeySet) {
|
|
44
|
+
throw new Error("This poll joined verifying key is already set in the contract");
|
|
46
45
|
}
|
|
46
|
+
// check if the process messages or tally verifyingKey were already set for each mode
|
|
47
|
+
const processVerifyingKeySignature = (0, core_1.generateProcessVerifyingKeySignature)(stateTreeDepth, voteOptionTreeDepth, messageBatchSize);
|
|
48
|
+
const tallyVerifyingKeySignature = (0, core_1.generateTallyVerifyingKeySignature)(stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth);
|
|
49
|
+
const keyChecks = await Promise.all(modes.map(async (mode) => {
|
|
50
|
+
const [isProcessVerifyingKeySet, isTallyVerifyingKeySet] = await Promise.all([
|
|
51
|
+
verifyingKeysRegistryContract.isProcessVerifyingKeySet(processVerifyingKeySignature, mode),
|
|
52
|
+
verifyingKeysRegistryContract.isTallyVerifyingKeySet(tallyVerifyingKeySignature, mode),
|
|
53
|
+
]);
|
|
54
|
+
return { mode, isProcessVerifyingKeySet, isTallyVerifyingKeySet };
|
|
55
|
+
}));
|
|
56
|
+
keyChecks.forEach(({ mode, isProcessVerifyingKeySet, isTallyVerifyingKeySet }) => {
|
|
57
|
+
if (isProcessVerifyingKeySet) {
|
|
58
|
+
throw new Error(`This process verifying key is already set in the contract for mode ${mode}`);
|
|
59
|
+
}
|
|
60
|
+
if (isTallyVerifyingKeySet) {
|
|
61
|
+
throw new Error(`This tally verifying key is already set in the contract for mode ${mode}`);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
47
64
|
// set them onchain
|
|
48
65
|
const tx = await verifyingKeysRegistryContract.setVerifyingKeysBatch({
|
|
49
66
|
stateTreeDepth,
|
|
50
67
|
pollStateTreeDepth,
|
|
51
|
-
|
|
68
|
+
tallyProcessingStateTreeDepth,
|
|
52
69
|
voteOptionTreeDepth,
|
|
53
70
|
messageBatchSize,
|
|
54
|
-
modes
|
|
71
|
+
modes,
|
|
55
72
|
pollJoiningVerifyingKey: pollJoiningVerifyingKey.asContractParam(),
|
|
56
73
|
pollJoinedVerifyingKey: pollJoinedVerifyingKey.asContractParam(),
|
|
57
|
-
processVerifyingKeys:
|
|
58
|
-
tallyVerifyingKeys:
|
|
74
|
+
processVerifyingKeys: processMessagesVerifyingKeys.map((key) => key.asContractParam()),
|
|
75
|
+
tallyVerifyingKeys: tallyVotesVerifyingKeys.map((key) => key.asContractParam()),
|
|
59
76
|
});
|
|
60
77
|
const receipt = await tx.wait();
|
|
61
78
|
if (receipt?.status !== 1) {
|
|
62
79
|
throw new Error("Set verifying keys transaction failed");
|
|
63
80
|
}
|
|
64
|
-
|
|
81
|
+
// Verify that all keys were set correctly
|
|
82
|
+
const [pollJoiningVerifyingKeyOnChain, pollJoinedVerifyingKeyOnChain] = await Promise.all([
|
|
65
83
|
verifyingKeysRegistryContract.getPollJoiningVerifyingKey(stateTreeDepth),
|
|
66
84
|
verifyingKeysRegistryContract.getPollJoinedVerifyingKey(stateTreeDepth),
|
|
67
|
-
verifyingKeysRegistryContract.getProcessVerifyingKey(stateTreeDepth, voteOptionTreeDepth, messageBatchSize, mode),
|
|
68
|
-
verifyingKeysRegistryContract.getTallyVerifyingKey(stateTreeDepth, intStateTreeDepth, voteOptionTreeDepth, mode),
|
|
69
85
|
]);
|
|
70
86
|
if (!(0, utils_2.compareVerifyingKeys)(pollJoiningVerifyingKeyOnChain, pollJoiningVerifyingKey)) {
|
|
71
87
|
throw new Error("pollJoiningVerifyingKey mismatch");
|
|
@@ -73,11 +89,19 @@ const setVerifyingKeys = async ({ pollJoiningVerifyingKey, pollJoinedVerifyingKe
|
|
|
73
89
|
if (!(0, utils_2.compareVerifyingKeys)(pollJoinedVerifyingKeyOnChain, pollJoinedVerifyingKey)) {
|
|
74
90
|
throw new Error("pollJoinedVerifyingKey mismatch");
|
|
75
91
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
92
|
+
for (let i = 0; i < modes.length; i += 1) {
|
|
93
|
+
const mode = modes[i];
|
|
94
|
+
// eslint-disable-next-line no-await-in-loop
|
|
95
|
+
const [processVerifyingKeyOnChain, tallyVerifyingKeyOnChain] = await Promise.all([
|
|
96
|
+
verifyingKeysRegistryContract.getProcessVerifyingKey(stateTreeDepth, voteOptionTreeDepth, messageBatchSize, mode),
|
|
97
|
+
verifyingKeysRegistryContract.getTallyVerifyingKey(stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, mode),
|
|
98
|
+
]);
|
|
99
|
+
if (!(0, utils_2.compareVerifyingKeys)(processVerifyingKeyOnChain, processMessagesVerifyingKeys[i])) {
|
|
100
|
+
throw new Error("processVerifyingKey mismatch");
|
|
101
|
+
}
|
|
102
|
+
if (!(0, utils_2.compareVerifyingKeys)(tallyVerifyingKeyOnChain, tallyVotesVerifyingKeys[i])) {
|
|
103
|
+
throw new Error("tallyVerifyingKey mismatch");
|
|
104
|
+
}
|
|
81
105
|
}
|
|
82
106
|
};
|
|
83
107
|
exports.setVerifyingKeys = setVerifyingKeys;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setVerifyingKeys.js","sourceRoot":"","sources":["../../../ts/verifyingKeys/setVerifyingKeys.ts"],"names":[],"mappings":";;;AACA,8EAA0H;AAC1H,8CAK6B;AAI7B,oCAA0C;AAE1C,mCAA+C;AAE/C;;;GAGG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,uBAAuB,EACvB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"setVerifyingKeys.js","sourceRoot":"","sources":["../../../ts/verifyingKeys/setVerifyingKeys.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export interface IGetAllVerifyingKeysArgs {
|
|
|
28
28
|
/**
|
|
29
29
|
* The depth of the ballot tree
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
tallyProcessingStateTreeDepth: number;
|
|
32
32
|
/**
|
|
33
33
|
* The mode to use for the contract calls
|
|
34
34
|
*/
|
|
@@ -70,11 +70,11 @@ export interface IExtractAllVerifyingKeysArgs {
|
|
|
70
70
|
/**
|
|
71
71
|
* The path to the process messages zkey
|
|
72
72
|
*/
|
|
73
|
-
|
|
73
|
+
messageProcessorZkeyPath?: string;
|
|
74
74
|
/**
|
|
75
75
|
* The path to the tally votes zkey
|
|
76
76
|
*/
|
|
77
|
-
|
|
77
|
+
voteTallyZkeyPath?: string;
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Maci verifying keys
|
|
@@ -110,13 +110,13 @@ export interface ISetVerifyingKeysArgs {
|
|
|
110
110
|
*/
|
|
111
111
|
pollJoinedVerifyingKey: VerifyingKey;
|
|
112
112
|
/**
|
|
113
|
-
* The process messages verifying
|
|
113
|
+
* The process messages verifying keys array
|
|
114
114
|
*/
|
|
115
|
-
|
|
115
|
+
processMessagesVerifyingKeys: VerifyingKey[];
|
|
116
116
|
/**
|
|
117
|
-
* The tally votes verifying
|
|
117
|
+
* The tally votes verifying keys array
|
|
118
118
|
*/
|
|
119
|
-
|
|
119
|
+
tallyVotesVerifyingKeys: VerifyingKey[];
|
|
120
120
|
/**
|
|
121
121
|
* The state tree depth
|
|
122
122
|
*/
|
|
@@ -128,7 +128,7 @@ export interface ISetVerifyingKeysArgs {
|
|
|
128
128
|
/**
|
|
129
129
|
* The intermediate state tree depth (ballot tree)
|
|
130
130
|
*/
|
|
131
|
-
|
|
131
|
+
tallyProcessingStateTreeDepth: number;
|
|
132
132
|
/**
|
|
133
133
|
* The vote option tree depth
|
|
134
134
|
*/
|
|
@@ -146,9 +146,9 @@ export interface ISetVerifyingKeysArgs {
|
|
|
146
146
|
*/
|
|
147
147
|
signer: Signer;
|
|
148
148
|
/**
|
|
149
|
-
* QV or
|
|
149
|
+
* QV, NON_QV or FULL
|
|
150
150
|
*/
|
|
151
|
-
|
|
151
|
+
modes: EMode[];
|
|
152
152
|
}
|
|
153
153
|
/**
|
|
154
154
|
* Interface for the arguments to the checkVerifyingKeys command
|
|
@@ -161,7 +161,7 @@ export interface ICheckVerifyingKeysArgs {
|
|
|
161
161
|
/**
|
|
162
162
|
* The depth of the state subtree
|
|
163
163
|
*/
|
|
164
|
-
|
|
164
|
+
tallyProcessingStateTreeDepth: number;
|
|
165
165
|
/**
|
|
166
166
|
* The depth of the vote option tree
|
|
167
167
|
*/
|
|
@@ -181,11 +181,11 @@ export interface ICheckVerifyingKeysArgs {
|
|
|
181
181
|
/**
|
|
182
182
|
* The path to the process messages zkey
|
|
183
183
|
*/
|
|
184
|
-
|
|
184
|
+
messageProcessorZkeyPath: string;
|
|
185
185
|
/**
|
|
186
186
|
* The path to the tally votes zkey
|
|
187
187
|
*/
|
|
188
|
-
|
|
188
|
+
voteTallyZkeyPath: string;
|
|
189
189
|
/**
|
|
190
190
|
* A signer object
|
|
191
191
|
*/
|
|
@@ -195,9 +195,9 @@ export interface ICheckVerifyingKeysArgs {
|
|
|
195
195
|
*/
|
|
196
196
|
verifyingKeysRegistry: string;
|
|
197
197
|
/**
|
|
198
|
-
*
|
|
198
|
+
* Voting mode
|
|
199
199
|
*/
|
|
200
|
-
|
|
200
|
+
mode?: EMode;
|
|
201
201
|
}
|
|
202
202
|
/**
|
|
203
203
|
* Interface for the arguments to the extractVerifyingKeyToFile command
|
|
@@ -214,19 +214,23 @@ export interface IExtractVerifyingKeyToFileArgs {
|
|
|
214
214
|
/**
|
|
215
215
|
* File path for processMessagesQv zkey
|
|
216
216
|
*/
|
|
217
|
-
|
|
217
|
+
messageProcessorZkeyPathQv: string;
|
|
218
218
|
/**
|
|
219
219
|
* File path for tallyVotesQv zkey
|
|
220
220
|
*/
|
|
221
|
-
|
|
221
|
+
voteTallyZkeyPathQv: string;
|
|
222
222
|
/**
|
|
223
223
|
* File path for processMessagesNonQv zkey
|
|
224
224
|
*/
|
|
225
|
-
|
|
225
|
+
messageProcessorZkeyPathNonQv: string;
|
|
226
|
+
/**
|
|
227
|
+
* File path for MessageProcessor zkey
|
|
228
|
+
*/
|
|
229
|
+
messageProcessorZkeyPathFull: string;
|
|
226
230
|
/**
|
|
227
|
-
* File path for
|
|
231
|
+
* File path for VoteTally zkey
|
|
228
232
|
*/
|
|
229
|
-
|
|
233
|
+
voteTallyZkeyPathNonQv: string;
|
|
230
234
|
/**
|
|
231
235
|
* Output file path of extracted verifying keys
|
|
232
236
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { IGetAllVerifyingKeysArgs, IExtractAllVerifyingKeysArgs, IMaciVerif
|
|
|
5
5
|
* @param args - The arguments for the getAllVerifyingKeys function
|
|
6
6
|
* @returns The verifying keys
|
|
7
7
|
*/
|
|
8
|
-
export declare const getAllOnChainVerifyingKeys: ({ verifyingKeysRegistryAddress, signer, stateTreeDepth, voteOptionTreeDepth, messageBatchSize,
|
|
8
|
+
export declare const getAllOnChainVerifyingKeys: ({ verifyingKeysRegistryAddress, signer, stateTreeDepth, voteOptionTreeDepth, messageBatchSize, tallyProcessingStateTreeDepth, mode, }: IGetAllVerifyingKeysArgs) => Promise<IMaciVerifyingKeysOnchain>;
|
|
9
9
|
/**
|
|
10
10
|
* Compare two verifying keys
|
|
11
11
|
* @param verifyingKeyOnChain - the verifying key on chain
|
|
@@ -18,12 +18,12 @@ export declare const compareVerifyingKeys: (verifyingKeyOnChain: VerifyingKey |
|
|
|
18
18
|
* @param args - The arguments for the extractAllVerifyingKeys function
|
|
19
19
|
* @returns The verifying keys
|
|
20
20
|
*/
|
|
21
|
-
export declare const extractAllVerifyingKeys: ({ pollJoiningZkeyPath, pollJoinedZkeyPath,
|
|
21
|
+
export declare const extractAllVerifyingKeys: ({ pollJoiningZkeyPath, pollJoinedZkeyPath, messageProcessorZkeyPath, voteTallyZkeyPath, }: IExtractAllVerifyingKeysArgs) => Promise<IMaciVerifyingKeys>;
|
|
22
22
|
/**
|
|
23
23
|
* Command to confirm that the verifying keys in the contract match the local ones
|
|
24
24
|
* @note see different options for zkey files to use specific circuits https://maci.pse.dev/docs/trusted-setup, https://maci.pse.dev/docs/testing/#pre-compiled-artifacts-for-testing
|
|
25
25
|
* @param args The arguments for the checkVerifyingKeys command
|
|
26
26
|
* @returns Whether the verifying keys match or not
|
|
27
27
|
*/
|
|
28
|
-
export declare const extractVerifyingKeyToFile: ({
|
|
28
|
+
export declare const extractVerifyingKeyToFile: ({ messageProcessorZkeyPathQv, voteTallyZkeyPathQv, messageProcessorZkeyPathNonQv, messageProcessorZkeyPathFull, pollJoinedZkeyPath, pollJoiningZkeyPath, voteTallyZkeyPathNonQv, outputFilePath, }: IExtractVerifyingKeyToFileArgs) => Promise<void>;
|
|
29
29
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,2BAA2B,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI3F,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAU,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/verifyingKeys/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,2BAA2B,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI3F,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAU,uIAQ9C,wBAAwB,KAAG,OAAO,CAAC,yBAAyB,CAqB9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,qBAAqB,YAAY,GAAG,2BAA2B,EAC/D,eAAe,YAAY,GAAG,2BAA2B,KACxD,OA2BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAU,2FAK3C,4BAA4B,KAAG,OAAO,CAAC,kBAAkB,CAsB3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAU,oMAS7C,8BAA8B,KAAG,OAAO,CAAC,IAAI,CA+B/C,CAAC"}
|
|
@@ -13,13 +13,13 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
13
13
|
* @param args - The arguments for the getAllVerifyingKeys function
|
|
14
14
|
* @returns The verifying keys
|
|
15
15
|
*/
|
|
16
|
-
const getAllOnChainVerifyingKeys = async ({ verifyingKeysRegistryAddress, signer, stateTreeDepth, voteOptionTreeDepth, messageBatchSize,
|
|
16
|
+
const getAllOnChainVerifyingKeys = async ({ verifyingKeysRegistryAddress, signer, stateTreeDepth, voteOptionTreeDepth, messageBatchSize, tallyProcessingStateTreeDepth, mode, }) => {
|
|
17
17
|
const contract = typechain_types_1.VerifyingKeysRegistry__factory.connect(verifyingKeysRegistryAddress, signer);
|
|
18
18
|
const [pollJoiningVerifyingKeyOnChain, pollJoinedVerifyingKeyOnChain, processVerifyingKeyOnChain, tallyVerifyingKeyOnChain,] = await Promise.all([
|
|
19
19
|
contract.getPollJoiningVerifyingKey(stateTreeDepth),
|
|
20
20
|
contract.getPollJoinedVerifyingKey(stateTreeDepth),
|
|
21
21
|
contract.getProcessVerifyingKey(stateTreeDepth, voteOptionTreeDepth, messageBatchSize, mode),
|
|
22
|
-
contract.getTallyVerifyingKey(stateTreeDepth,
|
|
22
|
+
contract.getTallyVerifyingKey(stateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, mode),
|
|
23
23
|
]);
|
|
24
24
|
return {
|
|
25
25
|
pollJoiningVerifyingKeyOnChain,
|
|
@@ -66,7 +66,7 @@ exports.compareVerifyingKeys = compareVerifyingKeys;
|
|
|
66
66
|
* @param args - The arguments for the extractAllVerifyingKeys function
|
|
67
67
|
* @returns The verifying keys
|
|
68
68
|
*/
|
|
69
|
-
const extractAllVerifyingKeys = async ({ pollJoiningZkeyPath, pollJoinedZkeyPath,
|
|
69
|
+
const extractAllVerifyingKeys = async ({ pollJoiningZkeyPath, pollJoinedZkeyPath, messageProcessorZkeyPath, voteTallyZkeyPath, }) => {
|
|
70
70
|
// extract the verifying keys
|
|
71
71
|
const pollJoiningVerifyingKey = pollJoiningZkeyPath
|
|
72
72
|
? domainobjs_1.VerifyingKey.fromObj(await (0, contracts_1.extractVerifyingKey)(pollJoiningZkeyPath))
|
|
@@ -74,11 +74,11 @@ const extractAllVerifyingKeys = async ({ pollJoiningZkeyPath, pollJoinedZkeyPath
|
|
|
74
74
|
const pollJoinedVerifyingKey = pollJoinedZkeyPath
|
|
75
75
|
? domainobjs_1.VerifyingKey.fromObj(await (0, contracts_1.extractVerifyingKey)(pollJoinedZkeyPath))
|
|
76
76
|
: undefined;
|
|
77
|
-
const processVerifyingKey =
|
|
78
|
-
? domainobjs_1.VerifyingKey.fromObj(await (0, contracts_1.extractVerifyingKey)(
|
|
77
|
+
const processVerifyingKey = messageProcessorZkeyPath
|
|
78
|
+
? domainobjs_1.VerifyingKey.fromObj(await (0, contracts_1.extractVerifyingKey)(messageProcessorZkeyPath))
|
|
79
79
|
: undefined;
|
|
80
|
-
const tallyVerifyingKey =
|
|
81
|
-
? domainobjs_1.VerifyingKey.fromObj(await (0, contracts_1.extractVerifyingKey)(
|
|
80
|
+
const tallyVerifyingKey = voteTallyZkeyPath
|
|
81
|
+
? domainobjs_1.VerifyingKey.fromObj(await (0, contracts_1.extractVerifyingKey)(voteTallyZkeyPath))
|
|
82
82
|
: undefined;
|
|
83
83
|
return {
|
|
84
84
|
pollJoiningVerifyingKey,
|
|
@@ -94,14 +94,15 @@ exports.extractAllVerifyingKeys = extractAllVerifyingKeys;
|
|
|
94
94
|
* @param args The arguments for the checkVerifyingKeys command
|
|
95
95
|
* @returns Whether the verifying keys match or not
|
|
96
96
|
*/
|
|
97
|
-
const extractVerifyingKeyToFile = async ({
|
|
98
|
-
const [processVerifyingKeyQv, tallyVerifyingKeyQv, processVerifyingKeyNonQv, tallyVerifyingKeyNonQv, pollJoiningVerifyingKey, pollJoinedVerifyingKey,] = await Promise.all([
|
|
99
|
-
(0, contracts_1.extractVerifyingKey)(
|
|
100
|
-
(0, contracts_1.extractVerifyingKey)(
|
|
101
|
-
(0, contracts_1.extractVerifyingKey)(
|
|
102
|
-
(0, contracts_1.extractVerifyingKey)(
|
|
97
|
+
const extractVerifyingKeyToFile = async ({ messageProcessorZkeyPathQv, voteTallyZkeyPathQv, messageProcessorZkeyPathNonQv, messageProcessorZkeyPathFull, pollJoinedZkeyPath, pollJoiningZkeyPath, voteTallyZkeyPathNonQv, outputFilePath, }) => {
|
|
98
|
+
const [processVerifyingKeyQv, tallyVerifyingKeyQv, processVerifyingKeyNonQv, tallyVerifyingKeyNonQv, pollJoiningVerifyingKey, pollJoinedVerifyingKey, processVerifyingKeyFull,] = await Promise.all([
|
|
99
|
+
(0, contracts_1.extractVerifyingKey)(messageProcessorZkeyPathQv),
|
|
100
|
+
(0, contracts_1.extractVerifyingKey)(voteTallyZkeyPathQv),
|
|
101
|
+
(0, contracts_1.extractVerifyingKey)(messageProcessorZkeyPathNonQv),
|
|
102
|
+
(0, contracts_1.extractVerifyingKey)(voteTallyZkeyPathNonQv),
|
|
103
103
|
(0, contracts_1.extractVerifyingKey)(pollJoiningZkeyPath),
|
|
104
104
|
(0, contracts_1.extractVerifyingKey)(pollJoinedZkeyPath),
|
|
105
|
+
(0, contracts_1.extractVerifyingKey)(messageProcessorZkeyPathFull),
|
|
105
106
|
]);
|
|
106
107
|
await fs_1.default.promises.writeFile(outputFilePath, JSON.stringify({
|
|
107
108
|
processVerifyingKeyQv,
|
|
@@ -110,6 +111,7 @@ const extractVerifyingKeyToFile = async ({ processMessagesZkeyPathQv, tallyVotes
|
|
|
110
111
|
tallyVerifyingKeyNonQv,
|
|
111
112
|
pollJoiningVerifyingKey,
|
|
112
113
|
pollJoinedVerifyingKey,
|
|
114
|
+
processVerifyingKeyFull,
|
|
113
115
|
}));
|
|
114
116
|
};
|
|
115
117
|
exports.extractVerifyingKeyToFile = extractVerifyingKeyToFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/verifyingKeys/utils.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+D;AAC/D,8EAA0H;AAC1H,0DAA2F;AAE3F,4CAAoB;AAUpB;;;;GAIG;AACI,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,4BAA4B,EAC5B,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/verifyingKeys/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ const generateVote = ({ pollId, voteOptionIndex, salt, nonce, privateKey, stateI
|
|
|
32
32
|
// if no ephemeral keypair is provided, generate a new one
|
|
33
33
|
const encKeypair = ephemeralKeypair ?? new domainobjs_1.Keypair();
|
|
34
34
|
// create the command object
|
|
35
|
-
const command = new domainobjs_1.
|
|
35
|
+
const command = new domainobjs_1.VoteCommand(stateIndex, newPublicKey ?? keypair.publicKey, voteOptionIndex, voteWeight, nonce, pollId, userSalt);
|
|
36
36
|
// sign the command with the poll private key
|
|
37
37
|
const signature = command.sign(privateKey);
|
|
38
38
|
// encrypt the command using a shared key between the user and the coordinator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../ts/vote/generate.ts"],"names":[],"mappings":";;;AAAA,kDAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../ts/vote/generate.ts"],"names":[],"mappings":";;;AAAA,kDAA2D;AAC3D,0DAAiE;AAIjE,mCAAuC;AAEvC;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,eAAe,EACf,IAAI,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACM,EAAS,EAAE;IAC7B,MAAM,OAAO,GAAG,IAAI,oBAAO,CAAC,UAAU,CAAC,CAAC;IAExC,gBAAgB;IAChB,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,aAAa,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,mDAAmD;IACnD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAkB,GAAE,CAAC;IAE5D,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,0DAA0D;IAC1D,MAAM,UAAU,GAAG,gBAAgB,IAAI,IAAI,oBAAO,EAAE,CAAC;IAErD,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAI,wBAAW,CAC7B,UAAU,EACV,YAAY,IAAI,OAAO,CAAC,SAAS,EACjC,eAAe,EACf,UAAU,EACV,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;IAEF,6CAA6C;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE3C,8EAA8E;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,SAAS,EACT,oBAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAC3E,CAAC;IAEF,OAAO;QACL,OAAO;QACP,gBAAgB,EAAE,UAAU;KAC7B,CAAC;AACJ,CAAC,CAAC;AAlEW,QAAA,YAAY,gBAkEvB"}
|
package/build/ts/vote/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { IVote, IGenerateVoteArgs, IPublishArgs, IPublishBatchArgs, IPublishBatchData, IPublishData, IPublishMessage, ISubmitVoteArgs, ISubmitVoteBatchArgs, } from "./types";
|
|
2
2
|
export { generateVote } from "./generate";
|
|
3
|
+
export { invalidateVotes } from "./invalidate";
|
|
3
4
|
export { publish, publishBatch } from "./publish";
|
|
4
5
|
export { submitVote, submitVoteBatch } from "./submit";
|
|
5
6
|
export { getCoordinatorPublicKey, validateSalt } from "./utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/vote/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/vote/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
package/build/ts/vote/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateSalt = exports.getCoordinatorPublicKey = exports.submitVoteBatch = exports.submitVote = exports.publishBatch = exports.publish = exports.generateVote = void 0;
|
|
3
|
+
exports.validateSalt = exports.getCoordinatorPublicKey = exports.submitVoteBatch = exports.submitVote = exports.publishBatch = exports.publish = exports.invalidateVotes = exports.generateVote = void 0;
|
|
4
4
|
var generate_1 = require("./generate");
|
|
5
5
|
Object.defineProperty(exports, "generateVote", { enumerable: true, get: function () { return generate_1.generateVote; } });
|
|
6
|
+
var invalidate_1 = require("./invalidate");
|
|
7
|
+
Object.defineProperty(exports, "invalidateVotes", { enumerable: true, get: function () { return invalidate_1.invalidateVotes; } });
|
|
6
8
|
var publish_1 = require("./publish");
|
|
7
9
|
Object.defineProperty(exports, "publish", { enumerable: true, get: function () { return publish_1.publish; } });
|
|
8
10
|
Object.defineProperty(exports, "publishBatch", { enumerable: true, get: function () { return publish_1.publishBatch; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/vote/index.ts"],"names":[],"mappings":";;;AAWA,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,qCAAkD;AAAzC,kGAAA,OAAO,OAAA;AAAE,uGAAA,YAAY,OAAA;AAC9B,mCAAuD;AAA9C,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AACpC,iCAAgE;AAAvD,gHAAA,uBAAuB,OAAA;AAAE,qGAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/vote/index.ts"],"names":[],"mappings":";;;AAWA,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,qCAAkD;AAAzC,kGAAA,OAAO,OAAA;AAAE,uGAAA,YAAY,OAAA;AAC9B,mCAAuD;AAA9C,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AACpC,iCAAgE;AAAvD,gHAAA,uBAAuB,OAAA;AAAE,qGAAA,YAAY,OAAA"}
|