@maci-protocol/sdk 0.0.0-ci.f3d71fd → 0.0.0-ci.f433bba
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 +2 -1
- package/build/ts/browser/index.d.ts +5 -7
- package/build/ts/browser/index.d.ts.map +1 -1
- package/build/ts/browser/index.js +11 -20
- package/build/ts/browser/index.js.map +1 -1
- package/build/ts/browser/joinPoll.d.ts +8 -0
- package/build/ts/browser/joinPoll.d.ts.map +1 -0
- package/build/ts/browser/joinPoll.js +86 -0
- package/build/ts/browser/joinPoll.js.map +1 -0
- package/build/ts/browser/utils.d.ts +18 -0
- package/build/ts/browser/utils.d.ts.map +1 -0
- package/build/ts/browser/utils.js +37 -0
- package/build/ts/browser/utils.js.map +1 -0
- 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 +12 -6
- package/build/ts/deploy/poll.js.map +1 -1
- package/build/ts/deploy/types.d.ts +8 -0
- package/build/ts/deploy/types.d.ts.map +1 -1
- package/build/ts/maci/policy.d.ts.map +1 -1
- package/build/ts/maci/policy.js +1 -1
- package/build/ts/maci/policy.js.map +1 -1
- package/build/ts/maci/state.js +3 -3
- package/build/ts/maci/state.js.map +1 -1
- package/build/ts/poll/utils.js +3 -3
- package/build/ts/poll/utils.js.map +1 -1
- package/build/ts/proof/generate.js +2 -2
- package/build/ts/proof/generate.js.map +1 -1
- package/build/ts/proof/prove.js +5 -5
- package/build/ts/proof/prove.js.map +1 -1
- package/build/ts/proof/types.d.ts +1 -1
- package/build/ts/proof/types.d.ts.map +1 -1
- package/build/ts/relayer/utils.js +3 -3
- package/build/ts/relayer/utils.js.map +1 -1
- package/build/ts/trees/stateTree.js +2 -2
- package/build/ts/trees/stateTree.js.map +1 -1
- package/build/ts/user/index.d.ts +3 -1
- package/build/ts/user/index.d.ts.map +1 -1
- package/build/ts/user/index.js +10 -8
- package/build/ts/user/index.js.map +1 -1
- package/build/ts/user/joinPoll.d.ts +8 -0
- package/build/ts/user/joinPoll.d.ts.map +1 -0
- package/build/ts/user/joinPoll.js +85 -0
- package/build/ts/user/joinPoll.js.map +1 -0
- package/build/ts/user/signup.d.ts +20 -0
- package/build/ts/user/signup.d.ts.map +1 -0
- package/build/ts/user/signup.js +79 -0
- package/build/ts/user/signup.js.map +1 -0
- package/build/ts/user/utils.d.ts +19 -3
- package/build/ts/user/utils.d.ts.map +1 -1
- package/build/ts/user/utils.js +41 -3
- package/build/ts/user/utils.js.map +1 -1
- package/build/ts/utils/utils.d.ts +8 -0
- package/build/ts/utils/utils.d.ts.map +1 -1
- package/build/ts/utils/utils.js +14 -1
- package/build/ts/utils/utils.js.map +1 -1
- package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
- package/build/ts/verifyingKeys/setVerifyingKeys.js +2 -1
- package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
- package/build/ts/verifyingKeys/utils.d.ts +1 -1
- package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
- package/build/ts/verifyingKeys/utils.js +2 -1
- package/build/ts/verifyingKeys/utils.js.map +1 -1
- package/build/ts/vote/submit.js +3 -3
- package/build/ts/vote/submit.js.map +1 -1
- package/build/ts/vote/utils.js +2 -2
- package/build/ts/vote/utils.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/build/ts/user/user.d.ts +0 -42
- package/build/ts/user/user.d.ts.map +0 -1
- package/build/ts/user/user.js +0 -192
- package/build/ts/user/user.js.map +0 -1
package/build/package.json
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
export * from "../verifyingKeys";
|
|
2
|
-
export * from "../maci";
|
|
3
|
-
export * from "../relayer";
|
|
4
1
|
export * from "../poll";
|
|
5
|
-
export * from "../proof";
|
|
2
|
+
export * from "../proof/download";
|
|
3
|
+
export * from "../proof/types";
|
|
6
4
|
export * from "../tally";
|
|
7
5
|
export * from "../trees";
|
|
8
6
|
export * from "../vote";
|
|
9
|
-
export * from "../utils";
|
|
10
|
-
export * from "../user";
|
|
11
7
|
export * from "../maciKeys";
|
|
12
|
-
export {
|
|
8
|
+
export { getSignedupUserData, signup, hasUserSignedUp } from "../user/signup";
|
|
9
|
+
export { getJoinedUserData, hasUserJoinedPoll } from "../user/utils";
|
|
10
|
+
export * from "./joinPoll";
|
|
13
11
|
export type { FullProveResult, IDeployParams, IMergeParams, IProveParams, IVerifyingKeyStruct, SnarkProof, IIpfsMessage, } from "@maci-protocol/contracts";
|
|
14
12
|
export * from "@maci-protocol/contracts/typechain-types";
|
|
15
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErE,cAAc,YAAY,CAAC;AAE3B,YAAY,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,cAAc,0CAA0C,CAAC"}
|
|
@@ -14,30 +14,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
__exportStar(require("../verifyingKeys"), exports);
|
|
19
|
-
__exportStar(require("../maci"), exports);
|
|
20
|
-
__exportStar(require("../relayer"), exports);
|
|
17
|
+
exports.hasUserJoinedPoll = exports.getJoinedUserData = exports.hasUserSignedUp = exports.signup = exports.getSignedupUserData = void 0;
|
|
21
18
|
__exportStar(require("../poll"), exports);
|
|
22
|
-
__exportStar(require("../proof"), exports);
|
|
19
|
+
__exportStar(require("../proof/download"), exports);
|
|
20
|
+
__exportStar(require("../proof/types"), exports);
|
|
23
21
|
__exportStar(require("../tally"), exports);
|
|
24
22
|
__exportStar(require("../trees"), exports);
|
|
25
23
|
__exportStar(require("../vote"), exports);
|
|
26
|
-
__exportStar(require("../utils"), exports);
|
|
27
|
-
__exportStar(require("../user"), exports);
|
|
28
24
|
__exportStar(require("../maciKeys"), exports);
|
|
29
|
-
var
|
|
30
|
-
Object.defineProperty(exports, "
|
|
31
|
-
Object.defineProperty(exports, "
|
|
32
|
-
Object.defineProperty(exports, "
|
|
33
|
-
|
|
34
|
-
Object.defineProperty(exports, "
|
|
35
|
-
Object.defineProperty(exports, "
|
|
36
|
-
|
|
37
|
-
Object.defineProperty(exports, "verifyProof", { enumerable: true, get: function () { return contracts_1.verifyProof; } });
|
|
38
|
-
Object.defineProperty(exports, "cleanThreads", { enumerable: true, get: function () { return contracts_1.cleanThreads; } });
|
|
39
|
-
Object.defineProperty(exports, "unlinkFile", { enumerable: true, get: function () { return contracts_1.unlinkFile; } });
|
|
40
|
-
Object.defineProperty(exports, "getBlockTimestamp", { enumerable: true, get: function () { return contracts_1.getBlockTimestamp; } });
|
|
41
|
-
Object.defineProperty(exports, "genEmptyBallotRoots", { enumerable: true, get: function () { return contracts_1.genEmptyBallotRoots; } });
|
|
25
|
+
var signup_1 = require("../user/signup");
|
|
26
|
+
Object.defineProperty(exports, "getSignedupUserData", { enumerable: true, get: function () { return signup_1.getSignedupUserData; } });
|
|
27
|
+
Object.defineProperty(exports, "signup", { enumerable: true, get: function () { return signup_1.signup; } });
|
|
28
|
+
Object.defineProperty(exports, "hasUserSignedUp", { enumerable: true, get: function () { return signup_1.hasUserSignedUp; } });
|
|
29
|
+
var utils_1 = require("../user/utils");
|
|
30
|
+
Object.defineProperty(exports, "getJoinedUserData", { enumerable: true, get: function () { return utils_1.getJoinedUserData; } });
|
|
31
|
+
Object.defineProperty(exports, "hasUserJoinedPoll", { enumerable: true, get: function () { return utils_1.hasUserJoinedPoll; } });
|
|
32
|
+
__exportStar(require("./joinPoll"), exports);
|
|
42
33
|
__exportStar(require("@maci-protocol/contracts/typechain-types"), exports);
|
|
43
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/browser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/browser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,oDAAkC;AAClC,iDAA+B;AAC/B,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,yCAA8E;AAArE,6GAAA,mBAAmB,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AACrD,uCAAqE;AAA5D,0GAAA,iBAAiB,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAE7C,6CAA2B;AAY3B,2EAAyD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IJoinPollArgs, IJoinPollData } from "../user";
|
|
2
|
+
/**
|
|
3
|
+
* Join Poll user to the Poll contract
|
|
4
|
+
* @param {IJoinPollArgs} args - The arguments for the join poll command
|
|
5
|
+
* @returns {IJoinPollData} The poll state index of the joined user and transaction hash
|
|
6
|
+
*/
|
|
7
|
+
export declare const joinPoll: ({ maciAddress, privateKey, stateFile, pollId, signer, startBlock, endBlock, blocksPerBatch, pollJoiningZkey, pollWasm, sgDataArg, ivcpDataArg, }: IJoinPollArgs) => Promise<IJoinPollData>;
|
|
8
|
+
//# sourceMappingURL=joinPoll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joinPoll.d.ts","sourceRoot":"","sources":["../../../ts/browser/joinPoll.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO1E;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,kJAa5B,aAAa,KAAG,OAAO,CAAC,aAAa,CA6FvC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.joinPoll = void 0;
|
|
4
|
+
/* eslint-disable no-underscore-dangle */
|
|
5
|
+
const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
|
|
6
|
+
const crypto_1 = require("@maci-protocol/crypto");
|
|
7
|
+
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
8
|
+
const user_1 = require("../user");
|
|
9
|
+
const utils_1 = require("../user/utils");
|
|
10
|
+
const contracts_1 = require("../utils/contracts");
|
|
11
|
+
const utils_2 = require("./utils");
|
|
12
|
+
/**
|
|
13
|
+
* Join Poll user to the Poll contract
|
|
14
|
+
* @param {IJoinPollArgs} args - The arguments for the join poll command
|
|
15
|
+
* @returns {IJoinPollData} The poll state index of the joined user and transaction hash
|
|
16
|
+
*/
|
|
17
|
+
const joinPoll = async ({ maciAddress, privateKey, stateFile, pollId, signer, startBlock, endBlock, blocksPerBatch, pollJoiningZkey, pollWasm, sgDataArg, ivcpDataArg, }) => {
|
|
18
|
+
const validContract = await (0, contracts_1.contractExists)(signer.provider, maciAddress);
|
|
19
|
+
if (!validContract) {
|
|
20
|
+
throw new Error("MACI contract does not exist");
|
|
21
|
+
}
|
|
22
|
+
if (!domainobjs_1.PrivKey.isValidSerializedPrivKey(privateKey)) {
|
|
23
|
+
throw new Error("Invalid MACI private key");
|
|
24
|
+
}
|
|
25
|
+
if (pollId < 0) {
|
|
26
|
+
throw new Error("Invalid poll id");
|
|
27
|
+
}
|
|
28
|
+
const userMaciPrivKey = domainobjs_1.PrivKey.deserialize(privateKey);
|
|
29
|
+
const userMaciPubKey = new domainobjs_1.Keypair(userMaciPrivKey).pubKey;
|
|
30
|
+
const nullifier = (0, crypto_1.poseidon)([BigInt(userMaciPrivKey.asCircuitInputs()), pollId]);
|
|
31
|
+
// check if the user has already joined the poll based on the nullifier
|
|
32
|
+
const hasUserJoinedAlready = await (0, user_1.hasUserJoinedPoll)({
|
|
33
|
+
maciAddress,
|
|
34
|
+
pollId,
|
|
35
|
+
nullifier,
|
|
36
|
+
signer,
|
|
37
|
+
});
|
|
38
|
+
if (hasUserJoinedAlready) {
|
|
39
|
+
throw new Error("User has already joined");
|
|
40
|
+
}
|
|
41
|
+
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
42
|
+
const pollContracts = await maciContract.getPoll(pollId);
|
|
43
|
+
const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
|
|
44
|
+
// get the state index from the MACI contract
|
|
45
|
+
const stateIndex = await maciContract.getStateIndex(userMaciPubKey.hash()).catch(() => -1n);
|
|
46
|
+
let circuitInputs;
|
|
47
|
+
if (stateFile) {
|
|
48
|
+
circuitInputs = await (0, utils_1.getPollJoiningCircuitInputsFromStateFile)({
|
|
49
|
+
stateFile,
|
|
50
|
+
pollId,
|
|
51
|
+
stateIndex,
|
|
52
|
+
userMaciPrivKey,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
circuitInputs = await (0, utils_1.getPollJoiningCircuitEvents)({
|
|
57
|
+
maciContract,
|
|
58
|
+
stateIndex,
|
|
59
|
+
pollId,
|
|
60
|
+
userMaciPrivKey,
|
|
61
|
+
signer,
|
|
62
|
+
startBlock,
|
|
63
|
+
endBlock,
|
|
64
|
+
blocksPerBatch,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const currentStateRootIndex = Number.parseInt((await maciContract.numSignUps()).toString(), 10) - 1;
|
|
68
|
+
// generate the proof for this batch
|
|
69
|
+
const { proof } = await (0, utils_2.genProofSnarkjs)({ inputs: circuitInputs, zkeyPath: pollJoiningZkey, wasmPath: pollWasm });
|
|
70
|
+
// submit the message onchain as well as the encryption public key
|
|
71
|
+
const tx = await pollContract.joinPoll(nullifier, userMaciPubKey.asContractParam(), currentStateRootIndex, (0, utils_2.formatProofForVerifierContract)(proof), sgDataArg, ivcpDataArg);
|
|
72
|
+
const receipt = await tx.wait();
|
|
73
|
+
if (receipt?.status !== 1) {
|
|
74
|
+
throw new Error("Transaction failed");
|
|
75
|
+
}
|
|
76
|
+
const [{ args }] = await pollContract.queryFilter(pollContract.filters.PollJoined, receipt.blockNumber, receipt.blockNumber);
|
|
77
|
+
return {
|
|
78
|
+
pollStateIndex: args._pollStateIndex.toString(),
|
|
79
|
+
voiceCredits: args._voiceCreditBalance.toString(),
|
|
80
|
+
timestamp: args._timestamp.toString(),
|
|
81
|
+
nullifier: nullifier.toString(),
|
|
82
|
+
hash: receipt.hash,
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
exports.joinPoll = joinPoll;
|
|
86
|
+
//# sourceMappingURL=joinPoll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joinPoll.js","sourceRoot":"","sources":["../../../ts/browser/joinPoll.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Groth16Proof } from "snarkjs";
|
|
2
|
+
import type { IGenProofOptions, FullProveResult, SnarkProof } from "@maci-protocol/contracts";
|
|
3
|
+
/**
|
|
4
|
+
* Format a SnarkProof type to an array of strings
|
|
5
|
+
* which can be passed to the Groth16 verifier contract.
|
|
6
|
+
* @param proof the SnarkProof to format
|
|
7
|
+
* @returns an array of strings
|
|
8
|
+
*/
|
|
9
|
+
export declare const formatProofForVerifierContract: (proof: SnarkProof | Groth16Proof) => string[];
|
|
10
|
+
/**
|
|
11
|
+
* Generate a zk-SNARK proof using snarkjs
|
|
12
|
+
* @param inputs - the inputs to the circuit
|
|
13
|
+
* @param zkeyPath - the path to the zkey
|
|
14
|
+
* @param wasmPath - the path to the wasm witness
|
|
15
|
+
* @returns the zk-SNARK proof and public signals
|
|
16
|
+
*/
|
|
17
|
+
export declare const genProofSnarkjs: ({ inputs, zkeyPath, wasmPath }: IGenProofOptions) => Promise<FullProveResult>;
|
|
18
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/browser/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE9F;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GAAI,OAAO,UAAU,GAAG,YAAY,KAAG,MAAM,EAY5D,CAAC;AAE7B;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAU,gCAAgC,gBAAgB,KAAG,OAAO,CAAC,eAAe,CAO/G,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.genProofSnarkjs = exports.formatProofForVerifierContract = void 0;
|
|
4
|
+
const snarkjs_1 = require("snarkjs");
|
|
5
|
+
/**
|
|
6
|
+
* Format a SnarkProof type to an array of strings
|
|
7
|
+
* which can be passed to the Groth16 verifier contract.
|
|
8
|
+
* @param proof the SnarkProof to format
|
|
9
|
+
* @returns an array of strings
|
|
10
|
+
*/
|
|
11
|
+
const formatProofForVerifierContract = (proof) => [
|
|
12
|
+
proof.pi_a[0],
|
|
13
|
+
proof.pi_a[1],
|
|
14
|
+
proof.pi_b[0][1],
|
|
15
|
+
proof.pi_b[0][0],
|
|
16
|
+
proof.pi_b[1][1],
|
|
17
|
+
proof.pi_b[1][0],
|
|
18
|
+
proof.pi_c[0],
|
|
19
|
+
proof.pi_c[1],
|
|
20
|
+
].map((x) => x.toString());
|
|
21
|
+
exports.formatProofForVerifierContract = formatProofForVerifierContract;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a zk-SNARK proof using snarkjs
|
|
24
|
+
* @param inputs - the inputs to the circuit
|
|
25
|
+
* @param zkeyPath - the path to the zkey
|
|
26
|
+
* @param wasmPath - the path to the wasm witness
|
|
27
|
+
* @returns the zk-SNARK proof and public signals
|
|
28
|
+
*/
|
|
29
|
+
const genProofSnarkjs = async ({ inputs, zkeyPath, wasmPath }) => {
|
|
30
|
+
if (!wasmPath) {
|
|
31
|
+
throw new Error("wasmPath must be specified");
|
|
32
|
+
}
|
|
33
|
+
const { proof, publicSignals } = await snarkjs_1.groth16.fullProve(inputs, wasmPath, zkeyPath);
|
|
34
|
+
return { proof, publicSignals };
|
|
35
|
+
};
|
|
36
|
+
exports.genProofSnarkjs = genProofSnarkjs;
|
|
37
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/browser/utils.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AAIrD;;;;;GAKG;AACI,MAAM,8BAA8B,GAAG,CAAC,KAAgC,EAAY,EAAE,CAC3F;IACE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;CACd,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAZhB,QAAA,8BAA8B,kCAYd;AAE7B;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAoB,EAA4B,EAAE;IAClH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAO,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAClC,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}
|
|
@@ -4,5 +4,5 @@ import type { IDeployPollArgs, IPollContractsData } from "./types";
|
|
|
4
4
|
* @param args - The arguments for the deploy poll command
|
|
5
5
|
* @returns The addresses of the deployed contracts
|
|
6
6
|
*/
|
|
7
|
-
export declare const deployPoll: ({ maciAddress, pollStartTimestamp, pollEndTimestamp, intStateTreeDepth, voteOptionTreeDepth, messageBatchSize, coordinatorPubKey, verifierContractAddress, vkRegistryContractAddress, mode, policyContractAddress, initialVoiceCreditProxyContractAddress, relayers, voteOptions, initialVoiceCredits, signer, }: IDeployPollArgs) => Promise<IPollContractsData>;
|
|
7
|
+
export declare const deployPoll: ({ maciAddress, pollStartTimestamp, pollEndTimestamp, intStateTreeDepth, voteOptionTreeDepth, messageBatchSize, coordinatorPubKey, verifierContractAddress, vkRegistryContractAddress, mode, policyContractAddress, initialVoiceCreditProxyContractAddress, relayers, voteOptions, initialVoiceCredits, freeForAllCheckerFactoryAddress, freeForAllPolicyFactoryAddress, signer, }: IDeployPollArgs) => Promise<IPollContractsData>;
|
|
8
8
|
//# sourceMappingURL=poll.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../../ts/deploy/poll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../../ts/deploy/poll.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMnE;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAU,mXAmB9B,eAAe,KAAG,OAAO,CAAC,kBAAkB,CAoI9C,CAAC"}
|
package/build/ts/deploy/poll.js
CHANGED
|
@@ -4,21 +4,21 @@ exports.deployPoll = void 0;
|
|
|
4
4
|
const contracts_1 = require("@maci-protocol/contracts");
|
|
5
5
|
const core_1 = require("@maci-protocol/core");
|
|
6
6
|
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const contracts_2 = require("../utils/contracts");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
9
|
/**
|
|
10
10
|
* Deploy a poll
|
|
11
11
|
* @param args - The arguments for the deploy poll command
|
|
12
12
|
* @returns The addresses of the deployed contracts
|
|
13
13
|
*/
|
|
14
|
-
const deployPoll = async ({ maciAddress, pollStartTimestamp, pollEndTimestamp, intStateTreeDepth, voteOptionTreeDepth, messageBatchSize, coordinatorPubKey, verifierContractAddress, vkRegistryContractAddress, mode, policyContractAddress, initialVoiceCreditProxyContractAddress, relayers, voteOptions, initialVoiceCredits, signer, }) => {
|
|
14
|
+
const deployPoll = async ({ maciAddress, pollStartTimestamp, pollEndTimestamp, intStateTreeDepth, voteOptionTreeDepth, messageBatchSize, coordinatorPubKey, verifierContractAddress, vkRegistryContractAddress, mode, policyContractAddress, initialVoiceCreditProxyContractAddress, relayers, voteOptions, initialVoiceCredits, freeForAllCheckerFactoryAddress, freeForAllPolicyFactoryAddress, signer, }) => {
|
|
15
15
|
if (!vkRegistryContractAddress) {
|
|
16
16
|
throw new Error("Please provide a VkRegistry contract address");
|
|
17
17
|
}
|
|
18
18
|
if (!maciAddress) {
|
|
19
19
|
throw new Error("Please provide a MACI contract address");
|
|
20
20
|
}
|
|
21
|
-
const isMaciExists = await (0,
|
|
21
|
+
const isMaciExists = await (0, contracts_2.contractExists)(signer.provider, maciAddress);
|
|
22
22
|
if (!isMaciExists) {
|
|
23
23
|
throw new Error("MACI contract does not exist");
|
|
24
24
|
}
|
|
@@ -26,12 +26,18 @@ const deployPoll = async ({ maciAddress, pollStartTimestamp, pollEndTimestamp, i
|
|
|
26
26
|
// check if we have a signupPolicy already deployed or passed as arg
|
|
27
27
|
let signupPolicyContractAddress = policyContractAddress;
|
|
28
28
|
if (!signupPolicyContractAddress) {
|
|
29
|
-
const
|
|
29
|
+
const checkerFactory = freeForAllCheckerFactoryAddress
|
|
30
|
+
? contracts_1.FreeForAllCheckerFactory__factory.connect(freeForAllCheckerFactoryAddress, signer)
|
|
31
|
+
: undefined;
|
|
32
|
+
const policyFactory = freeForAllPolicyFactoryAddress
|
|
33
|
+
? contracts_1.FreeForAllPolicyFactory__factory.connect(freeForAllPolicyFactoryAddress, signer)
|
|
34
|
+
: undefined;
|
|
35
|
+
const [contract] = await (0, contracts_1.deployFreeForAllSignUpPolicy)({ checker: checkerFactory, policy: policyFactory }, signer, true);
|
|
30
36
|
signupPolicyContractAddress = await contract.getAddress();
|
|
31
37
|
}
|
|
32
38
|
let initialVoiceCreditProxyAddress = initialVoiceCreditProxyContractAddress;
|
|
33
39
|
if (!initialVoiceCreditProxyAddress) {
|
|
34
|
-
const [contract] = await (0, contracts_1.deployConstantInitialVoiceCreditProxy)({ amount: initialVoiceCredits ??
|
|
40
|
+
const [contract] = await (0, contracts_1.deployConstantInitialVoiceCreditProxy)({ amount: initialVoiceCredits ?? utils_1.DEFAULT_INITIAL_VOICE_CREDITS }, signer, undefined, true);
|
|
35
41
|
initialVoiceCreditProxyAddress = await contract.getAddress();
|
|
36
42
|
}
|
|
37
43
|
// required arg -> poll duration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../ts/deploy/poll.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../ts/deploy/poll.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,14 @@ export interface IDeployPollArgs {
|
|
|
65
65
|
* The initial voice credits to be minted
|
|
66
66
|
*/
|
|
67
67
|
initialVoiceCredits?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Free for all checker factory address (using for deployment optimization if there is no signup policy)
|
|
70
|
+
*/
|
|
71
|
+
freeForAllCheckerFactoryAddress?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Free for all policy factory address (using for deployment optimization if there is no signup policy)
|
|
74
|
+
*/
|
|
75
|
+
freeForAllPolicyFactoryAddress?: string;
|
|
68
76
|
/**
|
|
69
77
|
* The signer
|
|
70
78
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/deploy/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/deploy/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../ts/maci/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../ts/maci/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAcrD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,yBAAyB,mBAAmB,KAAG,OAAO,CAAC,YAAY,CAWvG,CAAC;AAaF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GAAI,OAAO,YAAY,KAAG,SAAkD,CAAC;AAEvH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAU,0BAG1C,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAoBnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,yBAAyB,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,CAqBhH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,yBAAyB,kBAAkB,KAAG,OAAO,CAAC,cAAc,CAoB1G,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAU,0BAG5C,kBAAkB,KAAG,OAAO,CAAC,sBAAsB,CAerD,CAAC"}
|
package/build/ts/maci/policy.js
CHANGED
|
@@ -117,7 +117,7 @@ const getMerkleProofPolicyData = async ({ maciAddress, signer, }) => {
|
|
|
117
117
|
const policyContractAddress = await maciContract.signUpPolicy();
|
|
118
118
|
const policyContract = typechain_types_1.MerkleProofPolicy__factory.connect(policyContractAddress, signer);
|
|
119
119
|
const checkerAddress = await policyContract.BASE_CHECKER();
|
|
120
|
-
const checkerContract =
|
|
120
|
+
const checkerContract = typechain_types_1.MerkleProofChecker__factory.connect(checkerAddress, signer);
|
|
121
121
|
const [validRoot] = await Promise.all([checkerContract.root()]);
|
|
122
122
|
return {
|
|
123
123
|
root: validRoot.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../ts/maci/policy.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../ts/maci/policy.ts"],"names":[],"mappings":"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"}
|
package/build/ts/maci/state.js
CHANGED
|
@@ -8,7 +8,7 @@ const contracts_1 = require("@maci-protocol/contracts");
|
|
|
8
8
|
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
9
9
|
const ethers_1 = require("ethers");
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const
|
|
11
|
+
const contracts_2 = require("../utils/contracts");
|
|
12
12
|
/**
|
|
13
13
|
* Generate a local MACI state from the smart contracts events
|
|
14
14
|
* @param args The arguments for the genLocalState command
|
|
@@ -17,7 +17,7 @@ const generateMaciState = async ({ outputPath, pollId, maciAddress, coordinatorP
|
|
|
17
17
|
if (!maciAddress) {
|
|
18
18
|
throw new Error("MACI contract address is empty");
|
|
19
19
|
}
|
|
20
|
-
const isMaciExists = await (0,
|
|
20
|
+
const isMaciExists = await (0, contracts_2.contractExists)(signer.provider, maciAddress);
|
|
21
21
|
if (!isMaciExists) {
|
|
22
22
|
throw new Error("MACI contract does not exist");
|
|
23
23
|
}
|
|
@@ -29,7 +29,7 @@ const generateMaciState = async ({ outputPath, pollId, maciAddress, coordinatorP
|
|
|
29
29
|
const coordinatorKeypair = new domainobjs_1.Keypair(coordinatorMaciPrivKey);
|
|
30
30
|
const maciContract = contracts_1.MACI__factory.connect(maciAddress, signer);
|
|
31
31
|
const pollContracts = await maciContract.polls(pollId);
|
|
32
|
-
const isPollExists = await (0,
|
|
32
|
+
const isPollExists = await (0, contracts_2.contractExists)(signer.provider, pollContracts.poll);
|
|
33
33
|
if (!isPollExists) {
|
|
34
34
|
throw new Error("Poll contract does not exist");
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../ts/maci/state.ts"],"names":[],"mappings":";;;;;;AAAA,wDAIkC;AAClC,0DAA6D;AAC7D,mCAAyC;AAEzC,4CAAoB;AAKpB,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../ts/maci/state.ts"],"names":[],"mappings":"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"}
|
package/build/ts/poll/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getPollContracts = void 0;
|
|
4
4
|
const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
|
|
5
5
|
const ethers_1 = require("ethers");
|
|
6
|
-
const
|
|
6
|
+
const contracts_1 = require("../utils/contracts");
|
|
7
7
|
/**
|
|
8
8
|
* Get poll contracts
|
|
9
9
|
*
|
|
@@ -16,7 +16,7 @@ const getPollContracts = async ({ maciAddress, pollId, signer, provider, }) => {
|
|
|
16
16
|
if (id < 0n) {
|
|
17
17
|
throw new Error(`Invalid poll id ${id}`);
|
|
18
18
|
}
|
|
19
|
-
const isMaciExists = await (0,
|
|
19
|
+
const isMaciExists = await (0, contracts_1.contractExists)(signer?.provider || provider, maciAddress);
|
|
20
20
|
if (!isMaciExists) {
|
|
21
21
|
throw new Error("MACI contract does not exist");
|
|
22
22
|
}
|
|
@@ -24,7 +24,7 @@ const getPollContracts = async ({ maciAddress, pollId, signer, provider, }) => {
|
|
|
24
24
|
if (pollContracts.poll === ethers_1.ZeroAddress) {
|
|
25
25
|
throw new Error(`MACI contract doesn't have any deployed poll ${id}`);
|
|
26
26
|
}
|
|
27
|
-
const isPollExists = await (0,
|
|
27
|
+
const isPollExists = await (0, contracts_1.contractExists)(signer?.provider || provider, pollContracts.poll);
|
|
28
28
|
if (!isPollExists) {
|
|
29
29
|
throw new Error("Poll contract does not exist");
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/poll/utils.ts"],"names":[],"mappings":";;;AAAA,8EAKkD;AAClD,mCAAqC;AAIrC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/poll/utils.ts"],"names":[],"mappings":";;;AAAA,8EAKkD;AAClD,mCAAqC;AAIrC,kDAAoD;AAEpD;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,GACK,EAAkC,EAAE;IACjD,MAAM,IAAI,GAAG,+BAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjH,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAc,EAAC,MAAM,EAAE,QAAQ,IAAI,QAAS,EAAE,WAAW,CAAC,CAAC;IAEtF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3C,IAAI,aAAa,CAAC,IAAI,KAAK,oBAAW,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAc,EAAC,MAAM,EAAE,QAAQ,IAAI,QAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAE7F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,+BAAW,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,2CAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC;IAC7G,MAAM,KAAK,GAAG,gCAAY,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC;IAE5E,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI;QACJ,gBAAgB;QAChB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,gBAAgB,oBA0C3B"}
|
|
@@ -7,7 +7,7 @@ exports.generateProofs = void 0;
|
|
|
7
7
|
const contracts_1 = require("@maci-protocol/contracts");
|
|
8
8
|
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const
|
|
10
|
+
const utils_1 = require("../poll/utils");
|
|
11
11
|
const files_1 = require("../utils/files");
|
|
12
12
|
/**
|
|
13
13
|
* Generate proofs for the message processing and tally calculations
|
|
@@ -66,7 +66,7 @@ const generateProofs = async ({ outputDir, coordinatorPrivateKey, signer, maciAd
|
|
|
66
66
|
}
|
|
67
67
|
const maciPrivateKey = domainobjs_1.PrivKey.deserialize(coordinatorPrivateKey);
|
|
68
68
|
const coordinatorKeypair = new domainobjs_1.Keypair(maciPrivateKey);
|
|
69
|
-
const { poll: pollContract, maci: maciContract, tally: tallyContract, } = await (0,
|
|
69
|
+
const { poll: pollContract, maci: maciContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({
|
|
70
70
|
maciAddress,
|
|
71
71
|
pollId,
|
|
72
72
|
signer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../ts/proof/generate.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0D;AAC1D,0DAA6D;AAE7D,4CAAoB;AAIpB,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../ts/proof/generate.ts"],"names":[],"mappings":"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"}
|
package/build/ts/proof/prove.js
CHANGED
|
@@ -8,8 +8,8 @@ exports.proveOnChain = void 0;
|
|
|
8
8
|
const contracts_1 = require("@maci-protocol/contracts");
|
|
9
9
|
const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const utils_1 = require("../poll/utils");
|
|
12
|
+
const contracts_2 = require("../utils/contracts");
|
|
13
13
|
/**
|
|
14
14
|
* Command to prove the result of a poll on-chain
|
|
15
15
|
* @param args - The arguments for the proveOnChain command
|
|
@@ -17,11 +17,11 @@ const utils_1 = require("../utils");
|
|
|
17
17
|
const proveOnChain = async ({ pollId, proofDir, maciAddress, tallyFile, signer, }) => {
|
|
18
18
|
const deployment = contracts_1.Deployment.getInstance();
|
|
19
19
|
deployment.setContractNames(contracts_1.EContracts);
|
|
20
|
-
const { maci: maciContract, poll: pollContract, messageProcessor: mpContract, tally: tallyContract, } = await (0,
|
|
20
|
+
const { maci: maciContract, poll: pollContract, messageProcessor: mpContract, tally: tallyContract, } = await (0, utils_1.getPollContracts)({ maciAddress, pollId, signer });
|
|
21
21
|
const vkRegistryContractAddress = await tallyContract.vkRegistry();
|
|
22
22
|
const [isStateAqMerged, isVkRegistryExists] = await Promise.all([
|
|
23
23
|
pollContract.stateMerged(),
|
|
24
|
-
(0,
|
|
24
|
+
(0, contracts_2.contractExists)(signer.provider, vkRegistryContractAddress),
|
|
25
25
|
]);
|
|
26
26
|
if (!isVkRegistryExists) {
|
|
27
27
|
throw new Error("There is no VkRegistry contract linked to the specified MACI contract.");
|
|
@@ -33,7 +33,7 @@ const proveOnChain = async ({ pollId, proofDir, maciAddress, tallyFile, signer,
|
|
|
33
33
|
signer,
|
|
34
34
|
});
|
|
35
35
|
const verifierContractAddress = await mpContract.verifier();
|
|
36
|
-
const isVerifierExists = await (0,
|
|
36
|
+
const isVerifierExists = await (0, contracts_2.contractExists)(signer.provider, verifierContractAddress);
|
|
37
37
|
if (!isVerifierExists) {
|
|
38
38
|
throw new Error("There is no Verifier contract linked to the specified MACI contract.");
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../ts/proof/prove.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAqC;AACrC,wDAAsF;AACtF,8EAKkD;AAElD,4CAAoB;AAKpB,
|
|
1
|
+
{"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../ts/proof/prove.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import type { ITallyData } from "../tally/types";
|
|
1
2
|
import type { Groth16Proof, SnarkProof } from "@maci-protocol/contracts";
|
|
2
3
|
import type { CircuitInputs } from "@maci-protocol/core";
|
|
3
4
|
import type { BigNumberish, Signer } from "ethers";
|
|
4
5
|
import type { PublicSignals } from "snarkjs";
|
|
5
|
-
import { ITallyData } from "../tally";
|
|
6
6
|
/**
|
|
7
7
|
* Interface for the arguments to the proveOnChain command
|
|
8
8
|
*/
|