@maci-protocol/testing 0.0.0-ci.6c23c43 → 0.0.0-ci.6c49254
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -2
- package/build/ts/__tests__/e2e.full.test.d.ts +2 -0
- package/build/ts/__tests__/e2e.full.test.d.ts.map +1 -0
- package/build/ts/__tests__/e2e.full.test.js +845 -0
- package/build/ts/__tests__/e2e.full.test.js.map +1 -0
- package/build/ts/__tests__/e2e.nonQv.test.js +412 -25
- package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
- package/build/ts/__tests__/e2e.test.js +110 -120
- package/build/ts/__tests__/e2e.test.js.map +1 -1
- package/build/ts/__tests__/integration.test.js +42 -41
- package/build/ts/__tests__/integration.test.js.map +1 -1
- package/build/ts/__tests__/keyChange.test.js +41 -43
- package/build/ts/__tests__/keyChange.test.js.map +1 -1
- package/build/ts/__tests__/maciKeys.test.js +39 -39
- package/build/ts/__tests__/maciKeys.test.js.map +1 -1
- package/build/ts/__tests__/stress/stress.full.test.d.ts +2 -0
- package/build/ts/__tests__/stress/stress.full.test.d.ts.map +1 -0
- package/build/ts/__tests__/stress/stress.full.test.js +195 -0
- package/build/ts/__tests__/stress/stress.full.test.js.map +1 -0
- package/build/ts/__tests__/unit/joinPoll.test.js +64 -26
- package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
- package/build/ts/__tests__/unit/poll.test.js +7 -6
- package/build/ts/__tests__/unit/poll.test.js.map +1 -1
- package/build/ts/__tests__/unit/publish.test.js +7 -6
- package/build/ts/__tests__/unit/publish.test.js.map +1 -1
- package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts +2 -0
- package/build/ts/__tests__/unit/setVerifyingKeys.test.d.ts.map +1 -0
- package/build/ts/__tests__/unit/setVerifyingKeys.test.js +52 -0
- package/build/ts/__tests__/unit/setVerifyingKeys.test.js.map +1 -0
- package/build/ts/__tests__/unit/signup.test.js +4 -4
- package/build/ts/__tests__/unit/signup.test.js.map +1 -1
- package/build/ts/__tests__/unit/utils.test.js +12 -12
- package/build/ts/__tests__/unit/utils.test.js.map +1 -1
- package/build/ts/constants.d.ts +51 -53
- package/build/ts/constants.d.ts.map +1 -1
- package/build/ts/constants.js +110 -71
- package/build/ts/constants.js.map +1 -1
- package/build/ts/testingClass.d.ts +7 -7
- package/build/ts/testingClass.d.ts.map +1 -1
- package/build/ts/testingClass.js +27 -23
- package/build/ts/testingClass.js.map +1 -1
- package/build/ts/types.d.ts +10 -11
- package/build/ts/types.d.ts.map +1 -1
- package/build/ts/utils.d.ts +3 -3
- package/build/ts/utils.d.ts.map +1 -1
- package/build/ts/utils.js +12 -12
- package/build/ts/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -18
package/build/ts/testingClass.js
CHANGED
|
@@ -9,21 +9,22 @@ const sdk_1 = require("@maci-protocol/sdk");
|
|
|
9
9
|
const hardhat_1 = __importDefault(require("hardhat"));
|
|
10
10
|
const constants_1 = require("./constants");
|
|
11
11
|
const user_1 = require("./user");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
12
13
|
/**
|
|
13
14
|
* A class that represents the testing class used in MACI tests
|
|
14
15
|
* It can be used to deploy and initialize the contracts
|
|
15
16
|
*/
|
|
16
17
|
class TestingClass {
|
|
17
|
-
constructor({ pollJoiningZkeyPath, pollJoinedZkeyPath,
|
|
18
|
+
constructor({ pollJoiningZkeyPath, pollJoinedZkeyPath, messageProcessorZkeyPath, voteTallyZkeyPath, pollWasm, pollWitnessGenerator, rapidsnark, }) {
|
|
18
19
|
this.contractsData = {
|
|
19
20
|
initialized: false,
|
|
20
21
|
};
|
|
21
22
|
this.pollJoiningZkeyPath = pollJoiningZkeyPath;
|
|
22
23
|
this.pollJoinedZkeyPath = pollJoinedZkeyPath;
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
24
|
+
this.messageProcessorZkeyPath = messageProcessorZkeyPath;
|
|
25
|
+
this.voteTallyZkeyPath = voteTallyZkeyPath;
|
|
25
26
|
this.pollWasm = pollWasm;
|
|
26
|
-
this.
|
|
27
|
+
this.pollWitnessGenerator = pollWitnessGenerator;
|
|
27
28
|
this.rapidsnark = rapidsnark;
|
|
28
29
|
}
|
|
29
30
|
static async getInstance(paths) {
|
|
@@ -47,28 +48,28 @@ class TestingClass {
|
|
|
47
48
|
if (this.contractsData.initialized) {
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
|
-
const [signer] = await hardhat_1.default.ethers.getSigners();
|
|
51
|
+
const [signer] = (await hardhat_1.default.ethers.getSigners());
|
|
51
52
|
const coordinatorKeypair = new domainobjs_1.Keypair();
|
|
52
53
|
const user = new domainobjs_1.Keypair();
|
|
53
|
-
const {
|
|
54
|
+
const { pollJoiningVerifyingKey, pollJoinedVerifyingKey, processVerifyingKey, tallyVerifyingKey } = await (0, sdk_1.extractAllVerifyingKeys)({
|
|
54
55
|
pollJoiningZkeyPath: this.pollJoiningZkeyPath,
|
|
55
56
|
pollJoinedZkeyPath: this.pollJoinedZkeyPath,
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
messageProcessorZkeyPath: this.messageProcessorZkeyPath,
|
|
58
|
+
voteTallyZkeyPath: this.voteTallyZkeyPath,
|
|
58
59
|
});
|
|
59
|
-
const
|
|
60
|
+
const verifyingKeysRegistry = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
60
61
|
await (0, sdk_1.setVerifyingKeys)({
|
|
61
|
-
|
|
62
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistry,
|
|
62
63
|
stateTreeDepth: constants_1.STATE_TREE_DEPTH,
|
|
63
|
-
|
|
64
|
+
tallyProcessingStateTreeDepth: constants_1.TALLY_PROCESSING_STATE_TREE_DEPTH,
|
|
64
65
|
voteOptionTreeDepth: constants_1.VOTE_OPTION_TREE_DEPTH,
|
|
65
66
|
messageBatchSize: constants_1.MESSAGE_BATCH_SIZE,
|
|
66
67
|
pollStateTreeDepth: constants_1.POLL_STATE_TREE_DEPTH,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
pollJoiningVerifyingKey: pollJoiningVerifyingKey,
|
|
69
|
+
pollJoinedVerifyingKey: pollJoinedVerifyingKey,
|
|
70
|
+
processMessagesVerifyingKeys: [processVerifyingKey],
|
|
71
|
+
tallyVotesVerifyingKeys: [tallyVerifyingKey],
|
|
72
|
+
modes: [sdk_1.EMode.NON_QV],
|
|
72
73
|
signer,
|
|
73
74
|
});
|
|
74
75
|
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
@@ -83,7 +84,9 @@ class TestingClass {
|
|
|
83
84
|
signer,
|
|
84
85
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
85
86
|
});
|
|
86
|
-
const
|
|
87
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
88
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
89
|
+
const initialVoiceCreditProxyFactoryAddress = await constantInitialVoiceCreditProxyFactory.getAddress();
|
|
87
90
|
const initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
88
91
|
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
89
92
|
const verifierContractAddress = await verifier.getAddress();
|
|
@@ -91,7 +94,7 @@ class TestingClass {
|
|
|
91
94
|
const { pollContractAddress } = await (0, sdk_1.deployPoll)({
|
|
92
95
|
pollStartTimestamp: startDate,
|
|
93
96
|
pollEndTimestamp: startDate + 130,
|
|
94
|
-
|
|
97
|
+
tallyProcessingStateTreeDepth: constants_1.TALLY_PROCESSING_STATE_TREE_DEPTH,
|
|
95
98
|
messageBatchSize: constants_1.MESSAGE_BATCH_SIZE,
|
|
96
99
|
stateTreeDepth: constants_1.POLL_STATE_TREE_DEPTH,
|
|
97
100
|
voteOptionTreeDepth: constants_1.VOTE_OPTION_TREE_DEPTH,
|
|
@@ -102,9 +105,10 @@ class TestingClass {
|
|
|
102
105
|
verifierContractAddress,
|
|
103
106
|
maciAddress: maciAddresses.maciContractAddress,
|
|
104
107
|
policyContractAddress: pollPolicyContractAddress,
|
|
108
|
+
initialVoiceCreditProxyFactoryAddress,
|
|
105
109
|
initialVoiceCreditProxyContractAddress,
|
|
106
110
|
voteOptions: constants_1.DEFAULT_VOTE_OPTIONS,
|
|
107
|
-
|
|
111
|
+
verifyingKeysRegistryContractAddress: verifyingKeysRegistry,
|
|
108
112
|
});
|
|
109
113
|
await (0, sdk_1.signup)({
|
|
110
114
|
maciAddress: maciAddresses.maciContractAddress,
|
|
@@ -112,21 +116,21 @@ class TestingClass {
|
|
|
112
116
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
113
117
|
signer,
|
|
114
118
|
});
|
|
119
|
+
const useWasm = (0, utils_1.isArm)();
|
|
115
120
|
const { pollStateIndex, voiceCredits } = await (0, sdk_1.joinPoll)({
|
|
116
121
|
maciAddress: maciAddresses.maciContractAddress,
|
|
117
122
|
pollId: 0n,
|
|
118
123
|
privateKey: user.privateKey.serialize(),
|
|
119
|
-
stateIndex: 1n,
|
|
120
124
|
pollJoiningZkey: this.pollJoiningZkeyPath,
|
|
121
125
|
pollWasm: this.pollWasm,
|
|
122
|
-
|
|
126
|
+
pollWitnessGenerator: this.pollWitnessGenerator,
|
|
123
127
|
rapidsnark: this.rapidsnark,
|
|
124
128
|
signer,
|
|
125
|
-
useWasm
|
|
129
|
+
useWasm,
|
|
126
130
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
127
131
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
128
132
|
});
|
|
129
|
-
const maciState = await (0, sdk_1.
|
|
133
|
+
const maciState = await (0, sdk_1.generateMaciStateFromContract)({
|
|
130
134
|
provider: signer.provider,
|
|
131
135
|
address: maciAddresses.maciContractAddress,
|
|
132
136
|
coordinatorKeypair,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testingClass.js","sourceRoot":"","sources":["../../ts/testingClass.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"testingClass.js","sourceRoot":"","sources":["../../ts/testingClass.ts"],"names":[],"mappings":"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"}
|
package/build/ts/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type generateMaciStateFromContract, type MACI, type Verifier, type VerifyingKeysRegistry, type FreeForAllPolicy, type ConstantInitialVoiceCreditProxy, type IIpfsMessage } from "@maci-protocol/sdk";
|
|
2
2
|
import type { User } from "./user";
|
|
3
|
-
import type { MACI, Verifier, VkRegistry, FreeForAllPolicy, ConstantInitialVoiceCreditProxy, IIpfsMessage } from "@maci-protocol/sdk";
|
|
4
3
|
import type { Signer } from "ethers";
|
|
5
4
|
/**
|
|
6
5
|
* A util interface that represents a vote object
|
|
@@ -44,7 +43,7 @@ export interface ITestSuite {
|
|
|
44
43
|
export interface IDeployedTestContracts {
|
|
45
44
|
maci: MACI;
|
|
46
45
|
verifier: Verifier;
|
|
47
|
-
|
|
46
|
+
verifyingKeysRegistry: VerifyingKeysRegistry;
|
|
48
47
|
policy: FreeForAllPolicy;
|
|
49
48
|
initialVoiceCreditProxy: ConstantInitialVoiceCreditProxy;
|
|
50
49
|
}
|
|
@@ -55,7 +54,7 @@ export interface IContractsData {
|
|
|
55
54
|
initialized: boolean;
|
|
56
55
|
users?: User[];
|
|
57
56
|
maciContractAddress?: string;
|
|
58
|
-
maciState?: Awaited<ReturnType<typeof
|
|
57
|
+
maciState?: Awaited<ReturnType<typeof generateMaciStateFromContract>>;
|
|
59
58
|
polls?: string[];
|
|
60
59
|
}
|
|
61
60
|
export interface IRelayTestMessagesArgs {
|
|
@@ -65,7 +64,7 @@ export interface IRelayTestMessagesArgs {
|
|
|
65
64
|
pollId: number;
|
|
66
65
|
}
|
|
67
66
|
/**
|
|
68
|
-
* Interface for the paths to the zkey files and the wasm and
|
|
67
|
+
* Interface for the paths to the zkey files and the wasm and witnessGenerator files
|
|
69
68
|
*/
|
|
70
69
|
export interface ITestingClassPaths {
|
|
71
70
|
/**
|
|
@@ -77,21 +76,21 @@ export interface ITestingClassPaths {
|
|
|
77
76
|
*/
|
|
78
77
|
pollJoinedZkeyPath: string;
|
|
79
78
|
/**
|
|
80
|
-
* Path to the
|
|
79
|
+
* Path to the MessageProcessor zkey file
|
|
81
80
|
*/
|
|
82
|
-
|
|
81
|
+
messageProcessorZkeyPath: string;
|
|
83
82
|
/**
|
|
84
|
-
* Path to the
|
|
83
|
+
* Path to the VoteTally zkey file
|
|
85
84
|
*/
|
|
86
|
-
|
|
85
|
+
voteTallyZkeyPath: string;
|
|
87
86
|
/**
|
|
88
87
|
* Path to the poll wasm file
|
|
89
88
|
*/
|
|
90
89
|
pollWasm: string;
|
|
91
90
|
/**
|
|
92
|
-
* Path to the poll
|
|
91
|
+
* Path to the poll witnessGenerator file
|
|
93
92
|
*/
|
|
94
|
-
|
|
93
|
+
pollWitnessGenerator: string;
|
|
95
94
|
/**
|
|
96
95
|
* Path to the rapidsnark file
|
|
97
96
|
*/
|
package/build/ts/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,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,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,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,6BAA6B,CAAC,CAAC,CAAC;IACtE,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,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
package/build/ts/utils.d.ts
CHANGED
|
@@ -23,16 +23,16 @@ export declare const readJSONFile: <T = Record<string, Record<string, string> |
|
|
|
23
23
|
* @param presetVotes - the preset votes if any
|
|
24
24
|
* @returns an array of UserCommand objects
|
|
25
25
|
*/
|
|
26
|
-
export declare const
|
|
26
|
+
export declare const generateTestUserCommands: (numUsers: number, numVotesPerUser: number, bribers?: IBriber[], presetVotes?: IVote[][]) => User[];
|
|
27
27
|
/**
|
|
28
28
|
* Assertion function to validate that the tally results are as expected
|
|
29
29
|
* @param maxMessages - the max number of messages
|
|
30
30
|
* @param expectedTally - the expected tally values
|
|
31
|
-
* @param
|
|
31
|
+
* @param expectedPerVoteOptionSpentVoiceCredits - the expected per vote option spent voice credits
|
|
32
32
|
* @param expectedTotalSpentVoiceCredits - the expected total spent voice credits
|
|
33
33
|
* @param tallyFile the tally file itself as an object
|
|
34
34
|
*/
|
|
35
|
-
export declare const expectTally: (maxMessages: number, expectedTally: number[],
|
|
35
|
+
export declare const expectTally: (maxMessages: number, expectedTally: number[], expectedPerVoteOptionSpentVoiceCredits: number[], expectedTotalSpentVoiceCredits: number, tallyFile: ITallyData) => void;
|
|
36
36
|
/**
|
|
37
37
|
* Stop the current thread for x seconds
|
|
38
38
|
* @param ms - the number of ms to sleep for
|
package/build/ts/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../ts/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQrD,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW;;;;;;CAMvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,EACvF,UAAU,MAAM,KACf,OAAO,CAAC,CAAC,CAQX,CAAC;AAiDF;;;;;;;GAOG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../ts/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQrD,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW;;;;;;CAMvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,EACvF,UAAU,MAAM,KACf,OAAO,CAAC,CAAC,CAQX,CAAC;AAiDF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,iBAAiB,MAAM,EACvB,UAAU,OAAO,EAAE,EACnB,cAAc,KAAK,EAAE,EAAE,KACtB,IAAI,EAsBN,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,aAAa,MAAM,EACnB,eAAe,MAAM,EAAE,EACvB,wCAAwC,MAAM,EAAE,EAChD,gCAAgC,MAAM,EACtC,WAAW,UAAU,KACpB,IAmBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAGjD,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,KAAK,QAAO,OAAiC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAU,MAAM,MAAM,EAAE,MAAM,OAAO,KAAG,OAAO,CAAC,IAAI,CAM/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAU,oBAAiB,KAAG,OAAO,CAAC,IAAI,CAY3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,MAAM,EAAE,CACsD,CAAC;AAEnH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,4CAKrC,sBAAsB,KAAG,OAAO,CAAC,IAAI,CAavC,CAAC"}
|
package/build/ts/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.relayTestMessages = exports.getBackupFilenames = exports.clean = exports.writeBackupFile = exports.isArm = exports.sleep = exports.expectTally = exports.
|
|
6
|
+
exports.relayTestMessages = exports.getBackupFilenames = exports.clean = exports.writeBackupFile = exports.isArm = exports.sleep = exports.expectTally = exports.generateTestUserCommands = exports.readJSONFile = exports.defaultVote = exports.backupFolder = void 0;
|
|
7
7
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
8
8
|
const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
9
9
|
const sdk_1 = require("@maci-protocol/sdk");
|
|
@@ -76,7 +76,7 @@ const getTestVoteValues = (userIndex, voteIndex, numVotesPerUser, votes, bribers
|
|
|
76
76
|
* @param presetVotes - the preset votes if any
|
|
77
77
|
* @returns an array of UserCommand objects
|
|
78
78
|
*/
|
|
79
|
-
const
|
|
79
|
+
const generateTestUserCommands = (numUsers, numVotesPerUser, bribers, presetVotes) => {
|
|
80
80
|
const usersCommands = [];
|
|
81
81
|
for (let i = 0; i < numUsers; i += 1) {
|
|
82
82
|
const userKeypair = new domainobjs_1.Keypair();
|
|
@@ -95,30 +95,30 @@ const genTestUserCommands = (numUsers, numVotesPerUser, bribers, presetVotes) =>
|
|
|
95
95
|
}
|
|
96
96
|
return usersCommands;
|
|
97
97
|
};
|
|
98
|
-
exports.
|
|
98
|
+
exports.generateTestUserCommands = generateTestUserCommands;
|
|
99
99
|
/**
|
|
100
100
|
* Assertion function to validate that the tally results are as expected
|
|
101
101
|
* @param maxMessages - the max number of messages
|
|
102
102
|
* @param expectedTally - the expected tally values
|
|
103
|
-
* @param
|
|
103
|
+
* @param expectedPerVoteOptionSpentVoiceCredits - the expected per vote option spent voice credits
|
|
104
104
|
* @param expectedTotalSpentVoiceCredits - the expected total spent voice credits
|
|
105
105
|
* @param tallyFile the tally file itself as an object
|
|
106
106
|
*/
|
|
107
|
-
const expectTally = (maxMessages, expectedTally,
|
|
108
|
-
const
|
|
109
|
-
const
|
|
107
|
+
const expectTally = (maxMessages, expectedTally, expectedPerVoteOptionSpentVoiceCredits, expectedTotalSpentVoiceCredits, tallyFile) => {
|
|
108
|
+
const tally = Array(maxMessages).fill("0");
|
|
109
|
+
const perVOSpentVoiceCredits = Array(maxMessages).fill("0");
|
|
110
110
|
expectedTally.forEach((voteWeight, voteOption) => {
|
|
111
111
|
if (voteWeight !== 0) {
|
|
112
|
-
|
|
112
|
+
tally[voteOption] = voteWeight.toString();
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
-
|
|
115
|
+
expectedPerVoteOptionSpentVoiceCredits.forEach((spentCredit, index) => {
|
|
116
116
|
if (spentCredit !== 0) {
|
|
117
|
-
|
|
117
|
+
perVOSpentVoiceCredits[index] = spentCredit.toString();
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
|
-
(0, chai_1.expect)(tallyFile.results.tally).to.deep.equal(
|
|
121
|
-
(0, chai_1.expect)(tallyFile.
|
|
120
|
+
(0, chai_1.expect)(tallyFile.results.tally).to.deep.equal(tally);
|
|
121
|
+
(0, chai_1.expect)(tallyFile.perVoteOptionSpentVoiceCredits?.tally).to.deep.equal(perVOSpentVoiceCredits);
|
|
122
122
|
(0, chai_1.expect)(tallyFile.totalSpentVoiceCredits.spent).to.eq(expectedTotalSpentVoiceCredits.toString());
|
|
123
123
|
};
|
|
124
124
|
exports.expectTally = expectTally;
|
package/build/ts/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../ts/utils.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA6D;AAC7D,0DAAoD;AAEpD,4CAAsF;AACtF,+BAA8B;AAE9B,4CAAoB;AACpB,2BAA0B;AAC1B,gDAAwB;AAIxB,iCAA8B;AAEjB,QAAA,YAAY,GAAG,UAAU,CAAC;AAE1B,QAAA,WAAW,GAAG;IACzB,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,GAAG;IAClB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF;;;;GAIG;AACI,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAgB,EACJ,EAAE;IACd,MAAM,QAAQ,GAAG,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAM,CAAC,CAAC;AACvF,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CACxB,SAAiB,EACjB,SAAiB,EACjB,eAAuB,EACvB,KAAiB,EACjB,OAAmB,EACnB,EAAE;IACF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC;IAC7C,IAAI,EAAE,eAAe,EAAE,GAAG,mBAAW,CAAC;IACtC,IAAI,EAAE,UAAU,EAAE,GAAG,mBAAW,CAAC;IAEjC,qBAAqB;IACrB,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,qCAAqC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpG,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../ts/utils.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA6D;AAC7D,0DAAoD;AAEpD,4CAAsF;AACtF,+BAA8B;AAE9B,4CAAoB;AACpB,2BAA0B;AAC1B,gDAAwB;AAIxB,iCAA8B;AAEjB,QAAA,YAAY,GAAG,UAAU,CAAC;AAE1B,QAAA,WAAW,GAAG;IACzB,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,GAAG;IAClB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF;;;;GAIG;AACI,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAgB,EACJ,EAAE;IACd,MAAM,QAAQ,GAAG,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAM,CAAC,CAAC;AACvF,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CACxB,SAAiB,EACjB,SAAiB,EACjB,eAAuB,EACvB,KAAiB,EACjB,OAAmB,EACnB,EAAE;IACF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC;IAC7C,IAAI,EAAE,eAAe,EAAE,GAAG,mBAAW,CAAC;IACtC,IAAI,EAAE,UAAU,EAAE,GAAG,mBAAW,CAAC;IAEjC,qBAAqB;IACrB,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,qCAAqC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpG,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,MAAM,wBAAwB,GAAG,CACtC,QAAgB,EAChB,eAAuB,EACvB,OAAmB,EACnB,WAAuB,EACf,EAAE;IACV,MAAM,aAAa,GAAW,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,oBAAO,EAAE,CAAC;QAClC,MAAM,KAAK,GAAY,EAAE,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACvG,MAAM,IAAI,GAAG;gBACX,eAAe;gBACf,UAAU;gBACV,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;aACrB,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,WAAI,CAAC,WAAW,EAAE,KAAK,EAAE,mBAAW,CAAC,aAAa,EAAE,mBAAW,CAAC,KAAK,CAAC,CAAC;QAC/F,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AA3BW,QAAA,wBAAwB,4BA2BnC;AAEF;;;;;;;GAOG;AACI,MAAM,WAAW,GAAG,CACzB,WAAmB,EACnB,aAAuB,EACvB,sCAAgD,EAChD,8BAAsC,EACtC,SAAqB,EACf,EAAE;IACR,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE;QAC/C,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sCAAsC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QACpE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,sBAAsB,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,aAAM,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,IAAA,aAAM,EAAC,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9F,IAAA,aAAM,EAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,8BAA8B,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClG,CAAC,CAAC;AAzBW,QAAA,WAAW,eAyBtB;AAEF;;;GAGG;AACI,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE,CACvD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAHQ,QAAA,KAAK,SAGb;AAEL;;;GAGG;AACI,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,IAAA,SAAI,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAA9C,QAAA,KAAK,SAAyC;AAE3D;;;;;GAKG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,IAAa,EAAiB,EAAE;IAClF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,oBAAY,CAAC,EAAE,CAAC;QACjC,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAY,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,oBAAY,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEF;;;GAGG;AACI,MAAM,KAAK,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,EAAiB,EAAE;IAC9D,MAAM,KAAK,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,YAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,UAAU,IAAI,YAAE,CAAC,UAAU,CAAC,oBAAY,CAAC,EAAE,CAAC;QAC9C,MAAM,YAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,KAAK,SAYhB;AAEF;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,KAAK,IAAuB,EAAE,CAC9D,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,oBAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AADtG,QAAA,kBAAkB,sBACoF;AAEnH;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,QAAQ,EACR,WAAW,EACX,MAAM,EACN,MAAM,GACiB,EAAiB,EAAE;IAC1C,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAmB,EAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAY,EAAC,GAAG,CAAC,CAAC;IAEzC,MAAM,IAAA,uBAAe,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,IAAA,mBAAa,EAAC;QAClB,WAAW;QACX,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,iBAAiB,qBAkB5B"}
|