@maci-protocol/sdk 0.0.0-ci.c74cc8b → 0.0.0-ci.e0aedb2
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 +84 -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 +13 -1
- package/build/ts/maci/policy.d.ts.map +1 -1
- package/build/ts/maci/policy.js +41 -2
- 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/maci/types.d.ts +33 -1
- package/build/ts/maci/types.d.ts.map +1 -1
- package/build/ts/maci/types.js +2 -0
- package/build/ts/maci/types.js.map +1 -1
- package/build/ts/poll/types.d.ts +0 -1
- package/build/ts/poll/types.d.ts.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 +7 -4
- 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 +84 -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/types.d.ts +0 -8
- package/build/ts/user/types.d.ts.map +1 -1
- 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 +43 -5
- 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 type { IJoinPollArgs, IJoinPollData } from "../user/types";
|
|
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,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAYlE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,kJAa5B,aAAa,KAAG,OAAO,CAAC,aAAa,CA4FvC,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 utils_1 = require("../user/utils");
|
|
9
|
+
const contracts_1 = require("../utils/contracts");
|
|
10
|
+
const utils_2 = require("./utils");
|
|
11
|
+
/**
|
|
12
|
+
* Join Poll user to the Poll contract
|
|
13
|
+
* @param {IJoinPollArgs} args - The arguments for the join poll command
|
|
14
|
+
* @returns {IJoinPollData} The poll state index of the joined user and transaction hash
|
|
15
|
+
*/
|
|
16
|
+
const joinPoll = async ({ maciAddress, privateKey, stateFile, pollId, signer, startBlock, endBlock, blocksPerBatch, pollJoiningZkey, pollWasm, sgDataArg, ivcpDataArg, }) => {
|
|
17
|
+
const validContract = await (0, contracts_1.contractExists)(signer.provider, maciAddress);
|
|
18
|
+
if (!validContract) {
|
|
19
|
+
throw new Error("MACI contract does not exist");
|
|
20
|
+
}
|
|
21
|
+
if (!domainobjs_1.PrivKey.isValidSerializedPrivKey(privateKey)) {
|
|
22
|
+
throw new Error("Invalid MACI private key");
|
|
23
|
+
}
|
|
24
|
+
if (pollId < 0) {
|
|
25
|
+
throw new Error("Invalid poll id");
|
|
26
|
+
}
|
|
27
|
+
const userMaciPrivKey = domainobjs_1.PrivKey.deserialize(privateKey);
|
|
28
|
+
const userMaciPubKey = new domainobjs_1.Keypair(userMaciPrivKey).pubKey;
|
|
29
|
+
const nullifier = (0, crypto_1.poseidon)([BigInt(userMaciPrivKey.asCircuitInputs()), pollId]);
|
|
30
|
+
// check if the user has already joined the poll based on the nullifier
|
|
31
|
+
const hasUserJoinedAlready = await (0, utils_1.hasUserJoinedPoll)({
|
|
32
|
+
maciAddress,
|
|
33
|
+
pollId,
|
|
34
|
+
nullifier,
|
|
35
|
+
signer,
|
|
36
|
+
});
|
|
37
|
+
if (hasUserJoinedAlready) {
|
|
38
|
+
throw new Error("User has already joined");
|
|
39
|
+
}
|
|
40
|
+
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
41
|
+
const pollContracts = await maciContract.getPoll(pollId);
|
|
42
|
+
const pollContract = typechain_types_1.Poll__factory.connect(pollContracts.poll, signer);
|
|
43
|
+
// get the state index from the MACI contract
|
|
44
|
+
const stateIndex = await maciContract.getStateIndex(userMaciPubKey.hash()).catch(() => -1n);
|
|
45
|
+
let circuitInputs;
|
|
46
|
+
if (stateFile) {
|
|
47
|
+
circuitInputs = await (0, utils_1.getPollJoiningCircuitInputsFromStateFile)({
|
|
48
|
+
stateFile,
|
|
49
|
+
pollId,
|
|
50
|
+
stateIndex,
|
|
51
|
+
userMaciPrivKey,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
circuitInputs = await (0, utils_1.getPollJoiningCircuitEvents)({
|
|
56
|
+
maciContract,
|
|
57
|
+
stateIndex,
|
|
58
|
+
pollId,
|
|
59
|
+
userMaciPrivKey,
|
|
60
|
+
signer,
|
|
61
|
+
startBlock,
|
|
62
|
+
endBlock,
|
|
63
|
+
blocksPerBatch,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
const currentStateRootIndex = Number.parseInt((await maciContract.numSignUps()).toString(), 10) - 1;
|
|
67
|
+
// generate the proof for this batch
|
|
68
|
+
const { proof } = await (0, utils_2.genProofSnarkjs)({ inputs: circuitInputs, zkeyPath: pollJoiningZkey, wasmPath: pollWasm });
|
|
69
|
+
// submit the message onchain as well as the encryption public key
|
|
70
|
+
const tx = await pollContract.joinPoll(nullifier, userMaciPubKey.asContractParam(), currentStateRootIndex, (0, utils_2.formatProofForVerifierContract)(proof), sgDataArg, ivcpDataArg);
|
|
71
|
+
const receipt = await tx.wait();
|
|
72
|
+
if (receipt?.status !== 1) {
|
|
73
|
+
throw new Error("Transaction failed");
|
|
74
|
+
}
|
|
75
|
+
const [{ args }] = await pollContract.queryFilter(pollContract.filters.PollJoined, receipt.blockNumber, receipt.blockNumber);
|
|
76
|
+
return {
|
|
77
|
+
pollStateIndex: args._pollStateIndex.toString(),
|
|
78
|
+
voiceCredits: args._voiceCreditBalance.toString(),
|
|
79
|
+
nullifier: nullifier.toString(),
|
|
80
|
+
hash: receipt.hash,
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
exports.joinPoll = joinPoll;
|
|
84
|
+
//# 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,5 +1,5 @@
|
|
|
1
1
|
import { EPolicies } from "@maci-protocol/contracts";
|
|
2
|
-
import type { IGetPolicyTraitArgs, IGetPolicyDataArgs, ISemaphorePolicyData, IZupassPolicyData, IEASPolicyData, IMerkleProofPolicyData } from "./types";
|
|
2
|
+
import type { IGetPolicyTraitArgs, IGetPolicyDataArgs, ISemaphorePolicyData, IZupassPolicyData, IEASPolicyData, IMerkleProofPolicyData, IERC20PolicyData, IERC20VotesPolicyData } from "./types";
|
|
3
3
|
import { EPolicyTrait } from "./types";
|
|
4
4
|
/**
|
|
5
5
|
* Get the policy type of the MACI contract
|
|
@@ -38,4 +38,16 @@ export declare const getEASPolicyData: ({ maciAddress, signer }: IGetPolicyDataA
|
|
|
38
38
|
* @returns The merkleproof policy data
|
|
39
39
|
*/
|
|
40
40
|
export declare const getMerkleProofPolicyData: ({ maciAddress, signer, }: IGetPolicyDataArgs) => Promise<IMerkleProofPolicyData>;
|
|
41
|
+
/**
|
|
42
|
+
* Get the ERC20 policy data
|
|
43
|
+
* @param IGetPolicyDataArgs - The arguments for the get erc20 policy data command
|
|
44
|
+
* @returns The erc20 policy data
|
|
45
|
+
*/
|
|
46
|
+
export declare const getERC20PolicyData: ({ maciAddress, signer }: IGetPolicyDataArgs) => Promise<IERC20PolicyData>;
|
|
47
|
+
/**
|
|
48
|
+
* Get the ERC20 votes policy data
|
|
49
|
+
* @param IGetPolicyDataArgs - The arguments for the get erc20 votes policy data command
|
|
50
|
+
* @returns The erc20 votes policy data
|
|
51
|
+
*/
|
|
52
|
+
export declare const getERC20VotesPolicyData: ({ maciAddress, signer, }: IGetPolicyDataArgs) => Promise<IERC20VotesPolicyData>;
|
|
41
53
|
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -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;AAgBrD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACtB,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;AAeF;;;;;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;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAU,yBAAyB,kBAAkB,KAAG,OAAO,CAAC,gBAAgB,CAa9G,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAU,0BAG3C,kBAAkB,KAAG,OAAO,CAAC,qBAAqB,CAkBpD,CAAC"}
|
package/build/ts/maci/policy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMerkleProofPolicyData = exports.getEASPolicyData = exports.getZupassPolicyData = exports.getSemaphorePolicyData = exports.getPolicyContractNamesByTrait = exports.getPolicyTrait = void 0;
|
|
3
|
+
exports.getERC20VotesPolicyData = exports.getERC20PolicyData = exports.getMerkleProofPolicyData = exports.getEASPolicyData = exports.getZupassPolicyData = exports.getSemaphorePolicyData = exports.getPolicyContractNamesByTrait = exports.getPolicyTrait = void 0;
|
|
4
4
|
const contracts_1 = require("@maci-protocol/contracts");
|
|
5
5
|
const typechain_types_1 = require("@maci-protocol/contracts/typechain-types");
|
|
6
6
|
const types_1 = require("./types");
|
|
@@ -27,6 +27,8 @@ const POLICY_CONTRACT_NAMES_BY_TRAIT = {
|
|
|
27
27
|
[types_1.EPolicyTrait.Token]: contracts_1.EPolicies.Token,
|
|
28
28
|
[types_1.EPolicyTrait.Zupass]: contracts_1.EPolicies.Zupass,
|
|
29
29
|
[types_1.EPolicyTrait.MerkleProof]: contracts_1.EPolicies.MerkleProof,
|
|
30
|
+
[types_1.EPolicyTrait.ERC20]: contracts_1.EPolicies.ERC20,
|
|
31
|
+
[types_1.EPolicyTrait.ERC20Votes]: contracts_1.EPolicies.ERC20Votes,
|
|
30
32
|
};
|
|
31
33
|
/**
|
|
32
34
|
* Get policy contract names associated with the trait provided.
|
|
@@ -117,11 +119,48 @@ const getMerkleProofPolicyData = async ({ maciAddress, signer, }) => {
|
|
|
117
119
|
const policyContractAddress = await maciContract.signUpPolicy();
|
|
118
120
|
const policyContract = typechain_types_1.MerkleProofPolicy__factory.connect(policyContractAddress, signer);
|
|
119
121
|
const checkerAddress = await policyContract.BASE_CHECKER();
|
|
120
|
-
const checkerContract =
|
|
122
|
+
const checkerContract = typechain_types_1.MerkleProofChecker__factory.connect(checkerAddress, signer);
|
|
121
123
|
const [validRoot] = await Promise.all([checkerContract.root()]);
|
|
122
124
|
return {
|
|
123
125
|
root: validRoot.toString(),
|
|
124
126
|
};
|
|
125
127
|
};
|
|
126
128
|
exports.getMerkleProofPolicyData = getMerkleProofPolicyData;
|
|
129
|
+
/**
|
|
130
|
+
* Get the ERC20 policy data
|
|
131
|
+
* @param IGetPolicyDataArgs - The arguments for the get erc20 policy data command
|
|
132
|
+
* @returns The erc20 policy data
|
|
133
|
+
*/
|
|
134
|
+
const getERC20PolicyData = async ({ maciAddress, signer }) => {
|
|
135
|
+
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
136
|
+
const policyContractAddress = await maciContract.signUpPolicy();
|
|
137
|
+
const policyContract = typechain_types_1.ERC20Checker__factory.connect(policyContractAddress, signer);
|
|
138
|
+
const [token, threshold] = await Promise.all([policyContract.token(), policyContract.threshold()]);
|
|
139
|
+
return {
|
|
140
|
+
token: token.toString(),
|
|
141
|
+
threshold: threshold.toString(),
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
exports.getERC20PolicyData = getERC20PolicyData;
|
|
145
|
+
/**
|
|
146
|
+
* Get the ERC20 votes policy data
|
|
147
|
+
* @param IGetPolicyDataArgs - The arguments for the get erc20 votes policy data command
|
|
148
|
+
* @returns The erc20 votes policy data
|
|
149
|
+
*/
|
|
150
|
+
const getERC20VotesPolicyData = async ({ maciAddress, signer, }) => {
|
|
151
|
+
const maciContract = typechain_types_1.MACI__factory.connect(maciAddress, signer);
|
|
152
|
+
const policyContractAddress = await maciContract.signUpPolicy();
|
|
153
|
+
const policyContract = typechain_types_1.ERC20VotesChecker__factory.connect(policyContractAddress, signer);
|
|
154
|
+
const [token, threshold, snapshotBlock] = await Promise.all([
|
|
155
|
+
policyContract.token(),
|
|
156
|
+
policyContract.threshold(),
|
|
157
|
+
policyContract.snapshotBlock(),
|
|
158
|
+
]);
|
|
159
|
+
return {
|
|
160
|
+
token: token.toString(),
|
|
161
|
+
threshold: threshold.toString(),
|
|
162
|
+
snapshotBlock: snapshotBlock.toString(),
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
exports.getERC20VotesPolicyData = getERC20VotesPolicyData;
|
|
127
166
|
//# sourceMappingURL=policy.js.map
|
|
@@ -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/maci/types.d.ts
CHANGED
|
@@ -10,7 +10,9 @@ export declare enum EPolicyTrait {
|
|
|
10
10
|
Semaphore = "Semaphore",
|
|
11
11
|
Token = "Token",
|
|
12
12
|
Zupass = "Zupass",
|
|
13
|
-
MerkleProof = "MerkleProof"
|
|
13
|
+
MerkleProof = "MerkleProof",
|
|
14
|
+
ERC20 = "ERC20",
|
|
15
|
+
ERC20Votes = "ERC20Votes"
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Interface for the arguments to the getPolicyTrait command
|
|
@@ -94,6 +96,36 @@ export interface IMerkleProofPolicyData {
|
|
|
94
96
|
*/
|
|
95
97
|
root: string;
|
|
96
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Interface for the erc20 policy data
|
|
101
|
+
*/
|
|
102
|
+
export interface IERC20PolicyData {
|
|
103
|
+
/**
|
|
104
|
+
* The token address
|
|
105
|
+
*/
|
|
106
|
+
token: string;
|
|
107
|
+
/**
|
|
108
|
+
* The threshold
|
|
109
|
+
*/
|
|
110
|
+
threshold: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Interface for the erc20 votes policy data
|
|
114
|
+
*/
|
|
115
|
+
export interface IERC20VotesPolicyData {
|
|
116
|
+
/**
|
|
117
|
+
* The token address
|
|
118
|
+
*/
|
|
119
|
+
token: string;
|
|
120
|
+
/**
|
|
121
|
+
* The threshold
|
|
122
|
+
*/
|
|
123
|
+
threshold: string;
|
|
124
|
+
/**
|
|
125
|
+
* The snapshot block
|
|
126
|
+
*/
|
|
127
|
+
snapshotBlock: string;
|
|
128
|
+
}
|
|
97
129
|
/**
|
|
98
130
|
* Interface for the arguments to the mergeSignups command
|
|
99
131
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/maci/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/maci/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,UAAU,eAAe;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
package/build/ts/maci/types.js
CHANGED
|
@@ -14,5 +14,7 @@ var EPolicyTrait;
|
|
|
14
14
|
EPolicyTrait["Token"] = "Token";
|
|
15
15
|
EPolicyTrait["Zupass"] = "Zupass";
|
|
16
16
|
EPolicyTrait["MerkleProof"] = "MerkleProof";
|
|
17
|
+
EPolicyTrait["ERC20"] = "ERC20";
|
|
18
|
+
EPolicyTrait["ERC20Votes"] = "ERC20Votes";
|
|
17
19
|
})(EPolicyTrait || (exports.EPolicyTrait = EPolicyTrait = {}));
|
|
18
20
|
//# sourceMappingURL=types.js.map
|