@maci-protocol/testing 0.0.0-ci.ec84efe → 0.0.0-ci.eea13a2
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 +426 -39
- package/build/ts/__tests__/e2e.nonQv.test.js.map +1 -1
- package/build/ts/__tests__/e2e.test.js +271 -281
- package/build/ts/__tests__/e2e.test.js.map +1 -1
- package/build/ts/__tests__/integration.test.js +62 -57
- package/build/ts/__tests__/integration.test.js.map +1 -1
- package/build/ts/__tests__/keyChange.test.js +86 -79
- package/build/ts/__tests__/keyChange.test.js.map +1 -1
- 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/joinPoll.test.js +64 -28
- package/build/ts/__tests__/unit/joinPoll.test.js.map +1 -1
- package/build/ts/__tests__/unit/poll.test.js +9 -8
- package/build/ts/__tests__/unit/poll.test.js.map +1 -1
- package/build/ts/__tests__/unit/publish.test.js +15 -11
- 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 +9 -9
- 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 +52 -53
- package/build/ts/constants.d.ts.map +1 -1
- package/build/ts/constants.js +113 -76
- 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 +36 -29
- package/build/ts/testingClass.js.map +1 -1
- package/build/ts/types.d.ts +11 -11
- package/build/ts/types.d.ts.map +1 -1
- package/build/ts/user.d.ts +5 -9
- package/build/ts/user.d.ts.map +1 -1
- package/build/ts/user.js +5 -6
- package/build/ts/user.js.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 +15 -14
- package/build/ts/__tests__/maci-keys.test.d.ts +0 -2
- package/build/ts/__tests__/maci-keys.test.d.ts.map +0 -1
- package/build/ts/__tests__/maci-keys.test.js +0 -78
- package/build/ts/__tests__/maci-keys.test.js.map +0 -1
package/build/ts/testingClass.js
CHANGED
|
@@ -14,16 +14,16 @@ const user_1 = require("./user");
|
|
|
14
14
|
* It can be used to deploy and initialize the contracts
|
|
15
15
|
*/
|
|
16
16
|
class TestingClass {
|
|
17
|
-
constructor({ pollJoiningZkeyPath, pollJoinedZkeyPath,
|
|
17
|
+
constructor({ pollJoiningZkeyPath, pollJoinedZkeyPath, messageProcessorZkeyPath, voteTallyZkeyPath, pollWasm, pollWitnessGenerator, rapidsnark, }) {
|
|
18
18
|
this.contractsData = {
|
|
19
19
|
initialized: false,
|
|
20
20
|
};
|
|
21
21
|
this.pollJoiningZkeyPath = pollJoiningZkeyPath;
|
|
22
22
|
this.pollJoinedZkeyPath = pollJoinedZkeyPath;
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
23
|
+
this.messageProcessorZkeyPath = messageProcessorZkeyPath;
|
|
24
|
+
this.voteTallyZkeyPath = voteTallyZkeyPath;
|
|
25
25
|
this.pollWasm = pollWasm;
|
|
26
|
-
this.
|
|
26
|
+
this.pollWitnessGenerator = pollWitnessGenerator;
|
|
27
27
|
this.rapidsnark = rapidsnark;
|
|
28
28
|
}
|
|
29
29
|
static async getInstance(paths) {
|
|
@@ -47,39 +47,45 @@ class TestingClass {
|
|
|
47
47
|
if (this.contractsData.initialized) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
const [signer] = await hardhat_1.default.ethers.getSigners();
|
|
50
|
+
const [signer] = (await hardhat_1.default.ethers.getSigners());
|
|
51
51
|
const coordinatorKeypair = new domainobjs_1.Keypair();
|
|
52
52
|
const user = new domainobjs_1.Keypair();
|
|
53
|
-
const {
|
|
53
|
+
const { pollJoiningVerifyingKey, pollJoinedVerifyingKey, processVerifyingKey, tallyVerifyingKey } = await (0, sdk_1.extractAllVerifyingKeys)({
|
|
54
54
|
pollJoiningZkeyPath: this.pollJoiningZkeyPath,
|
|
55
55
|
pollJoinedZkeyPath: this.pollJoinedZkeyPath,
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
messageProcessorZkeyPath: this.messageProcessorZkeyPath,
|
|
57
|
+
voteTallyZkeyPath: this.voteTallyZkeyPath,
|
|
58
58
|
});
|
|
59
|
-
const
|
|
59
|
+
const verifyingKeysRegistry = await (0, sdk_1.deployVerifyingKeysRegistryContract)({ signer });
|
|
60
60
|
await (0, sdk_1.setVerifyingKeys)({
|
|
61
|
-
|
|
61
|
+
verifyingKeysRegistryAddress: verifyingKeysRegistry,
|
|
62
62
|
stateTreeDepth: constants_1.STATE_TREE_DEPTH,
|
|
63
|
-
|
|
63
|
+
tallyProcessingStateTreeDepth: constants_1.TALLY_PROCESSING_STATE_TREE_DEPTH,
|
|
64
64
|
voteOptionTreeDepth: constants_1.VOTE_OPTION_TREE_DEPTH,
|
|
65
65
|
messageBatchSize: constants_1.MESSAGE_BATCH_SIZE,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
pollStateTreeDepth: constants_1.POLL_STATE_TREE_DEPTH,
|
|
67
|
+
pollJoiningVerifyingKey: pollJoiningVerifyingKey,
|
|
68
|
+
pollJoinedVerifyingKey: pollJoinedVerifyingKey,
|
|
69
|
+
processMessagesVerifyingKeys: [processVerifyingKey],
|
|
70
|
+
tallyVotesVerifyingKeys: [tallyVerifyingKey],
|
|
71
|
+
modes: [sdk_1.EMode.NON_QV],
|
|
71
72
|
signer,
|
|
72
73
|
});
|
|
73
|
-
const [signupPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(signer, true);
|
|
74
|
+
const [signupPolicy, , signupPolicyFactory, signupCheckerFactory] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({}, signer, true);
|
|
74
75
|
const signupPolicyContractAddress = await signupPolicy.getAddress();
|
|
75
|
-
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)(
|
|
76
|
+
const [pollPolicy] = await (0, sdk_1.deployFreeForAllSignUpPolicy)({
|
|
77
|
+
policy: signupPolicyFactory,
|
|
78
|
+
checker: signupCheckerFactory,
|
|
79
|
+
}, signer, true);
|
|
76
80
|
const pollPolicyContractAddress = await pollPolicy.getAddress();
|
|
77
81
|
const maciAddresses = await (0, sdk_1.deployMaci)({
|
|
78
82
|
stateTreeDepth: 10,
|
|
79
83
|
signer,
|
|
80
84
|
signupPolicyAddress: signupPolicyContractAddress,
|
|
81
85
|
});
|
|
82
|
-
const
|
|
86
|
+
const constantInitialVoiceCreditProxyFactory = await (0, sdk_1.deployConstantInitialVoiceCreditProxyFactory)(signer, true);
|
|
87
|
+
const initialVoiceCreditProxy = await (0, sdk_1.deployConstantInitialVoiceCreditProxy)({ amount: constants_1.DEFAULT_INITIAL_VOICE_CREDITS }, constantInitialVoiceCreditProxyFactory, signer);
|
|
88
|
+
const initialVoiceCreditProxyFactoryAddress = await constantInitialVoiceCreditProxyFactory.getAddress();
|
|
83
89
|
const initialVoiceCreditProxyContractAddress = await initialVoiceCreditProxy.getAddress();
|
|
84
90
|
const verifier = await (0, sdk_1.deployVerifier)(signer, true);
|
|
85
91
|
const verifierContractAddress = await verifier.getAddress();
|
|
@@ -87,41 +93,42 @@ class TestingClass {
|
|
|
87
93
|
const { pollContractAddress } = await (0, sdk_1.deployPoll)({
|
|
88
94
|
pollStartTimestamp: startDate,
|
|
89
95
|
pollEndTimestamp: startDate + 130,
|
|
90
|
-
|
|
96
|
+
tallyProcessingStateTreeDepth: constants_1.TALLY_PROCESSING_STATE_TREE_DEPTH,
|
|
91
97
|
messageBatchSize: constants_1.MESSAGE_BATCH_SIZE,
|
|
98
|
+
stateTreeDepth: constants_1.POLL_STATE_TREE_DEPTH,
|
|
92
99
|
voteOptionTreeDepth: constants_1.VOTE_OPTION_TREE_DEPTH,
|
|
93
|
-
|
|
100
|
+
coordinatorPublicKey: coordinatorKeypair.publicKey,
|
|
94
101
|
mode: sdk_1.EMode.NON_QV,
|
|
95
102
|
relayers: [await signer.getAddress()],
|
|
96
103
|
signer,
|
|
97
104
|
verifierContractAddress,
|
|
98
105
|
maciAddress: maciAddresses.maciContractAddress,
|
|
99
106
|
policyContractAddress: pollPolicyContractAddress,
|
|
107
|
+
initialVoiceCreditProxyFactoryAddress,
|
|
100
108
|
initialVoiceCreditProxyContractAddress,
|
|
101
109
|
voteOptions: constants_1.DEFAULT_VOTE_OPTIONS,
|
|
102
|
-
|
|
110
|
+
verifyingKeysRegistryContractAddress: verifyingKeysRegistry,
|
|
103
111
|
});
|
|
104
112
|
await (0, sdk_1.signup)({
|
|
105
113
|
maciAddress: maciAddresses.maciContractAddress,
|
|
106
|
-
|
|
114
|
+
maciPublicKey: user.publicKey.serialize(),
|
|
107
115
|
sgData: constants_1.DEFAULT_SG_DATA,
|
|
108
116
|
signer,
|
|
109
117
|
});
|
|
110
|
-
const { pollStateIndex, voiceCredits
|
|
118
|
+
const { pollStateIndex, voiceCredits } = await (0, sdk_1.joinPoll)({
|
|
111
119
|
maciAddress: maciAddresses.maciContractAddress,
|
|
112
120
|
pollId: 0n,
|
|
113
|
-
privateKey: user.
|
|
114
|
-
stateIndex: 1n,
|
|
121
|
+
privateKey: user.privateKey.serialize(),
|
|
115
122
|
pollJoiningZkey: this.pollJoiningZkeyPath,
|
|
116
123
|
pollWasm: this.pollWasm,
|
|
117
|
-
|
|
124
|
+
pollWitnessGenerator: this.pollWitnessGenerator,
|
|
118
125
|
rapidsnark: this.rapidsnark,
|
|
119
126
|
signer,
|
|
120
127
|
useWasm: true,
|
|
121
128
|
sgDataArg: constants_1.DEFAULT_SG_DATA,
|
|
122
129
|
ivcpDataArg: constants_1.DEFAULT_IVCP_DATA,
|
|
123
130
|
});
|
|
124
|
-
const maciState = await (0, sdk_1.
|
|
131
|
+
const maciState = await (0, sdk_1.generateMaciStateFromContract)({
|
|
125
132
|
provider: signer.provider,
|
|
126
133
|
address: maciAddresses.maciContractAddress,
|
|
127
134
|
coordinatorKeypair,
|
|
@@ -130,7 +137,7 @@ class TestingClass {
|
|
|
130
137
|
this.contractsData.maciState = maciState;
|
|
131
138
|
this.contractsData.maciContractAddress = maciAddresses.maciContractAddress;
|
|
132
139
|
this.contractsData.users = [];
|
|
133
|
-
this.contractsData.users.push(new user_1.User(user, [], BigInt(voiceCredits), 0n, BigInt(
|
|
140
|
+
this.contractsData.users.push(new user_1.User(user, [], BigInt(voiceCredits), 0n, BigInt(pollStateIndex)));
|
|
134
141
|
this.contractsData.initialized = true;
|
|
135
142
|
this.contractsData.polls?.push(pollContractAddress);
|
|
136
143
|
}
|
|
@@ -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":";;;;;;AAAA,0DAAoD;AACpD,4CAe4B;AAC5B,sDAA8B;AAK9B,2CAUqB;AACrB,iCAA8B;AAE9B;;;GAGG;AACH,MAAa,YAAY;IA0CvB,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,QAAQ,EACR,oBAAoB,EACpB,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,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,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,CAAC,MAAM,iBAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAwB,CAAC;QAC5E,MAAM,kBAAkB,GAAG,IAAI,oBAAO,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,oBAAO,EAAE,CAAC;QAE3B,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAC/F,MAAM,IAAA,6BAAuB,EAAC;YAC5B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;QAEL,MAAM,qBAAqB,GAAG,MAAM,IAAA,yCAAmC,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,MAAM,IAAA,sBAAgB,EAAC;YACrB,4BAA4B,EAAE,qBAAqB;YACnD,cAAc,EAAE,4BAAgB;YAChC,6BAA6B,EAAE,6CAAiC;YAChE,mBAAmB,EAAE,kCAAsB;YAC3C,gBAAgB,EAAE,8BAAkB;YACpC,kBAAkB,EAAE,iCAAqB;YACzC,uBAAuB,EAAE,uBAAwB;YACjD,sBAAsB,EAAE,sBAAuB;YAC/C,4BAA4B,EAAE,CAAC,mBAAoB,CAAC;YACpD,uBAAuB,EAAE,CAAC,iBAAkB,CAAC;YAC7C,KAAK,EAAE,CAAC,WAAK,CAAC,MAAM,CAAC;YACrB,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,sCAAsC,GAAG,MAAM,IAAA,kDAA4C,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChH,MAAM,uBAAuB,GAAG,MAAM,IAAA,2CAAqC,EACzE,EAAE,MAAM,EAAE,yCAA6B,EAAE,EACzC,sCAAsC,EACtC,MAAM,CACP,CAAC;QACF,MAAM,qCAAqC,GAAG,MAAM,sCAAsC,CAAC,UAAU,EAAE,CAAC;QACxG,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,6BAA6B,EAAE,6CAAiC;YAChE,gBAAgB,EAAE,8BAAkB;YACpC,cAAc,EAAE,iCAAqB;YACrC,mBAAmB,EAAE,kCAAsB;YAC3C,oBAAoB,EAAE,kBAAkB,CAAC,SAAS;YAClD,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,qCAAqC;YACrC,sCAAsC;YACtC,WAAW,EAAE,gCAAoB;YACjC,oCAAoC,EAAE,qBAAqB;SAC5D,CAAC,CAAC;QAEH,MAAM,IAAA,YAAM,EAAC;YACX,WAAW,EAAE,aAAa,CAAC,mBAAmB;YAC9C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YACzC,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,UAAU,CAAC,SAAS,EAAE;YACvC,eAAe,EAAE,IAAI,CAAC,mBAAmB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,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,mCAA6B,EAAC;YACpD,QAAQ,EAAE,MAAM,CAAC,QAAS;YAC1B,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;AA9MD,oCA8MC"}
|
package/build/ts/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { generateMaciStateFromContract } from "@maci-protocol/sdk";
|
|
2
2
|
import type { User } from "./user";
|
|
3
|
-
import type { MACI, Verifier,
|
|
3
|
+
import type { MACI, Verifier, VerifyingKeysRegistry, FreeForAllPolicy, ConstantInitialVoiceCreditProxy, IIpfsMessage } from "@maci-protocol/sdk";
|
|
4
4
|
import type { Signer } from "ethers";
|
|
5
5
|
/**
|
|
6
6
|
* A util interface that represents a vote object
|
|
@@ -44,7 +44,7 @@ export interface ITestSuite {
|
|
|
44
44
|
export interface IDeployedTestContracts {
|
|
45
45
|
maci: MACI;
|
|
46
46
|
verifier: Verifier;
|
|
47
|
-
|
|
47
|
+
verifyingKeysRegistry: VerifyingKeysRegistry;
|
|
48
48
|
policy: FreeForAllPolicy;
|
|
49
49
|
initialVoiceCreditProxy: ConstantInitialVoiceCreditProxy;
|
|
50
50
|
}
|
|
@@ -55,7 +55,7 @@ export interface IContractsData {
|
|
|
55
55
|
initialized: boolean;
|
|
56
56
|
users?: User[];
|
|
57
57
|
maciContractAddress?: string;
|
|
58
|
-
maciState?: Awaited<ReturnType<typeof
|
|
58
|
+
maciState?: Awaited<ReturnType<typeof generateMaciStateFromContract>>;
|
|
59
59
|
polls?: string[];
|
|
60
60
|
}
|
|
61
61
|
export interface IRelayTestMessagesArgs {
|
|
@@ -65,7 +65,7 @@ export interface IRelayTestMessagesArgs {
|
|
|
65
65
|
pollId: number;
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
|
-
* Interface for the paths to the zkey files and the wasm and
|
|
68
|
+
* Interface for the paths to the zkey files and the wasm and witnessGenerator files
|
|
69
69
|
*/
|
|
70
70
|
export interface ITestingClassPaths {
|
|
71
71
|
/**
|
|
@@ -77,21 +77,21 @@ export interface ITestingClassPaths {
|
|
|
77
77
|
*/
|
|
78
78
|
pollJoinedZkeyPath: string;
|
|
79
79
|
/**
|
|
80
|
-
* Path to the
|
|
80
|
+
* Path to the MessageProcessor zkey file
|
|
81
81
|
*/
|
|
82
|
-
|
|
82
|
+
messageProcessorZkeyPath: string;
|
|
83
83
|
/**
|
|
84
|
-
* Path to the
|
|
84
|
+
* Path to the VoteTally zkey file
|
|
85
85
|
*/
|
|
86
|
-
|
|
86
|
+
voteTallyZkeyPath: string;
|
|
87
87
|
/**
|
|
88
88
|
* Path to the poll wasm file
|
|
89
89
|
*/
|
|
90
90
|
pollWasm: string;
|
|
91
91
|
/**
|
|
92
|
-
* Path to the poll
|
|
92
|
+
* Path to the poll witnessGenerator file
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
pollWitnessGenerator: string;
|
|
95
95
|
/**
|
|
96
96
|
* Path to the rapidsnark file
|
|
97
97
|
*/
|
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,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,qBAAqB,EACrB,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,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/user.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Keypair, type
|
|
1
|
+
import { Keypair, type PrivateKey } from "@maci-protocol/domainobjs";
|
|
2
2
|
import type { IVote } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* A class representing a user and its votes
|
|
@@ -9,23 +9,19 @@ export declare class User {
|
|
|
9
9
|
voiceCreditBalance: bigint;
|
|
10
10
|
nonce: bigint;
|
|
11
11
|
stateLeafIndex?: bigint;
|
|
12
|
-
/**
|
|
13
|
-
* The timestamp of when the user joined the poll
|
|
14
|
-
*/
|
|
15
|
-
timestamp?: bigint;
|
|
16
12
|
/**
|
|
17
13
|
* Create a new instance of a UserCommand object
|
|
18
|
-
* @param
|
|
14
|
+
* @param keypair the keypair of the user
|
|
19
15
|
* @param votes the votes casted by the user
|
|
20
16
|
* @param voiceCreditBalance the voice credit balance of the user
|
|
21
17
|
* @param nonce the nonce of the user
|
|
22
|
-
* @param
|
|
18
|
+
* @param stateLeafIndex the state leaf index
|
|
23
19
|
*/
|
|
24
|
-
constructor(
|
|
20
|
+
constructor(keypair: Keypair, votes: IVote[], voiceCreditBalance: bigint, nonce: bigint, stateLeafIndex?: bigint);
|
|
25
21
|
/**
|
|
26
22
|
* Helper function that can be used to change the keypair of the user
|
|
27
23
|
* @returns
|
|
28
24
|
*/
|
|
29
|
-
changeKeypair():
|
|
25
|
+
changeKeypair(): PrivateKey;
|
|
30
26
|
}
|
|
31
27
|
//# sourceMappingURL=user.d.ts.map
|
package/build/ts/user.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../ts/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../ts/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,KAAK,EAAE,CAAC;IAEf,kBAAkB,EAAE,MAAM,CAAC;IAE3B,KAAK,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;gBACS,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAQhH;;;OAGG;IACH,aAAa,IAAI,UAAU;CAM5B"}
|
package/build/ts/user.js
CHANGED
|
@@ -8,18 +8,17 @@ const domainobjs_1 = require("@maci-protocol/domainobjs");
|
|
|
8
8
|
class User {
|
|
9
9
|
/**
|
|
10
10
|
* Create a new instance of a UserCommand object
|
|
11
|
-
* @param
|
|
11
|
+
* @param keypair the keypair of the user
|
|
12
12
|
* @param votes the votes casted by the user
|
|
13
13
|
* @param voiceCreditBalance the voice credit balance of the user
|
|
14
14
|
* @param nonce the nonce of the user
|
|
15
|
-
* @param
|
|
15
|
+
* @param stateLeafIndex the state leaf index
|
|
16
16
|
*/
|
|
17
|
-
constructor(
|
|
18
|
-
this.keypair =
|
|
17
|
+
constructor(keypair, votes, voiceCreditBalance, nonce, stateLeafIndex) {
|
|
18
|
+
this.keypair = keypair;
|
|
19
19
|
this.votes = votes;
|
|
20
20
|
this.voiceCreditBalance = voiceCreditBalance;
|
|
21
21
|
this.nonce = nonce;
|
|
22
|
-
this.timestamp = timestamp;
|
|
23
22
|
this.stateLeafIndex = stateLeafIndex;
|
|
24
23
|
}
|
|
25
24
|
/**
|
|
@@ -28,7 +27,7 @@ class User {
|
|
|
28
27
|
*/
|
|
29
28
|
changeKeypair() {
|
|
30
29
|
const newUserKeypair = new domainobjs_1.Keypair();
|
|
31
|
-
const oldPrivateKey = this.keypair.
|
|
30
|
+
const oldPrivateKey = this.keypair.privateKey;
|
|
32
31
|
this.keypair = !newUserKeypair.equals(this.keypair) ? newUserKeypair : this.keypair;
|
|
33
32
|
return oldPrivateKey;
|
|
34
33
|
}
|
package/build/ts/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../ts/user.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../ts/user.ts"],"names":[],"mappings":";;;AAAA,0DAAqE;AAIrE;;GAEG;AACH,MAAa,IAAI;IAWf;;;;;;;OAOG;IACH,YAAY,OAAgB,EAAE,KAAc,EAAE,kBAA0B,EAAE,KAAa,EAAE,cAAuB;QAC9G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,MAAM,cAAc,GAAG,IAAI,oBAAO,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACpF,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AArCD,oBAqCC"}
|
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":"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"}
|