@maci-protocol/testing 0.0.0-ci.185b643
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/CHANGELOG.md +262 -0
- package/LICENSE +22 -0
- package/README.md +16 -0
- package/build/hardhat.config.d.ts +5 -0
- package/build/hardhat.config.d.ts.map +1 -0
- package/build/hardhat.config.js +37 -0
- package/build/hardhat.config.js.map +1 -0
- package/build/ts/__tests__/e2e.nonQv.test.d.ts +2 -0
- package/build/ts/__tests__/e2e.nonQv.test.d.ts.map +1 -0
- package/build/ts/__tests__/e2e.nonQv.test.js +208 -0
- package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -0
- package/build/ts/__tests__/e2e.test.d.ts +2 -0
- package/build/ts/__tests__/e2e.test.d.ts.map +1 -0
- package/build/ts/__tests__/e2e.test.js +1588 -0
- package/build/ts/__tests__/e2e.test.js.map +1 -0
- package/build/ts/__tests__/integration.test.d.ts +2 -0
- package/build/ts/__tests__/integration.test.d.ts.map +1 -0
- package/build/ts/__tests__/integration.test.js +293 -0
- package/build/ts/__tests__/integration.test.js.map +1 -0
- package/build/ts/__tests__/keyChange.test.d.ts +2 -0
- package/build/ts/__tests__/keyChange.test.d.ts.map +1 -0
- package/build/ts/__tests__/keyChange.test.js +453 -0
- package/build/ts/__tests__/keyChange.test.js.map +1 -0
- package/build/ts/__tests__/maciKeys.test.d.ts +2 -0
- package/build/ts/__tests__/maciKeys.test.d.ts.map +1 -0
- package/build/ts/__tests__/maciKeys.test.js +78 -0
- package/build/ts/__tests__/maciKeys.test.js.map +1 -0
- package/build/ts/__tests__/unit/fundWallet.test.d.ts +2 -0
- package/build/ts/__tests__/unit/fundWallet.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/fundWallet.test.js +15 -0
- package/build/ts/__tests__/unit/fundWallet.test.js.map +1 -0
- package/build/ts/__tests__/unit/joinPoll.test.d.ts +2 -0
- package/build/ts/__tests__/unit/joinPoll.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/joinPoll.test.js +125 -0
- package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -0
- package/build/ts/__tests__/unit/poll.test.d.ts +2 -0
- package/build/ts/__tests__/unit/poll.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/poll.test.js +89 -0
- package/build/ts/__tests__/unit/poll.test.js.map +1 -0
- package/build/ts/__tests__/unit/publish.test.d.ts +2 -0
- package/build/ts/__tests__/unit/publish.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/publish.test.js +132 -0
- package/build/ts/__tests__/unit/publish.test.js.map +1 -0
- package/build/ts/__tests__/unit/signup.test.d.ts +2 -0
- package/build/ts/__tests__/unit/signup.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/signup.test.js +63 -0
- package/build/ts/__tests__/unit/signup.test.js.map +1 -0
- package/build/ts/__tests__/unit/timeTravel.test.d.ts +2 -0
- package/build/ts/__tests__/unit/timeTravel.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/timeTravel.test.js +14 -0
- package/build/ts/__tests__/unit/timeTravel.test.js.map +1 -0
- package/build/ts/__tests__/unit/utils.test.d.ts +2 -0
- package/build/ts/__tests__/unit/utils.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/utils.test.js +36 -0
- package/build/ts/__tests__/unit/utils.test.js.map +1 -0
- package/build/ts/constants.d.ts +84 -0
- package/build/ts/constants.d.ts.map +1 -0
- package/build/ts/constants.js +159 -0
- package/build/ts/constants.js.map +1 -0
- package/build/ts/index.d.ts +4 -0
- package/build/ts/index.d.ts.map +1 -0
- package/build/ts/index.js +23 -0
- package/build/ts/index.js.map +1 -0
- package/build/ts/testingClass.d.ts +43 -0
- package/build/ts/testingClass.d.ts.map +1 -0
- package/build/ts/testingClass.js +144 -0
- package/build/ts/testingClass.js.map +1 -0
- package/build/ts/types.d.ts +100 -0
- package/build/ts/types.d.ts.map +1 -0
- package/build/ts/types.js +3 -0
- package/build/ts/types.js.map +1 -0
- package/build/ts/user.d.ts +27 -0
- package/build/ts/user.d.ts.map +1 -0
- package/build/ts/user.js +36 -0
- package/build/ts/user.js.map +1 -0
- package/build/ts/utils.d.ts +70 -0
- package/build/ts/utils.d.ts.map +1 -0
- package/build/ts/utils.js +192 -0
- package/build/ts/utils.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Keypair } from "@maci-protocol/domainobjs";
|
|
2
|
+
import { EMode, type ICheckVerifyingKeysArgs, type IDeployPollArgs, type ISetVerifyingKeysArgs, type IMergeSignupsArgs, type IVerifyArgs, type IProveOnChainArgs, type ITimeTravelArgs, type IDeployMaciArgs } from "@maci-protocol/sdk";
|
|
3
|
+
import type { Signer } from "ethers";
|
|
4
|
+
export declare const STATE_TREE_DEPTH = 10;
|
|
5
|
+
export declare const POLL_STATE_TREE_DEPTH = 10;
|
|
6
|
+
export declare const INT_STATE_TREE_DEPTH = 1;
|
|
7
|
+
export declare const VOTE_OPTION_TREE_DEPTH = 2;
|
|
8
|
+
export declare const MESSAGE_BATCH_SIZE = 20;
|
|
9
|
+
export declare const DEFAULT_INITIAL_VOICE_CREDITS = 100;
|
|
10
|
+
export declare const DEFAULT_VOTE_OPTIONS = 25;
|
|
11
|
+
export declare const DEFAULT_SG_DATA = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
12
|
+
export declare const DEFAULT_IVCP_DATA = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
13
|
+
export declare const coordinatorKeypair: Keypair;
|
|
14
|
+
export declare const coordinatorPubKey: string;
|
|
15
|
+
export declare const coordinatorPrivKey: string;
|
|
16
|
+
export declare const pollDuration = 2000;
|
|
17
|
+
export declare const maxMessages = 25;
|
|
18
|
+
export declare const maxVoteOptions = 25;
|
|
19
|
+
export declare const pollJoiningTestZkeyPath = "./zkeys/PollJoining_10_test/PollJoining_10_test.0.zkey";
|
|
20
|
+
export declare const pollJoinedTestZkeyPath = "./zkeys/PollJoined_10_test/PollJoined_10_test.0.zkey";
|
|
21
|
+
export declare const processMessageTestZkeyPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test.0.zkey";
|
|
22
|
+
export declare const tallyVotesTestZkeyPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test.0.zkey";
|
|
23
|
+
export declare const processMessageTestNonQvZkeyPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test.0.zkey";
|
|
24
|
+
export declare const tallyVotesTestNonQvZkeyPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test.0.zkey";
|
|
25
|
+
export declare const testTallyFilePath = "./tally.json";
|
|
26
|
+
export declare const testProofsDirPath = "./proofs";
|
|
27
|
+
export declare const testPollJoiningWitnessPath = "./zkeys/PollJoining_10_test/PollJoining_10_test_cpp/PollJoining_10_test";
|
|
28
|
+
export declare const testProcessMessagesWitnessPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test_cpp/ProcessMessages_10-20-2_test";
|
|
29
|
+
export declare const testProcessMessagesWitnessDatPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test_cpp/ProcessMessages_10-20-2_test.dat";
|
|
30
|
+
export declare const testTallyVotesWitnessPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test_cpp/TallyVotes_10-1-2_test";
|
|
31
|
+
export declare const testTallyVotesWitnessDatPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test_cpp/TallyVotes_10-1-2_test.dat";
|
|
32
|
+
export declare const testPollJoiningWasmPath = "./zkeys/PollJoining_10_test/PollJoining_10_test_js/PollJoining_10_test.wasm";
|
|
33
|
+
export declare const testProcessMessagesWasmPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test_js/ProcessMessages_10-20-2_test.wasm";
|
|
34
|
+
export declare const testTallyVotesWasmPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm";
|
|
35
|
+
export declare const testRapidsnarkPath: string;
|
|
36
|
+
export declare const ceremonyPollJoiningZkeyPath = "./zkeys/PollJoining_10_test/PollJoining_10_test.0.zkey";
|
|
37
|
+
export declare const ceremonyPollJoinedZkeyPath = "./zkeys/PollJoined_10_test/PollJoined_10_test.0.zkey";
|
|
38
|
+
export declare const ceremonyProcessMessagesZkeyPath = "./zkeys/ProcessMessages_6-9-2-3/processMessages_6-9-2-3.zkey";
|
|
39
|
+
export declare const ceremonyProcessMessagesNonQvZkeyPath = "./zkeys/ProcessMessagesNonQv_6-9-2-3/processMessagesNonQv_6-9-2-3.zkey";
|
|
40
|
+
export declare const ceremonyTallyVotesZkeyPath = "./zkeys/TallyVotes_6-2-3/tallyVotes_6-2-3.zkey";
|
|
41
|
+
export declare const ceremonyTallyVotesNonQvZkeyPath = "./zkeys/TallyVotesNonQv_6-2-3/tallyVotesNonQv_6-2-3.zkey";
|
|
42
|
+
export declare const ceremonyPollJoiningWitnessPath = "./zkeys/PollJoining_10_test/PollJoining_10_test_cpp/PollJoining_10_test";
|
|
43
|
+
export declare const ceremonyProcessMessagesWitnessPath = "./zkeys/ProcessMessages_14-9-2-3/ProcessMessages_14-9-2-3_cpp/ProcessMessages_14-9-2-3";
|
|
44
|
+
export declare const ceremonyProcessMessagesNonQvWitnessPath = "./zkeys/ProcessMessagesNonQv_14-9-2-3/ProcessMessagesNonQv_14-9-2-3_cpp/ProcessMessagesNonQv_14-9-2-3";
|
|
45
|
+
export declare const ceremonyProcessMessagesDatPath = "./zkeys/ProcessMessages_14-9-2-3/ProcessMessages_14-9-2-3_cpp/ProcessMessages_14-9-2-3.dat";
|
|
46
|
+
export declare const ceremonyProcessMessagesNonQvDatPath = "./zkeys/ProcessMessagesNonQv_14-9-2-3/ProcessMessagesNonQv_14-9-2-3_cpp/ProcessMessagesNonQv_14-9-2-3.dat";
|
|
47
|
+
export declare const ceremonyTallyVotesWitnessPath = "./zkeys/TallyVotes_14-5-3/TallyVotes_14-5-3_cpp/TallyVotes_14-5-3";
|
|
48
|
+
export declare const ceremonyTallyVotesNonQvWitnessPath = "./zkeys/TallyVotesNonQv_14-5-3/TallyVotesNonQv_14-5-3_cpp/TallyVotesNonQv_14-5-3";
|
|
49
|
+
export declare const ceremonyTallyVotesDatPath = "./zkeys/TallyVotes_14-5-3/TallyVotes_14-5-3_cpp/TallyVotes_14-5-3.dat";
|
|
50
|
+
export declare const ceremonyTallyVotesNonQvDatPath = "./zkeys/TallyVotesNonQv_14-5-3/TallyVotesNonQv_14-5-3_cpp/TallyVotesNonQv_14-5-3.dat";
|
|
51
|
+
export declare const ceremonyProcessMessagesWasmPath = "./zkeys/ProcessMessages_14-9-2-3/ProcessMessages_14-9-2-3_js/ProcessMessages_14-9-2-3.wasm";
|
|
52
|
+
export declare const ceremonyProcessMessagesNonQvWasmPath = "./zkeys/ProcessMessagesNonQv_14-9-2-3/ProcessMessagesNonQv_14-9-2-3_js/ProcessMessagesNonQv_14-9-2-3.wasm";
|
|
53
|
+
export declare const ceremonyTallyVotesWasmPath = "./zkeys/TallyVotes_14-5-3/TallyVotes_14-5-3_js/TallyVotes_14-5-3.wasm";
|
|
54
|
+
export declare const ceremonyTallyVotesNonQvWasmPath = "./zkeys/TallyVotesNonQv_14-5-3/TallyVotesNonQv_14-5-3_js/TallyVotesNonQv_14-5-3.wasm";
|
|
55
|
+
export declare const testProcessMessagesNonQvWitnessPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test_cpp/ProcessMessagesNonQv_10-20-2_test";
|
|
56
|
+
export declare const testProcessMessagesNonQvWitnessDatPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test_cpp/ProcessMessagesNonQv_10-20-2_test.dat";
|
|
57
|
+
export declare const testTallyVotesNonQvWitnessPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test_cpp/TallyVotesNonQv_10-1-2_test";
|
|
58
|
+
export declare const testTallyVotesNonQvWitnessDatPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test_cpp/TallyVotesNonQv_10-1-2_test.dat";
|
|
59
|
+
export declare const testProcessMessagesNonQvWasmPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test_js/ProcessMessagesNonQv_10-20-2_test.wasm";
|
|
60
|
+
export declare const testTallyVotesNonQvWasmPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test_js/TallyVotesNonQv_10-1-2_test.wasm";
|
|
61
|
+
export declare const pollJoiningZkey: string;
|
|
62
|
+
export declare const pollJoinedZkey: string;
|
|
63
|
+
export declare const pollWasm: string;
|
|
64
|
+
export declare const pollWitgen: string;
|
|
65
|
+
export declare const pollJoinedWasm: string;
|
|
66
|
+
export declare const pollJoinedWitgen: string;
|
|
67
|
+
export declare const rapidsnark: string;
|
|
68
|
+
export declare const processMessagesZkeyPathNonQv: string;
|
|
69
|
+
export declare const tallyVotesZkeyPathNonQv: string;
|
|
70
|
+
export declare const checkVerifyingKeysArgs: Omit<ICheckVerifyingKeysArgs, "vkRegistry" | "signer">;
|
|
71
|
+
export declare const timeTravelArgs: Omit<ITimeTravelArgs, "signer">;
|
|
72
|
+
export declare const mergeSignupsArgs: Omit<IMergeSignupsArgs, "maciAddress" | "signer">;
|
|
73
|
+
export declare const proveOnChainArgs: Omit<IProveOnChainArgs, "maciAddress" | "signer">;
|
|
74
|
+
export declare const verifyArgs: (signer: Signer) => Promise<IVerifyArgs>;
|
|
75
|
+
export declare const verifyingKeysArgs: (signer: Signer, mode?: EMode) => Promise<Omit<ISetVerifyingKeysArgs, "vkRegistryAddress">>;
|
|
76
|
+
export declare const deployArgs: Omit<IDeployMaciArgs, "signer" | "signupPolicyAddress">;
|
|
77
|
+
export declare const deployPollArgs: Omit<IDeployPollArgs, "relayers" | "signer" | "pollStartTimestamp" | "pollEndTimestamp" | "maciAddress" | "verifierContractAddress" | "vkRegistryContractAddress" | "policyContractAddress" | "initialVoiceCreditProxyContractAddress">;
|
|
78
|
+
export declare const invalidVote: {
|
|
79
|
+
voteWeight: bigint;
|
|
80
|
+
nonce: bigint;
|
|
81
|
+
maxVoteWeight: bigint;
|
|
82
|
+
voteCreditBalance: bigint;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../ts/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACL,KAAK,EAIL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAE1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,eAAe,uEAAuE,CAAC;AACpG,eAAO,MAAM,iBAAiB,uEAAuE,CAAC;AAEtG,eAAO,MAAM,kBAAkB,SAAgB,CAAC;AAChD,eAAO,MAAM,iBAAiB,QAAwC,CAAC;AACvE,eAAO,MAAM,kBAAkB,QAAyC,CAAC;AACzE,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,uBAAuB,2DAA2D,CAAC;AAChG,eAAO,MAAM,sBAAsB,yDAAyD,CAAC;AAC7F,eAAO,MAAM,0BAA0B,6EAA6E,CAAC;AACrH,eAAO,MAAM,sBAAsB,iEAAiE,CAAC;AACrG,eAAO,MAAM,+BAA+B,uFAC0C,CAAC;AACvF,eAAO,MAAM,2BAA2B,2EAA2E,CAAC;AACpH,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,0BAA0B,4EAA4E,CAAC;AACpH,eAAO,MAAM,8BAA8B,uGAC2D,CAAC;AACvG,eAAO,MAAM,iCAAiC,2GAC4D,CAAC;AAC3G,eAAO,MAAM,yBAAyB,qFAC8C,CAAC;AACrF,eAAO,MAAM,4BAA4B,yFAC+C,CAAC;AACzF,eAAO,MAAM,uBAAuB,gFAAgF,CAAC;AACrH,eAAO,MAAM,2BAA2B,2GACkE,CAAC;AAC3G,eAAO,MAAM,sBAAsB,yFACqD,CAAC;AACzF,eAAO,MAAM,kBAAkB,QAAyC,CAAC;AACzE,eAAO,MAAM,2BAA2B,2DAA2D,CAAC;AACpG,eAAO,MAAM,0BAA0B,yDAAyD,CAAC;AACjG,eAAO,MAAM,+BAA+B,iEAAiE,CAAC;AAC9G,eAAO,MAAM,oCAAoC,2EACyB,CAAC;AAC3E,eAAO,MAAM,0BAA0B,mDAAmD,CAAC;AAC3F,eAAO,MAAM,+BAA+B,6DAA6D,CAAC;AAC1G,eAAO,MAAM,8BAA8B,4EAA4E,CAAC;AACxH,eAAO,MAAM,kCAAkC,2FAC2C,CAAC;AAC3F,eAAO,MAAM,uCAAuC,0GACqD,CAAC;AAC1G,eAAO,MAAM,8BAA8B,+FACmD,CAAC;AAC/F,eAAO,MAAM,mCAAmC,8GAC6D,CAAC;AAC9G,eAAO,MAAM,6BAA6B,sEAAsE,CAAC;AACjH,eAAO,MAAM,kCAAkC,qFACqC,CAAC;AACrF,eAAO,MAAM,yBAAyB,0EAA0E,CAAC;AACjH,eAAO,MAAM,8BAA8B,yFAC6C,CAAC;AACzF,eAAO,MAAM,+BAA+B,+FACkD,CAAC;AAC/F,eAAO,MAAM,oCAAoC,8GAC4D,CAAC;AAC9G,eAAO,MAAM,0BAA0B,0EAA0E,CAAC;AAClH,eAAO,MAAM,+BAA+B,yFAC4C,CAAC;AACzF,eAAO,MAAM,mCAAmC,sHACqE,CAAC;AACtH,eAAO,MAAM,sCAAsC,0HACsE,CAAC;AAC1H,eAAO,MAAM,8BAA8B,oGACwD,CAAC;AACpG,eAAO,MAAM,iCAAiC,wGACyD,CAAC;AACxG,eAAO,MAAM,gCAAgC,0HAC4E,CAAC;AAC1H,eAAO,MAAM,2BAA2B,wGAC+D,CAAC;AAExG,eAAO,MAAM,eAAe,QAAqF,CAAC;AAClH,eAAO,MAAM,cAAc,QAAmF,CAAC;AAC/G,eAAO,MAAM,QAAQ,QAGpB,CAAC;AACF,eAAO,MAAM,UAAU,QAGtB,CAAC;AACF,eAAO,MAAM,cAAc,QAG1B,CAAC;AACF,eAAO,MAAM,gBAAgB,QAG5B,CAAC;AACF,eAAO,MAAM,UAAU,QAAyC,CAAC;AACjE,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AACF,eAAO,MAAM,uBAAuB,QAGnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,QAAQ,CASzF,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAE1D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,GAAG,QAAQ,CAE9E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,GAAG,QAAQ,CAI9E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,WAAW,CAiBpE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,EACd,YAAe,KACd,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAqB1D,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,qBAAqB,CAE9E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,IAAI,CAC/B,eAAe,EACb,UAAU,GACV,QAAQ,GACR,oBAAoB,GACpB,kBAAkB,GAClB,aAAa,GACb,yBAAyB,GACzB,2BAA2B,GAC3B,uBAAuB,GACvB,wCAAwC,CAU3C,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ceremonyTallyVotesWasmPath = exports.ceremonyProcessMessagesNonQvWasmPath = exports.ceremonyProcessMessagesWasmPath = exports.ceremonyTallyVotesNonQvDatPath = exports.ceremonyTallyVotesDatPath = exports.ceremonyTallyVotesNonQvWitnessPath = exports.ceremonyTallyVotesWitnessPath = exports.ceremonyProcessMessagesNonQvDatPath = exports.ceremonyProcessMessagesDatPath = exports.ceremonyProcessMessagesNonQvWitnessPath = exports.ceremonyProcessMessagesWitnessPath = exports.ceremonyPollJoiningWitnessPath = exports.ceremonyTallyVotesNonQvZkeyPath = exports.ceremonyTallyVotesZkeyPath = exports.ceremonyProcessMessagesNonQvZkeyPath = exports.ceremonyProcessMessagesZkeyPath = exports.ceremonyPollJoinedZkeyPath = exports.ceremonyPollJoiningZkeyPath = exports.testRapidsnarkPath = exports.testTallyVotesWasmPath = exports.testProcessMessagesWasmPath = exports.testPollJoiningWasmPath = exports.testTallyVotesWitnessDatPath = exports.testTallyVotesWitnessPath = exports.testProcessMessagesWitnessDatPath = exports.testProcessMessagesWitnessPath = exports.testPollJoiningWitnessPath = exports.testProofsDirPath = exports.testTallyFilePath = exports.tallyVotesTestNonQvZkeyPath = exports.processMessageTestNonQvZkeyPath = exports.tallyVotesTestZkeyPath = exports.processMessageTestZkeyPath = exports.pollJoinedTestZkeyPath = exports.pollJoiningTestZkeyPath = exports.maxVoteOptions = exports.maxMessages = exports.pollDuration = exports.coordinatorPrivKey = exports.coordinatorPubKey = exports.coordinatorKeypair = exports.DEFAULT_IVCP_DATA = exports.DEFAULT_SG_DATA = exports.DEFAULT_VOTE_OPTIONS = exports.DEFAULT_INITIAL_VOICE_CREDITS = exports.MESSAGE_BATCH_SIZE = exports.VOTE_OPTION_TREE_DEPTH = exports.INT_STATE_TREE_DEPTH = exports.POLL_STATE_TREE_DEPTH = exports.STATE_TREE_DEPTH = void 0;
|
|
7
|
+
exports.invalidVote = exports.deployPollArgs = exports.deployArgs = exports.verifyingKeysArgs = exports.verifyArgs = exports.proveOnChainArgs = exports.mergeSignupsArgs = exports.timeTravelArgs = exports.checkVerifyingKeysArgs = exports.tallyVotesZkeyPathNonQv = exports.processMessagesZkeyPathNonQv = exports.rapidsnark = exports.pollJoinedWitgen = exports.pollJoinedWasm = exports.pollWitgen = exports.pollWasm = exports.pollJoinedZkey = exports.pollJoiningZkey = exports.testTallyVotesNonQvWasmPath = exports.testProcessMessagesNonQvWasmPath = exports.testTallyVotesNonQvWitnessDatPath = exports.testTallyVotesNonQvWitnessPath = exports.testProcessMessagesNonQvWitnessDatPath = exports.testProcessMessagesNonQvWitnessPath = exports.ceremonyTallyVotesNonQvWasmPath = void 0;
|
|
8
|
+
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
9
|
+
const sdk_1 = require("@maci-protocol/sdk");
|
|
10
|
+
const os_1 = require("os");
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
exports.STATE_TREE_DEPTH = 10;
|
|
14
|
+
exports.POLL_STATE_TREE_DEPTH = 10;
|
|
15
|
+
exports.INT_STATE_TREE_DEPTH = 1;
|
|
16
|
+
exports.VOTE_OPTION_TREE_DEPTH = 2;
|
|
17
|
+
exports.MESSAGE_BATCH_SIZE = 20;
|
|
18
|
+
exports.DEFAULT_INITIAL_VOICE_CREDITS = 100;
|
|
19
|
+
exports.DEFAULT_VOTE_OPTIONS = 25;
|
|
20
|
+
exports.DEFAULT_SG_DATA = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
21
|
+
exports.DEFAULT_IVCP_DATA = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
22
|
+
exports.coordinatorKeypair = new domainobjs_1.Keypair();
|
|
23
|
+
exports.coordinatorPubKey = exports.coordinatorKeypair.pubKey.serialize();
|
|
24
|
+
exports.coordinatorPrivKey = exports.coordinatorKeypair.privKey.serialize();
|
|
25
|
+
exports.pollDuration = 2000;
|
|
26
|
+
exports.maxMessages = 25;
|
|
27
|
+
exports.maxVoteOptions = 25;
|
|
28
|
+
exports.pollJoiningTestZkeyPath = "./zkeys/PollJoining_10_test/PollJoining_10_test.0.zkey";
|
|
29
|
+
exports.pollJoinedTestZkeyPath = "./zkeys/PollJoined_10_test/PollJoined_10_test.0.zkey";
|
|
30
|
+
exports.processMessageTestZkeyPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test.0.zkey";
|
|
31
|
+
exports.tallyVotesTestZkeyPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test.0.zkey";
|
|
32
|
+
exports.processMessageTestNonQvZkeyPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test.0.zkey";
|
|
33
|
+
exports.tallyVotesTestNonQvZkeyPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test.0.zkey";
|
|
34
|
+
exports.testTallyFilePath = "./tally.json";
|
|
35
|
+
exports.testProofsDirPath = "./proofs";
|
|
36
|
+
exports.testPollJoiningWitnessPath = "./zkeys/PollJoining_10_test/PollJoining_10_test_cpp/PollJoining_10_test";
|
|
37
|
+
exports.testProcessMessagesWitnessPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test_cpp/ProcessMessages_10-20-2_test";
|
|
38
|
+
exports.testProcessMessagesWitnessDatPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test_cpp/ProcessMessages_10-20-2_test.dat";
|
|
39
|
+
exports.testTallyVotesWitnessPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test_cpp/TallyVotes_10-1-2_test";
|
|
40
|
+
exports.testTallyVotesWitnessDatPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test_cpp/TallyVotes_10-1-2_test.dat";
|
|
41
|
+
exports.testPollJoiningWasmPath = "./zkeys/PollJoining_10_test/PollJoining_10_test_js/PollJoining_10_test.wasm";
|
|
42
|
+
exports.testProcessMessagesWasmPath = "./zkeys/ProcessMessages_10-20-2_test/ProcessMessages_10-20-2_test_js/ProcessMessages_10-20-2_test.wasm";
|
|
43
|
+
exports.testTallyVotesWasmPath = "./zkeys/TallyVotes_10-1-2_test/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm";
|
|
44
|
+
exports.testRapidsnarkPath = `${(0, os_1.homedir)()}/rapidsnark/build/prover`;
|
|
45
|
+
exports.ceremonyPollJoiningZkeyPath = "./zkeys/PollJoining_10_test/PollJoining_10_test.0.zkey";
|
|
46
|
+
exports.ceremonyPollJoinedZkeyPath = "./zkeys/PollJoined_10_test/PollJoined_10_test.0.zkey";
|
|
47
|
+
exports.ceremonyProcessMessagesZkeyPath = "./zkeys/ProcessMessages_6-9-2-3/processMessages_6-9-2-3.zkey";
|
|
48
|
+
exports.ceremonyProcessMessagesNonQvZkeyPath = "./zkeys/ProcessMessagesNonQv_6-9-2-3/processMessagesNonQv_6-9-2-3.zkey";
|
|
49
|
+
exports.ceremonyTallyVotesZkeyPath = "./zkeys/TallyVotes_6-2-3/tallyVotes_6-2-3.zkey";
|
|
50
|
+
exports.ceremonyTallyVotesNonQvZkeyPath = "./zkeys/TallyVotesNonQv_6-2-3/tallyVotesNonQv_6-2-3.zkey";
|
|
51
|
+
exports.ceremonyPollJoiningWitnessPath = "./zkeys/PollJoining_10_test/PollJoining_10_test_cpp/PollJoining_10_test";
|
|
52
|
+
exports.ceremonyProcessMessagesWitnessPath = "./zkeys/ProcessMessages_14-9-2-3/ProcessMessages_14-9-2-3_cpp/ProcessMessages_14-9-2-3";
|
|
53
|
+
exports.ceremonyProcessMessagesNonQvWitnessPath = "./zkeys/ProcessMessagesNonQv_14-9-2-3/ProcessMessagesNonQv_14-9-2-3_cpp/ProcessMessagesNonQv_14-9-2-3";
|
|
54
|
+
exports.ceremonyProcessMessagesDatPath = "./zkeys/ProcessMessages_14-9-2-3/ProcessMessages_14-9-2-3_cpp/ProcessMessages_14-9-2-3.dat";
|
|
55
|
+
exports.ceremonyProcessMessagesNonQvDatPath = "./zkeys/ProcessMessagesNonQv_14-9-2-3/ProcessMessagesNonQv_14-9-2-3_cpp/ProcessMessagesNonQv_14-9-2-3.dat";
|
|
56
|
+
exports.ceremonyTallyVotesWitnessPath = "./zkeys/TallyVotes_14-5-3/TallyVotes_14-5-3_cpp/TallyVotes_14-5-3";
|
|
57
|
+
exports.ceremonyTallyVotesNonQvWitnessPath = "./zkeys/TallyVotesNonQv_14-5-3/TallyVotesNonQv_14-5-3_cpp/TallyVotesNonQv_14-5-3";
|
|
58
|
+
exports.ceremonyTallyVotesDatPath = "./zkeys/TallyVotes_14-5-3/TallyVotes_14-5-3_cpp/TallyVotes_14-5-3.dat";
|
|
59
|
+
exports.ceremonyTallyVotesNonQvDatPath = "./zkeys/TallyVotesNonQv_14-5-3/TallyVotesNonQv_14-5-3_cpp/TallyVotesNonQv_14-5-3.dat";
|
|
60
|
+
exports.ceremonyProcessMessagesWasmPath = "./zkeys/ProcessMessages_14-9-2-3/ProcessMessages_14-9-2-3_js/ProcessMessages_14-9-2-3.wasm";
|
|
61
|
+
exports.ceremonyProcessMessagesNonQvWasmPath = "./zkeys/ProcessMessagesNonQv_14-9-2-3/ProcessMessagesNonQv_14-9-2-3_js/ProcessMessagesNonQv_14-9-2-3.wasm";
|
|
62
|
+
exports.ceremonyTallyVotesWasmPath = "./zkeys/TallyVotes_14-5-3/TallyVotes_14-5-3_js/TallyVotes_14-5-3.wasm";
|
|
63
|
+
exports.ceremonyTallyVotesNonQvWasmPath = "./zkeys/TallyVotesNonQv_14-5-3/TallyVotesNonQv_14-5-3_js/TallyVotesNonQv_14-5-3.wasm";
|
|
64
|
+
exports.testProcessMessagesNonQvWitnessPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test_cpp/ProcessMessagesNonQv_10-20-2_test";
|
|
65
|
+
exports.testProcessMessagesNonQvWitnessDatPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test_cpp/ProcessMessagesNonQv_10-20-2_test.dat";
|
|
66
|
+
exports.testTallyVotesNonQvWitnessPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test_cpp/TallyVotesNonQv_10-1-2_test";
|
|
67
|
+
exports.testTallyVotesNonQvWitnessDatPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test_cpp/TallyVotesNonQv_10-1-2_test.dat";
|
|
68
|
+
exports.testProcessMessagesNonQvWasmPath = "./zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test_js/ProcessMessagesNonQv_10-20-2_test.wasm";
|
|
69
|
+
exports.testTallyVotesNonQvWasmPath = "./zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test_js/TallyVotesNonQv_10-1-2_test.wasm";
|
|
70
|
+
exports.pollJoiningZkey = path_1.default.resolve(__dirname, "../zkeys/PollJoining_10_test/PollJoining_10_test.0.zkey");
|
|
71
|
+
exports.pollJoinedZkey = path_1.default.resolve(__dirname, "../zkeys/PollJoined_10_test/PollJoined_10_test.0.zkey");
|
|
72
|
+
exports.pollWasm = path_1.default.resolve(__dirname, "../zkeys/PollJoining_10_test/PollJoining_10_test_js/PollJoining_10_test.wasm");
|
|
73
|
+
exports.pollWitgen = path_1.default.resolve(__dirname, "../zkeys/PollJoining_10_test/PollJoining_10_test_cpp/PollJoining_10_test");
|
|
74
|
+
exports.pollJoinedWasm = path_1.default.resolve(__dirname, "../zkeys/PollJoined_10_test/PollJoined_10_test_js/PollJoined_10_test.wasm");
|
|
75
|
+
exports.pollJoinedWitgen = path_1.default.resolve(__dirname, "../zkeys/PollJoined_10_test/PollJoined_10_test_cpp/PollJoined_10_test");
|
|
76
|
+
exports.rapidsnark = `${(0, os_1.homedir)()}/rapidsnark/build/prover`;
|
|
77
|
+
exports.processMessagesZkeyPathNonQv = path_1.default.resolve(__dirname, "../zkeys/ProcessMessagesNonQv_10-20-2_test/ProcessMessagesNonQv_10-20-2_test.0.zkey");
|
|
78
|
+
exports.tallyVotesZkeyPathNonQv = path_1.default.resolve(__dirname, "../zkeys/TallyVotesNonQv_10-1-2_test/TallyVotesNonQv_10-1-2_test.0.zkey");
|
|
79
|
+
exports.checkVerifyingKeysArgs = {
|
|
80
|
+
stateTreeDepth: exports.STATE_TREE_DEPTH,
|
|
81
|
+
intStateTreeDepth: exports.INT_STATE_TREE_DEPTH,
|
|
82
|
+
voteOptionTreeDepth: exports.VOTE_OPTION_TREE_DEPTH,
|
|
83
|
+
messageBatchSize: exports.MESSAGE_BATCH_SIZE,
|
|
84
|
+
pollJoiningZkeyPath: exports.pollJoiningTestZkeyPath,
|
|
85
|
+
pollJoinedZkeyPath: exports.pollJoinedTestZkeyPath,
|
|
86
|
+
processMessagesZkeyPath: exports.processMessageTestZkeyPath,
|
|
87
|
+
tallyVotesZkeyPath: exports.tallyVotesTestZkeyPath,
|
|
88
|
+
};
|
|
89
|
+
exports.timeTravelArgs = {
|
|
90
|
+
seconds: exports.pollDuration,
|
|
91
|
+
};
|
|
92
|
+
exports.mergeSignupsArgs = {
|
|
93
|
+
pollId: 0n,
|
|
94
|
+
};
|
|
95
|
+
exports.proveOnChainArgs = {
|
|
96
|
+
pollId: 0n,
|
|
97
|
+
tallyFile: exports.testTallyFilePath,
|
|
98
|
+
proofDir: exports.testProofsDirPath,
|
|
99
|
+
};
|
|
100
|
+
const verifyArgs = async (signer) => {
|
|
101
|
+
const tallyData = await (0, utils_1.readJSONFile)(exports.testTallyFilePath);
|
|
102
|
+
const pollParams = await (0, sdk_1.getPollParams)({ pollId: 0n, maciContractAddress: tallyData.maci, signer });
|
|
103
|
+
const tallyCommitments = (0, sdk_1.generateTallyCommitments)({
|
|
104
|
+
tallyData,
|
|
105
|
+
voteOptionTreeDepth: pollParams.voteOptionTreeDepth,
|
|
106
|
+
});
|
|
107
|
+
return {
|
|
108
|
+
pollId: 0n,
|
|
109
|
+
tallyData,
|
|
110
|
+
maciAddress: tallyData.maci,
|
|
111
|
+
tallyCommitments,
|
|
112
|
+
numVoteOptions: tallyData.results.tally.length,
|
|
113
|
+
voteOptionTreeDepth: pollParams.voteOptionTreeDepth,
|
|
114
|
+
signer,
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
exports.verifyArgs = verifyArgs;
|
|
118
|
+
const verifyingKeysArgs = async (signer, mode = sdk_1.EMode.QV) => {
|
|
119
|
+
const { pollJoiningVk, pollJoinedVk, processVk, tallyVk } = await (0, sdk_1.extractAllVks)({
|
|
120
|
+
pollJoiningZkeyPath: exports.pollJoiningTestZkeyPath,
|
|
121
|
+
pollJoinedZkeyPath: exports.pollJoinedTestZkeyPath,
|
|
122
|
+
processMessagesZkeyPath: mode === sdk_1.EMode.QV ? exports.processMessageTestZkeyPath : exports.processMessageTestNonQvZkeyPath,
|
|
123
|
+
tallyVotesZkeyPath: mode === sdk_1.EMode.QV ? exports.tallyVotesTestZkeyPath : exports.tallyVotesTestNonQvZkeyPath,
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
stateTreeDepth: exports.STATE_TREE_DEPTH,
|
|
127
|
+
pollStateTreeDepth: exports.POLL_STATE_TREE_DEPTH,
|
|
128
|
+
intStateTreeDepth: exports.INT_STATE_TREE_DEPTH,
|
|
129
|
+
voteOptionTreeDepth: exports.VOTE_OPTION_TREE_DEPTH,
|
|
130
|
+
messageBatchSize: exports.MESSAGE_BATCH_SIZE,
|
|
131
|
+
pollJoiningVk: pollJoiningVk,
|
|
132
|
+
pollJoinedVk: pollJoinedVk,
|
|
133
|
+
processMessagesVk: processVk,
|
|
134
|
+
tallyVotesVk: tallyVk,
|
|
135
|
+
mode,
|
|
136
|
+
signer,
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
exports.verifyingKeysArgs = verifyingKeysArgs;
|
|
140
|
+
exports.deployArgs = {
|
|
141
|
+
stateTreeDepth: exports.STATE_TREE_DEPTH,
|
|
142
|
+
};
|
|
143
|
+
exports.deployPollArgs = {
|
|
144
|
+
intStateTreeDepth: exports.INT_STATE_TREE_DEPTH,
|
|
145
|
+
messageBatchSize: exports.MESSAGE_BATCH_SIZE,
|
|
146
|
+
stateTreeDepth: exports.POLL_STATE_TREE_DEPTH,
|
|
147
|
+
voteOptionTreeDepth: exports.VOTE_OPTION_TREE_DEPTH,
|
|
148
|
+
coordinatorPubKey: exports.coordinatorKeypair.pubKey,
|
|
149
|
+
initialVoiceCredits: exports.DEFAULT_INITIAL_VOICE_CREDITS,
|
|
150
|
+
mode: sdk_1.EMode.QV,
|
|
151
|
+
voteOptions: exports.DEFAULT_VOTE_OPTIONS,
|
|
152
|
+
};
|
|
153
|
+
exports.invalidVote = {
|
|
154
|
+
voteWeight: 2n,
|
|
155
|
+
nonce: 0n,
|
|
156
|
+
maxVoteWeight: 1n,
|
|
157
|
+
voteCreditBalance: 1n,
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../ts/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.User = exports.TestingClass = void 0;
|
|
18
|
+
var testingClass_1 = require("./testingClass");
|
|
19
|
+
Object.defineProperty(exports, "TestingClass", { enumerable: true, get: function () { return testingClass_1.TestingClass; } });
|
|
20
|
+
var user_1 = require("./user");
|
|
21
|
+
Object.defineProperty(exports, "User", { enumerable: true, get: function () { return user_1.User; } });
|
|
22
|
+
__exportStar(require("./types"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,0CAAwB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ITestingClassPaths, IContractsData } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* A class that represents the testing class used in MACI tests
|
|
4
|
+
* It can be used to deploy and initialize the contracts
|
|
5
|
+
*/
|
|
6
|
+
export declare class TestingClass {
|
|
7
|
+
private static INSTANCE?;
|
|
8
|
+
/**
|
|
9
|
+
* Paths to the pollJoining zkey file
|
|
10
|
+
*/
|
|
11
|
+
private pollJoiningZkeyPath;
|
|
12
|
+
/**
|
|
13
|
+
* Paths to the pollJoined zkey file
|
|
14
|
+
*/
|
|
15
|
+
private pollJoinedZkeyPath;
|
|
16
|
+
/**
|
|
17
|
+
* Paths to the processMessages zkey file
|
|
18
|
+
*/
|
|
19
|
+
private processMessagesZkeyPath;
|
|
20
|
+
/**
|
|
21
|
+
* Paths to the tallyVotes zkey file
|
|
22
|
+
*/
|
|
23
|
+
private tallyVotesZkeyPath;
|
|
24
|
+
/**
|
|
25
|
+
* Paths to the poll wasm file
|
|
26
|
+
*/
|
|
27
|
+
private pollWasm;
|
|
28
|
+
/**
|
|
29
|
+
* Paths to the poll witgen file
|
|
30
|
+
*/
|
|
31
|
+
private pollWitgen;
|
|
32
|
+
/**
|
|
33
|
+
* Paths to the rapidsnark file
|
|
34
|
+
*/
|
|
35
|
+
private rapidsnark;
|
|
36
|
+
readonly contractsData: IContractsData;
|
|
37
|
+
constructor({ pollJoiningZkeyPath, pollJoinedZkeyPath, processMessagesZkeyPath, tallyVotesZkeyPath, pollWasm, pollWitgen, rapidsnark, }: ITestingClassPaths);
|
|
38
|
+
static getInstance(paths: ITestingClassPaths): Promise<TestingClass>;
|
|
39
|
+
static sleep(ms: number): Promise<void>;
|
|
40
|
+
static clean(): void;
|
|
41
|
+
private contractsInit;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=testingClass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testingClass.d.ts","sourceRoot":"","sources":["../../ts/testingClass.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAelE;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAe;IAEvC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAAS;IAExC;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,OAAO,CAAC,UAAU,CAAS;IAE3B;;OAEG;IACH,OAAO,CAAC,UAAU,CAAS;IAE3B,QAAQ,CAAC,aAAa,EAAE,cAAc,CAEpC;gBAEU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE,kBAAkB;WAUR,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;WAS7D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,MAAM,CAAC,KAAK,IAAI,IAAI;YAMN,aAAa;CA2H5B"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TestingClass = void 0;
|
|
7
|
+
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
8
|
+
const sdk_1 = require("@maci-protocol/sdk");
|
|
9
|
+
const hardhat_1 = __importDefault(require("hardhat"));
|
|
10
|
+
const constants_1 = require("./constants");
|
|
11
|
+
const user_1 = require("./user");
|
|
12
|
+
/**
|
|
13
|
+
* A class that represents the testing class used in MACI tests
|
|
14
|
+
* It can be used to deploy and initialize the contracts
|
|
15
|
+
*/
|
|
16
|
+
class TestingClass {
|
|
17
|
+
constructor({ pollJoiningZkeyPath, pollJoinedZkeyPath, processMessagesZkeyPath, tallyVotesZkeyPath, pollWasm, pollWitgen, rapidsnark, }) {
|
|
18
|
+
this.contractsData = {
|
|
19
|
+
initialized: false,
|
|
20
|
+
};
|
|
21
|
+
this.pollJoiningZkeyPath = pollJoiningZkeyPath;
|
|
22
|
+
this.pollJoinedZkeyPath = pollJoinedZkeyPath;
|
|
23
|
+
this.processMessagesZkeyPath = processMessagesZkeyPath;
|
|
24
|
+
this.tallyVotesZkeyPath = tallyVotesZkeyPath;
|
|
25
|
+
this.pollWasm = pollWasm;
|
|
26
|
+
this.pollWitgen = pollWitgen;
|
|
27
|
+
this.rapidsnark = rapidsnark;
|
|
28
|
+
}
|
|
29
|
+
static async getInstance(paths) {
|
|
30
|
+
if (!TestingClass.INSTANCE) {
|
|
31
|
+
TestingClass.INSTANCE = new TestingClass(paths);
|
|
32
|
+
await TestingClass.INSTANCE.contractsInit();
|
|
33
|
+
}
|
|
34
|
+
return TestingClass.INSTANCE;
|
|
35
|
+
}
|
|
36
|
+
static async sleep(ms) {
|
|
37
|
+
return new Promise((resolve) => {
|
|
38
|
+
setTimeout(resolve, ms);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
static clean() {
|
|
42
|
+
const contractStorage = sdk_1.ContractStorage.getInstance();
|
|
43
|
+
contractStorage.cleanup("hardhat");
|
|
44
|
+
contractStorage.cleanup("localhost");
|
|
45
|
+
}
|
|
46
|
+
async contractsInit() {
|
|
47
|
+
if (this.contractsData.initialized) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const [signer] = await hardhat_1.default.ethers.getSigners();
|
|
51
|
+
const coordinatorKeypair = new domainobjs_1.Keypair();
|
|
52
|
+
const user = new domainobjs_1.Keypair();
|
|
53
|
+
const { pollJoiningVk, pollJoinedVk, processVk, tallyVk } = await (0, sdk_1.extractAllVks)({
|
|
54
|
+
pollJoiningZkeyPath: this.pollJoiningZkeyPath,
|
|
55
|
+
pollJoinedZkeyPath: this.pollJoinedZkeyPath,
|
|
56
|
+
processMessagesZkeyPath: this.processMessagesZkeyPath,
|
|
57
|
+
tallyVotesZkeyPath: this.tallyVotesZkeyPath,
|
|
58
|
+
});
|
|
59
|
+
const vkRegistry = await (0, sdk_1.deployVkRegistryContract)({ signer });
|
|
60
|
+
await (0, sdk_1.setVerifyingKeys)({
|
|
61
|
+
vkRegistryAddress: vkRegistry,
|
|
62
|
+
stateTreeDepth: constants_1.STATE_TREE_DEPTH,
|
|
63
|
+
intStateTreeDepth: constants_1.INT_STATE_TREE_DEPTH,
|
|
64
|
+
voteOptionTreeDepth: constants_1.VOTE_OPTION_TREE_DEPTH,
|
|
65
|
+
messageBatchSize: constants_1.MESSAGE_BATCH_SIZE,
|
|
66
|
+
pollStateTreeDepth: constants_1.POLL_STATE_TREE_DEPTH,
|
|
67
|
+
pollJoiningVk: pollJoiningVk,
|
|
68
|
+
pollJoinedVk: pollJoinedVk,
|
|
69
|
+
processMessagesVk: processVk,
|
|
70
|
+
tallyVotesVk: tallyVk,
|
|
71
|
+
mode: sdk_1.EMode.NON_QV,
|
|
72
|
+
signer,
|
|
73
|
+
});
|
|
74
|
+
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
75
|
+
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
76
|
+
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
|
|
77
|
+
policy: signupPolicyFactory,
|
|
78
|
+
checker: signupCheckerFactory,
|
|
79
|
+
}, signer, true);
|
|
80
|
+
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
81
|
+
const maciAddresses = await (0, sdk_1.deployMaci)({
|
|
82
|
+
stateTreeDepth: 10,
|
|
83
|
+
signer,
|
|
84
|
+
signupPolicyAddress: signupPolicyContractAddress,
|
|
85
|
+
});
|
|
86
|
+
const [initialVoiceCreditProxy] = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, signer, undefined, true);
|
|
87
|
+
const initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
88
|
+
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
89
|
+
const verifierContractAddress = await verifier.getAddress();
|
|
90
|
+
const startDate = Math.floor(Date.now() / 1000) + 30;
|
|
91
|
+
const { pollContractAddress } = await (0, sdk_1.deployPoll)({
|
|
92
|
+
pollStartTimestamp: startDate,
|
|
93
|
+
pollEndTimestamp: startDate + 130,
|
|
94
|
+
intStateTreeDepth: constants_1.INT_STATE_TREE_DEPTH,
|
|
95
|
+
messageBatchSize: constants_1.MESSAGE_BATCH_SIZE,
|
|
96
|
+
stateTreeDepth: constants_1.POLL_STATE_TREE_DEPTH,
|
|
97
|
+
voteOptionTreeDepth: constants_1.VOTE_OPTION_TREE_DEPTH,
|
|
98
|
+
coordinatorPubKey: coordinatorKeypair.pubKey,
|
|
99
|
+
mode: sdk_1.EMode.NON_QV,
|
|
100
|
+
relayers: [await signer.getAddress()],
|
|
101
|
+
signer,
|
|
102
|
+
verifierContractAddress,
|
|
103
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
104
|
+
policyContractAddress: pollPolicyContractAddress,
|
|
105
|
+
initialVoiceCreditProxyContractAddress,
|
|
106
|
+
voteOptions: constants_1.DEFAULT_VOTE_OPTIONS,
|
|
107
|
+
vkRegistryContractAddress: vkRegistry,
|
|
108
|
+
});
|
|
109
|
+
await (0, sdk_1.signup)({
|
|
110
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
111
|
+
maciPubKey: user.pubKey.serialize(),
|
|
112
|
+
sgData: constants_1.DEFAULT_SG_DATA,
|
|
113
|
+
signer,
|
|
114
|
+
});
|
|
115
|
+
const { pollStateIndex, voiceCredits } = await (0, sdk_1.joinPoll)({
|
|
116
|
+
maciAddress: maciAddresses.maciContractAddress,
|
|
117
|
+
pollId: 0n,
|
|
118
|
+
privateKey: user.privKey.serialize(),
|
|
119
|
+
stateIndex: 1n,
|
|
120
|
+
pollJoiningZkey: this.pollJoiningZkeyPath,
|
|
121
|
+
pollWasm: this.pollWasm,
|
|
122
|
+
pollWitgen: this.pollWitgen,
|
|
123
|
+
rapidsnark: this.rapidsnark,
|
|
124
|
+
signer,
|
|
125
|
+
useWasm: true,
|
|
126
|
+
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
127
|
+
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
128
|
+
});
|
|
129
|
+
const maciState = await (0, sdk_1.genMaciStateFromContract)({
|
|
130
|
+
provider: signer.provider,
|
|
131
|
+
address: maciAddresses.maciContractAddress,
|
|
132
|
+
coordinatorKeypair,
|
|
133
|
+
pollId: 0n,
|
|
134
|
+
});
|
|
135
|
+
this.contractsData.maciState = maciState;
|
|
136
|
+
this.contractsData.maciContractAddress = maciAddresses.maciContractAddress;
|
|
137
|
+
this.contractsData.users = [];
|
|
138
|
+
this.contractsData.users.push(new user_1.User(user, [], BigInt(voiceCredits), 0n, BigInt(pollStateIndex)));
|
|
139
|
+
this.contractsData.initialized = true;
|
|
140
|
+
this.contractsData.polls?.push(pollContractAddress);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.TestingClass = TestingClass;
|
|
144
|
+
//# sourceMappingURL=testingClass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testingClass.js","sourceRoot":"","sources":["../../ts/testingClass.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAoD;AACpD,4CAc4B;AAC5B,sDAA8B;AAI9B,2CAUqB;AACrB,iCAA8B;AAE9B;;;GAGG;AACH,MAAa,YAAY;IA0CvB,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,GACS;QAZZ,kBAAa,GAAmB;YACvC,WAAW,EAAE,KAAK;SACnB,CAAC;QAWA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAyB;QAChD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAU;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK;QACV,MAAM,eAAe,GAAG,qBAAe,CAAC,WAAW,EAAE,CAAC;QACtD,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,iBAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,kBAAkB,GAAG,IAAI,oBAAO,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,oBAAO,EAAE,CAAC;QAE3B,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,mBAAa,EAAC;YAC9E,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAA,8BAAwB,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAA,sBAAgB,EAAC;YACrB,iBAAiB,EAAE,UAAU;YAC7B,cAAc,EAAE,4BAAgB;YAChC,iBAAiB,EAAE,gCAAoB;YACvC,mBAAmB,EAAE,kCAAsB;YAC3C,gBAAgB,EAAE,8BAAkB;YACpC,kBAAkB,EAAE,iCAAqB;YACzC,aAAa,EAAE,aAAc;YAC7B,YAAY,EAAE,YAAa;YAC3B,iBAAiB,EAAE,SAAU;YAC7B,YAAY,EAAE,OAAQ;YACtB,IAAI,EAAE,WAAK,CAAC,MAAM;YAClB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,EAAE,AAAD,EAAG,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACpG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAEpE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAA,kCAA4B,EACrD;YACE,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,oBAAoB;SAC9B,EACD,MAAM,EACN,IAAI,CACL,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAEhE,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC;YACrC,cAAc,EAAE,EAAE;YAClB,MAAM;YACN,mBAAmB,EAAE,2BAA2B;SACjD,CAAC,CAAC;QAEH,MAAM,CAAC,uBAAuB,CAAC,GAAG,MAAM,IAAA,2CAAqC,EAC3E,EAAE,MAAM,EAAE,yCAA6B,EAAE,EACzC,MAAM,EACN,SAAS,EACT,IAAI,CACL,CAAC;QACF,MAAM,sCAAsC,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,CAAC;QAE1F,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAc,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAA,gBAAU,EAAC;YAC/C,kBAAkB,EAAE,SAAS;YAC7B,gBAAgB,EAAE,SAAS,GAAG,GAAG;YACjC,iBAAiB,EAAE,gCAAoB;YACvC,gBAAgB,EAAE,8BAAkB;YACpC,cAAc,EAAE,iCAAqB;YACrC,mBAAmB,EAAE,kCAAsB;YAC3C,iBAAiB,EAAE,kBAAkB,CAAC,MAAM;YAC5C,IAAI,EAAE,WAAK,CAAC,MAAM;YAClB,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM;YACN,uBAAuB;YACvB,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,qBAAqB,EAAE,yBAAyB;YAChD,sCAAsC;YACtC,WAAW,EAAE,gCAAoB;YACjC,yBAAyB,EAAE,UAAU;SACtC,CAAC,CAAC;QAEH,MAAM,IAAA,YAAM,EAAC;YACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACnC,MAAM,EAAE,2BAAe;YACvB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,cAAQ,EAAC;YACtD,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACpC,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,IAAI,CAAC,mBAAmB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM;YACN,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,2BAAe;YAC1B,WAAW,EAAE,6BAAiB;SAC/B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAwB,EAAC;YAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,aAAa,CAAC,mBAAmB;YAC1C,kBAAkB;YAClB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;QAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAI,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;CACF;AA5MD,oCA4MC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { genMaciStateFromContract } from "@maci-protocol/sdk";
|
|
2
|
+
import type { User } from "./user";
|
|
3
|
+
import type { MACI, Verifier, VkRegistry, FreeForAllPolicy, ConstantInitialVoiceCreditProxy, IIpfsMessage } from "@maci-protocol/sdk";
|
|
4
|
+
import type { Signer } from "ethers";
|
|
5
|
+
/**
|
|
6
|
+
* A util interface that represents a vote object
|
|
7
|
+
*/
|
|
8
|
+
export interface IVote {
|
|
9
|
+
voteOptionIndex: bigint;
|
|
10
|
+
voteWeight: bigint;
|
|
11
|
+
nonce: bigint;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A util interface that represents a briber object
|
|
15
|
+
*/
|
|
16
|
+
export interface IBriber {
|
|
17
|
+
voteOptionIndices: bigint[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A util interface that represents a change user keys object
|
|
21
|
+
*/
|
|
22
|
+
export interface IChangeUsersKeys {
|
|
23
|
+
voteOptionIndex: bigint;
|
|
24
|
+
voteWeight: bigint;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A util interface that represents a test suite
|
|
28
|
+
*/
|
|
29
|
+
export interface ITestSuite {
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
numVotesPerUser: number;
|
|
33
|
+
numUsers: number;
|
|
34
|
+
expectedTally: number[];
|
|
35
|
+
expectedSpentVoiceCredits: number[];
|
|
36
|
+
expectedTotalSpentVoiceCredits: number;
|
|
37
|
+
bribers?: IBriber[];
|
|
38
|
+
votes?: IVote[][];
|
|
39
|
+
changeUsersKeys?: IChangeUsersKeys[][];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A util interface that represents deployed test contracts
|
|
43
|
+
*/
|
|
44
|
+
export interface IDeployedTestContracts {
|
|
45
|
+
maci: MACI;
|
|
46
|
+
verifier: Verifier;
|
|
47
|
+
vkRegistry: VkRegistry;
|
|
48
|
+
policy: FreeForAllPolicy;
|
|
49
|
+
initialVoiceCreditProxy: ConstantInitialVoiceCreditProxy;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A util interface that represents testing data from the TestingClass object
|
|
53
|
+
*/
|
|
54
|
+
export interface IContractsData {
|
|
55
|
+
initialized: boolean;
|
|
56
|
+
users?: User[];
|
|
57
|
+
maciContractAddress?: string;
|
|
58
|
+
maciState?: Awaited<ReturnType<typeof genMaciStateFromContract>>;
|
|
59
|
+
polls?: string[];
|
|
60
|
+
}
|
|
61
|
+
export interface IRelayTestMessagesArgs {
|
|
62
|
+
messages: IIpfsMessage[];
|
|
63
|
+
maciAddress: string;
|
|
64
|
+
signer: Signer;
|
|
65
|
+
pollId: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Interface for the paths to the zkey files and the wasm and witgen files
|
|
69
|
+
*/
|
|
70
|
+
export interface ITestingClassPaths {
|
|
71
|
+
/**
|
|
72
|
+
* Path to the pollJoining zkey file
|
|
73
|
+
*/
|
|
74
|
+
pollJoiningZkeyPath: string;
|
|
75
|
+
/**
|
|
76
|
+
* Path to the pollJoined zkey file
|
|
77
|
+
*/
|
|
78
|
+
pollJoinedZkeyPath: string;
|
|
79
|
+
/**
|
|
80
|
+
* Path to the processMessages zkey file
|
|
81
|
+
*/
|
|
82
|
+
processMessagesZkeyPath: string;
|
|
83
|
+
/**
|
|
84
|
+
* Path to the tallyVotes zkey file
|
|
85
|
+
*/
|
|
86
|
+
tallyVotesZkeyPath: string;
|
|
87
|
+
/**
|
|
88
|
+
* Path to the poll wasm file
|
|
89
|
+
*/
|
|
90
|
+
pollWasm: string;
|
|
91
|
+
/**
|
|
92
|
+
* Path to the poll witgen file
|
|
93
|
+
*/
|
|
94
|
+
pollWitgen: string;
|
|
95
|
+
/**
|
|
96
|
+
* Path to the rapidsnark file
|
|
97
|
+
*/
|
|
98
|
+
rapidsnark: string;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,8BAA8B,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,uBAAuB,EAAE,+BAA+B,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IACjE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":""}
|