@maci-protocol/domainobjs 0.0.0-ci.00107eb

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.
Files changed (61) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/LICENSE +21 -0
  3. package/README.md +78 -0
  4. package/build/ts/ballot.d.ts +69 -0
  5. package/build/ts/ballot.d.ts.map +1 -0
  6. package/build/ts/ballot.js +120 -0
  7. package/build/ts/ballot.js.map +1 -0
  8. package/build/ts/commands/VoteCommand.d.ts +89 -0
  9. package/build/ts/commands/VoteCommand.d.ts.map +1 -0
  10. package/build/ts/commands/VoteCommand.js +171 -0
  11. package/build/ts/commands/VoteCommand.js.map +1 -0
  12. package/build/ts/commands/index.d.ts +3 -0
  13. package/build/ts/commands/index.d.ts.map +1 -0
  14. package/build/ts/commands/index.js +6 -0
  15. package/build/ts/commands/index.js.map +1 -0
  16. package/build/ts/commands/types.d.ts +21 -0
  17. package/build/ts/commands/types.d.ts.map +1 -0
  18. package/build/ts/commands/types.js +3 -0
  19. package/build/ts/commands/types.js.map +1 -0
  20. package/build/ts/constants.d.ts +6 -0
  21. package/build/ts/constants.d.ts.map +1 -0
  22. package/build/ts/constants.js +9 -0
  23. package/build/ts/constants.js.map +1 -0
  24. package/build/ts/index.d.ts +12 -0
  25. package/build/ts/index.d.ts.map +1 -0
  26. package/build/ts/index.js +28 -0
  27. package/build/ts/index.js.map +1 -0
  28. package/build/ts/keyPair.d.ts +49 -0
  29. package/build/ts/keyPair.d.ts.map +1 -0
  30. package/build/ts/keyPair.js +81 -0
  31. package/build/ts/keyPair.js.map +1 -0
  32. package/build/ts/message.d.ts +58 -0
  33. package/build/ts/message.d.ts.map +1 -0
  34. package/build/ts/message.js +78 -0
  35. package/build/ts/message.js.map +1 -0
  36. package/build/ts/privateKey.d.ts +56 -0
  37. package/build/ts/privateKey.d.ts.map +1 -0
  38. package/build/ts/privateKey.js +79 -0
  39. package/build/ts/privateKey.js.map +1 -0
  40. package/build/ts/publicKey.d.ts +89 -0
  41. package/build/ts/publicKey.d.ts.map +1 -0
  42. package/build/ts/publicKey.js +141 -0
  43. package/build/ts/publicKey.js.map +1 -0
  44. package/build/ts/stateLeaf.d.ts +81 -0
  45. package/build/ts/stateLeaf.d.ts.map +1 -0
  46. package/build/ts/stateLeaf.js +126 -0
  47. package/build/ts/stateLeaf.js.map +1 -0
  48. package/build/ts/types.d.ts +90 -0
  49. package/build/ts/types.d.ts.map +1 -0
  50. package/build/ts/types.js +3 -0
  51. package/build/ts/types.js.map +1 -0
  52. package/build/ts/verifyingKey.d.ts +57 -0
  53. package/build/ts/verifyingKey.d.ts.map +1 -0
  54. package/build/ts/verifyingKey.js +96 -0
  55. package/build/ts/verifyingKey.js.map +1 -0
  56. package/build/ts/voteCounts.d.ts +63 -0
  57. package/build/ts/voteCounts.d.ts.map +1 -0
  58. package/build/ts/voteCounts.js +110 -0
  59. package/build/ts/voteCounts.js.map +1 -0
  60. package/build/tsconfig.build.tsbuildinfo +1 -0
  61. package/package.json +55 -0
@@ -0,0 +1,90 @@
1
+ import type { PublicKey } from "./publicKey";
2
+ import type { G1Point, G2Point } from "@maci-protocol/crypto";
3
+ /**
4
+ * @notice An interface representing a zk-SNARK proof
5
+ */
6
+ export interface Proof {
7
+ a: G1Point;
8
+ b: G2Point;
9
+ c: G1Point;
10
+ }
11
+ /**
12
+ * @notice An interface representing a MACI state leaf
13
+ */
14
+ export interface IStateLeaf {
15
+ publicKey: PublicKey;
16
+ voiceCreditBalance: bigint;
17
+ }
18
+ /**
19
+ * @notice An interface representing a MACI vote option leaf
20
+ */
21
+ export interface VoteOptionTreeLeaf {
22
+ votes: bigint;
23
+ }
24
+ export interface IJsonKeyPair {
25
+ privateKey: string;
26
+ publicKey: string;
27
+ }
28
+ export type IJsonPrivateKey = Pick<IJsonKeyPair, "privateKey">;
29
+ export type IJsonPublicKey = Pick<IJsonKeyPair, "publicKey">;
30
+ export interface IJsonStateLeaf {
31
+ publicKey: string;
32
+ voiceCreditBalance: string;
33
+ }
34
+ export type BigNumberish = number | string | bigint;
35
+ export interface IG1ContractParams {
36
+ x: BigNumberish;
37
+ y: BigNumberish;
38
+ }
39
+ export interface IG2ContractParams {
40
+ x: BigNumberish[];
41
+ y: BigNumberish[];
42
+ }
43
+ export interface IVerifyingKeyContractParams {
44
+ alpha1: IG1ContractParams;
45
+ beta2: IG2ContractParams;
46
+ gamma2: IG2ContractParams;
47
+ delta2: IG2ContractParams;
48
+ ic: IG1ContractParams[];
49
+ }
50
+ export interface IVerifyingKeyObjectParams {
51
+ protocol: BigNumberish;
52
+ curve: BigNumberish;
53
+ nPublic: BigNumberish;
54
+ vk_alpha_1: BigNumberish[];
55
+ vk_beta_2: BigNumberish[][];
56
+ vk_gamma_2: BigNumberish[][];
57
+ vk_delta_2: BigNumberish[][];
58
+ vk_alphabeta_12: BigNumberish[][][];
59
+ IC: BigNumberish[][];
60
+ }
61
+ export interface IStateLeafContractParams {
62
+ publicKey: IG1ContractParams;
63
+ voiceCreditBalance: BigNumberish;
64
+ }
65
+ export interface IMessageContractParams {
66
+ data: BigNumberish[];
67
+ }
68
+ export interface IJsonBallot {
69
+ votes: BigNumberish[];
70
+ nonce: BigNumberish;
71
+ voteOptionTreeDepth: BigNumberish;
72
+ }
73
+ /**
74
+ * A JSON representation of the vote counts
75
+ */
76
+ export interface IJsonVoteCounts {
77
+ /**
78
+ * The vote counts for each vote option in the poll
79
+ */
80
+ counts: BigNumberish[];
81
+ /**
82
+ * The nonce for the vote counts
83
+ */
84
+ nonce: BigNumberish;
85
+ /**
86
+ * The depth of the merkle tree holding the vote options
87
+ */
88
+ voteOptionTreeDepth: BigNumberish;
89
+ }
90
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,OAAO,CAAC;IACX,CAAC,EAAE,OAAO,CAAC;IACX,CAAC,EAAE,OAAO,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,YAAY,EAAE,CAAC;IAClB,CAAC,EAAE,YAAY,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,EAAE,EAAE,iBAAiB,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC;IAC5B,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7B,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7B,eAAe,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACpC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,kBAAkB,EAAE,YAAY,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,mBAAmB,EAAE,YAAY,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,YAAY,EAAE,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,mBAAmB,EAAE,YAAY,CAAC;CACnC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../ts/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { G1Point, G2Point } from "@maci-protocol/crypto";
2
+ import type { IVerifyingKeyContractParams, IVerifyingKeyObjectParams } from "./types";
3
+ /**
4
+ * @notice A TS Class representing a zk-SNARK VerifyingKey
5
+ */
6
+ export declare class VerifyingKey {
7
+ alpha1: G1Point;
8
+ beta2: G2Point;
9
+ gamma2: G2Point;
10
+ delta2: G2Point;
11
+ ic: G1Point[];
12
+ /**
13
+ * Generate a new VerifyingKey
14
+ * @param alpha1 the alpha1 point
15
+ * @param beta2 the beta2 point
16
+ * @param gamma2 the gamma2 point
17
+ * @param delta2 the delta2 point
18
+ * @param ic the ic points
19
+ */
20
+ constructor(alpha1: G1Point, beta2: G2Point, gamma2: G2Point, delta2: G2Point, ic: G1Point[]);
21
+ /**
22
+ * Return this as an object which can be passed
23
+ * to the smart contract
24
+ * @returns the object representation of this
25
+ */
26
+ asContractParam(): IVerifyingKeyContractParams;
27
+ /**
28
+ * Create a new verifying key from a contract representation of the verifying key
29
+ * @param data the object representation
30
+ * @returns a new VerifyingKey
31
+ */
32
+ static fromContract(data: IVerifyingKeyContractParams): VerifyingKey;
33
+ /**
34
+ * Check whether this is equal to another verifying key
35
+ * @param verifyingKey the other verifying key
36
+ * @returns whether this is equal to the other verifying key
37
+ */
38
+ equals(verifyingKey: VerifyingKey): boolean;
39
+ /**
40
+ * Produce a copy of this verifying key
41
+ * @returns the copy
42
+ */
43
+ copy(): VerifyingKey;
44
+ /**
45
+ * Deserialize into a VerifyingKey instance
46
+ * @param json the JSON representation
47
+ * @returns the VerifyingKey
48
+ */
49
+ static fromJSON: (json: string) => VerifyingKey;
50
+ /**
51
+ * Convert an object representation to a VerifyingKey
52
+ * @param data the object representation
53
+ * @returns the VerifyingKey
54
+ */
55
+ static fromObj: (data: IVerifyingKeyObjectParams) => VerifyingKey;
56
+ }
57
+ //# sourceMappingURL=verifyingKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyingKey.d.ts","sourceRoot":"","sources":["../../ts/verifyingKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEtF;;GAEG;AACH,qBAAa,YAAY;IACvB,MAAM,EAAE,OAAO,CAAC;IAEhB,KAAK,EAAE,OAAO,CAAC;IAEf,MAAM,EAAE,OAAO,CAAC;IAEhB,MAAM,EAAE,OAAO,CAAC;IAEhB,EAAE,EAAE,OAAO,EAAE,CAAC;IAEd;;;;;;;OAOG;gBACS,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;IAQ5F;;;;OAIG;IACH,eAAe,IAAI,2BAA2B;IAU9C;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,2BAA2B,GAAG,YAAY;IAapE;;;;OAIG;IACH,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAiB3C;;;OAGG;IACH,IAAI,IAAI,YAAY;IAgBpB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,GAAI,MAAM,MAAM,KAAG,YAAY,CAG5C;IAEF;;;;OAIG;IACH,MAAM,CAAC,OAAO,GAAI,MAAM,yBAAyB,KAAG,YAAY,CAiB9D;CACH"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VerifyingKey = void 0;
4
+ const crypto_1 = require("@maci-protocol/crypto");
5
+ /**
6
+ * @notice A TS Class representing a zk-SNARK VerifyingKey
7
+ */
8
+ class VerifyingKey {
9
+ /**
10
+ * Generate a new VerifyingKey
11
+ * @param alpha1 the alpha1 point
12
+ * @param beta2 the beta2 point
13
+ * @param gamma2 the gamma2 point
14
+ * @param delta2 the delta2 point
15
+ * @param ic the ic points
16
+ */
17
+ constructor(alpha1, beta2, gamma2, delta2, ic) {
18
+ this.alpha1 = alpha1;
19
+ this.beta2 = beta2;
20
+ this.gamma2 = gamma2;
21
+ this.delta2 = delta2;
22
+ this.ic = ic;
23
+ }
24
+ /**
25
+ * Return this as an object which can be passed
26
+ * to the smart contract
27
+ * @returns the object representation of this
28
+ */
29
+ asContractParam() {
30
+ return {
31
+ alpha1: this.alpha1.asContractParam(),
32
+ beta2: this.beta2.asContractParam(),
33
+ gamma2: this.gamma2.asContractParam(),
34
+ delta2: this.delta2.asContractParam(),
35
+ ic: this.ic.map((x) => x.asContractParam()),
36
+ };
37
+ }
38
+ /**
39
+ * Create a new verifying key from a contract representation of the verifying key
40
+ * @param data the object representation
41
+ * @returns a new VerifyingKey
42
+ */
43
+ static fromContract(data) {
44
+ const convertG2 = (point) => new crypto_1.G2Point([BigInt(point.x[0]), BigInt(point.x[1])], [BigInt(point.y[0]), BigInt(point.y[1])]);
45
+ return new VerifyingKey(new crypto_1.G1Point(BigInt(data.alpha1.x), BigInt(data.alpha1.y)), convertG2(data.beta2), convertG2(data.gamma2), convertG2(data.delta2), data.ic.map((c) => new crypto_1.G1Point(BigInt(c.x), BigInt(c.y))));
46
+ }
47
+ /**
48
+ * Check whether this is equal to another verifying key
49
+ * @param verifyingKey the other verifying key
50
+ * @returns whether this is equal to the other verifying key
51
+ */
52
+ equals(verifyingKey) {
53
+ // Immediately return false if the length doesn't match
54
+ if (this.ic.length !== verifyingKey.ic.length) {
55
+ return false;
56
+ }
57
+ const icEqual = this.ic.every((ic, index) => ic.equals(verifyingKey.ic[index]));
58
+ return (this.alpha1.equals(verifyingKey.alpha1) &&
59
+ this.beta2.equals(verifyingKey.beta2) &&
60
+ this.gamma2.equals(verifyingKey.gamma2) &&
61
+ this.delta2.equals(verifyingKey.delta2) &&
62
+ icEqual);
63
+ }
64
+ /**
65
+ * Produce a copy of this verifying key
66
+ * @returns the copy
67
+ */
68
+ copy() {
69
+ const copyG2 = (point) => new crypto_1.G2Point([BigInt(point.x[0].toString()), BigInt(point.x[1].toString())], [BigInt(point.y[0].toString()), BigInt(point.y[1].toString())]);
70
+ return new VerifyingKey(new crypto_1.G1Point(BigInt(this.alpha1.x.toString()), BigInt(this.alpha1.y.toString())), copyG2(this.beta2), copyG2(this.gamma2), copyG2(this.delta2), this.ic.map((c) => new crypto_1.G1Point(BigInt(c.x.toString()), BigInt(c.y.toString()))));
71
+ }
72
+ }
73
+ exports.VerifyingKey = VerifyingKey;
74
+ /**
75
+ * Deserialize into a VerifyingKey instance
76
+ * @param json the JSON representation
77
+ * @returns the VerifyingKey
78
+ */
79
+ VerifyingKey.fromJSON = (json) => {
80
+ const data = JSON.parse(json);
81
+ return VerifyingKey.fromObj(data);
82
+ };
83
+ /**
84
+ * Convert an object representation to a VerifyingKey
85
+ * @param data the object representation
86
+ * @returns the VerifyingKey
87
+ */
88
+ VerifyingKey.fromObj = (data) => {
89
+ const alpha1 = new crypto_1.G1Point(BigInt(data.vk_alpha_1[0]), BigInt(data.vk_alpha_1[1]));
90
+ const beta2 = new crypto_1.G2Point([BigInt(data.vk_beta_2[0][1]), BigInt(data.vk_beta_2[0][0])], [BigInt(data.vk_beta_2[1][1]), BigInt(data.vk_beta_2[1][0])]);
91
+ const gamma2 = new crypto_1.G2Point([BigInt(data.vk_gamma_2[0][1]), BigInt(data.vk_gamma_2[0][0])], [BigInt(data.vk_gamma_2[1][1]), BigInt(data.vk_gamma_2[1][0])]);
92
+ const delta2 = new crypto_1.G2Point([BigInt(data.vk_delta_2[0][1]), BigInt(data.vk_delta_2[0][0])], [BigInt(data.vk_delta_2[1][1]), BigInt(data.vk_delta_2[1][0])]);
93
+ const ic = data.IC.map(([x, y]) => new crypto_1.G1Point(BigInt(x), BigInt(y)));
94
+ return new VerifyingKey(alpha1, beta2, gamma2, delta2, ic);
95
+ };
96
+ //# sourceMappingURL=verifyingKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyingKey.js","sourceRoot":"","sources":["../../ts/verifyingKey.ts"],"names":[],"mappings":";;;AAAA,kDAAyD;AAIzD;;GAEG;AACH,MAAa,YAAY;IAWvB;;;;;;;OAOG;IACH,YAAY,MAAe,EAAE,KAAc,EAAE,MAAe,EAAE,MAAe,EAAE,EAAa;QAC1F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YACrC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,IAAiC;QACnD,MAAM,SAAS,GAAG,CAAC,KAA2C,EAAW,EAAE,CACzE,IAAI,gBAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElG,OAAO,IAAI,YAAY,CACrB,IAAI,gBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EACrB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EACtB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EACtB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAA0B;QAC/B,uDAAuD;QACvD,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhF,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;YACvC,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,MAAM,GAAG,CAAC,KAAc,EAAW,EAAE,CACzC,IAAI,gBAAO,CACT,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC9D,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC/D,CAAC;QAEJ,OAAO,IAAI,YAAY,CACrB,IAAI,gBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC/E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,gBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CACzF,CAAC;IACJ,CAAC;;AApGH,oCAuIC;AAjCC;;;;GAIG;AACI,qBAAQ,GAAG,CAAC,IAAY,EAAgB,EAAE;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA8B,CAAC;IAC3D,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;;GAIG;AACI,oBAAO,GAAG,CAAC,IAA+B,EAAgB,EAAE;IACjE,MAAM,MAAM,GAAG,IAAI,gBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,IAAI,gBAAO,CACvB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,gBAAO,CACxB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9D,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,gBAAO,CACxB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9D,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { IJsonVoteCounts } from "./types";
2
+ /**
3
+ * A VoteCounts represents a User's vote counts in a Poll, as well as their next valid
4
+ * nonce.
5
+ */
6
+ export declare class VoteCounts {
7
+ counts: bigint[];
8
+ nonce: bigint;
9
+ voteOptionTreeDepth: number;
10
+ /**
11
+ * Create a new VoteCounts instance
12
+ * @param totalVoteOptions How many vote options are available in the poll
13
+ * @param voteOptionTreeDepth The depth of the merkle tree holding the vote options
14
+ */
15
+ constructor(totalVoteOptions: number, voteOptionTreeDepth: number);
16
+ /**
17
+ * Generate a blank VoteCounts object
18
+ * @param totalVoteOptions How many vote options are available
19
+ * @param voteOptionTreeDepth How deep is the merkle tree holding the vote options
20
+ * @returns a Blank VoteCounts object
21
+ */
22
+ static generateBlank(totalVoteOptions: number, voteOptionTreeDepth: number): VoteCounts;
23
+ /**
24
+ * Generate an hash of this vote counts
25
+ * @returns The hash of the vote counts
26
+ */
27
+ hash: () => bigint;
28
+ /**
29
+ * Convert in a format suitable for the circuit
30
+ * @returns the vote counts as a BigInt array
31
+ */
32
+ asCircuitInputs: () => bigint[];
33
+ /**
34
+ * Convert in a an array of bigints
35
+ * @notice this is the nonce and the root of the vote option tree
36
+ * @returns the vote counts as a bigint array
37
+ */
38
+ asArray: () => bigint[];
39
+ /**
40
+ * Create a deep clone of this VoteCounts
41
+ * @returns a copy of the vote counts
42
+ */
43
+ copy: () => VoteCounts;
44
+ /**
45
+ * Check if two vote counts are equal (same counts and same nonce)
46
+ * @param voteCounts - The vote counts to compare with
47
+ * @returns whether the two vote counts are equal
48
+ */
49
+ equals(voteCounts: VoteCounts): boolean;
50
+ /**
51
+ * Serialize to a JSON object
52
+ *
53
+ * @returns the JSON representation of the vote counts
54
+ */
55
+ toJSON(): IJsonVoteCounts;
56
+ /**
57
+ * Deserialize into a VoteCounts instance
58
+ * @param json - the json representation
59
+ * @returns the deserialized object as a VoteCounts instance
60
+ */
61
+ static fromJSON(json: IJsonVoteCounts): VoteCounts;
62
+ }
63
+ //# sourceMappingURL=voteCounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voteCounts.d.ts","sourceRoot":"","sources":["../../ts/voteCounts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;GAGG;AACH,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,EAAE,CAAM;IAEtB,KAAK,SAAM;IAEX,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;gBACS,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM;IAWjE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,UAAU;IAIvF;;;OAGG;IACH,IAAI,QAAO,MAAM,CAIf;IAEF;;;OAGG;IACH,eAAe,QAAO,MAAM,EAAE,CAAmB;IAEjD;;;;OAIG;IACH,OAAO,QAAO,MAAM,EAAE,CAWpB;IAEF;;;OAGG;IACH,IAAI,QAAO,UAAU,CAOnB;IAEF;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAMvC;;;;OAIG;IACH,MAAM,IAAI,eAAe;IAQzB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU;CAOnD"}
@@ -0,0 +1,110 @@
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.VoteCounts = void 0;
7
+ const crypto_1 = require("@maci-protocol/crypto");
8
+ const assert_1 = __importDefault(require("assert"));
9
+ /**
10
+ * A VoteCounts represents a User's vote counts in a Poll, as well as their next valid
11
+ * nonce.
12
+ */
13
+ class VoteCounts {
14
+ /**
15
+ * Create a new VoteCounts instance
16
+ * @param totalVoteOptions How many vote options are available in the poll
17
+ * @param voteOptionTreeDepth The depth of the merkle tree holding the vote options
18
+ */
19
+ constructor(totalVoteOptions, voteOptionTreeDepth) {
20
+ this.counts = [];
21
+ this.nonce = 0n;
22
+ /**
23
+ * Generate an hash of this vote counts
24
+ * @returns The hash of the vote counts
25
+ */
26
+ this.hash = () => {
27
+ const [nonce, root] = this.asArray();
28
+ return (0, crypto_1.hashLeftRight)(nonce, root);
29
+ };
30
+ /**
31
+ * Convert in a format suitable for the circuit
32
+ * @returns the vote counts as a BigInt array
33
+ */
34
+ this.asCircuitInputs = () => this.asArray();
35
+ /**
36
+ * Convert in a an array of bigints
37
+ * @notice this is the nonce and the root of the vote option tree
38
+ * @returns the vote counts as a bigint array
39
+ */
40
+ this.asArray = () => {
41
+ const lastIndex = this.counts.length - 1;
42
+ const foundIndex = this.counts.findIndex((_, index) => this.counts[lastIndex - index] !== 0n);
43
+ const lastIndexToInsert = foundIndex >= 0 ? lastIndex - foundIndex : -1;
44
+ const voteCountsTree = new crypto_1.IncrementalQuinTree(this.voteOptionTreeDepth, 0n, 5, crypto_1.hash5);
45
+ for (let i = 0; i <= lastIndexToInsert; i += 1) {
46
+ voteCountsTree.insert(this.counts[i]);
47
+ }
48
+ return [this.nonce, voteCountsTree.root];
49
+ };
50
+ /**
51
+ * Create a deep clone of this VoteCounts
52
+ * @returns a copy of the vote counts
53
+ */
54
+ this.copy = () => {
55
+ const voteCounts = new VoteCounts(this.counts.length, this.voteOptionTreeDepth);
56
+ voteCounts.counts = this.counts.map((x) => BigInt(x.toString()));
57
+ voteCounts.nonce = BigInt(this.nonce.toString());
58
+ return voteCounts;
59
+ };
60
+ (0, assert_1.default)(5 ** voteOptionTreeDepth >= totalVoteOptions);
61
+ (0, assert_1.default)(totalVoteOptions >= 0);
62
+ this.voteOptionTreeDepth = voteOptionTreeDepth;
63
+ for (let i = 0; i < totalVoteOptions; i += 1) {
64
+ this.counts.push(0n);
65
+ }
66
+ }
67
+ /**
68
+ * Generate a blank VoteCounts object
69
+ * @param totalVoteOptions How many vote options are available
70
+ * @param voteOptionTreeDepth How deep is the merkle tree holding the vote options
71
+ * @returns a Blank VoteCounts object
72
+ */
73
+ static generateBlank(totalVoteOptions, voteOptionTreeDepth) {
74
+ return new VoteCounts(totalVoteOptions, voteOptionTreeDepth);
75
+ }
76
+ /**
77
+ * Check if two vote counts are equal (same counts and same nonce)
78
+ * @param voteCounts - The vote counts to compare with
79
+ * @returns whether the two vote counts are equal
80
+ */
81
+ equals(voteCounts) {
82
+ const isEqualVotes = this.counts.every((vote, index) => vote === voteCounts.counts[index]);
83
+ return isEqualVotes ? voteCounts.nonce === this.nonce && this.counts.length === voteCounts.counts.length : false;
84
+ }
85
+ /**
86
+ * Serialize to a JSON object
87
+ *
88
+ * @returns the JSON representation of the vote counts
89
+ */
90
+ toJSON() {
91
+ return {
92
+ counts: this.counts.map((x) => x.toString()),
93
+ nonce: this.nonce.toString(),
94
+ voteOptionTreeDepth: this.voteOptionTreeDepth.toString(),
95
+ };
96
+ }
97
+ /**
98
+ * Deserialize into a VoteCounts instance
99
+ * @param json - the json representation
100
+ * @returns the deserialized object as a VoteCounts instance
101
+ */
102
+ static fromJSON(json) {
103
+ const voteCounts = new VoteCounts(json.counts.length, Number.parseInt(json.voteOptionTreeDepth.toString(), 10));
104
+ voteCounts.counts = json.counts.map((x) => BigInt(x));
105
+ voteCounts.nonce = BigInt(json.nonce);
106
+ return voteCounts;
107
+ }
108
+ }
109
+ exports.VoteCounts = VoteCounts;
110
+ //# sourceMappingURL=voteCounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voteCounts.js","sourceRoot":"","sources":["../../ts/voteCounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../crypto/build/ts/utils.d.ts","../../crypto/build/ts/types.d.ts","../../crypto/build/ts/quinTree.d.ts","../../crypto/build/ts/bigIntUtils.d.ts","../../crypto/build/ts/constants.d.ts","../../crypto/build/ts/keys.d.ts","../../crypto/build/ts/babyjub.d.ts","../../crypto/build/ts/hashing.d.ts","../../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/@types+snarkjs@0.7.9/node_modules/@types/snarkjs/index.d.cts","../../../node_modules/.pnpm/@types+snarkjs@0.7.9/node_modules/@types/snarkjs/index.d.ts","../../../node_modules/.pnpm/@zk-kit+utils@1.2.1/node_modules/@zk-kit/utils/dist/index.d.ts","../../../node_modules/.pnpm/@zk-kit+baby-jubjub@1.0.3/node_modules/@zk-kit/baby-jubjub/dist/index.d.ts","../../../node_modules/.pnpm/@zk-kit+poseidon-cipher@0.3.2/node_modules/@zk-kit/poseidon-cipher/dist/index.d.ts","../../../node_modules/.pnpm/@zk-kit+eddsa-poseidon@1.1.0/node_modules/@zk-kit/eddsa-poseidon/dist/index.d.ts","../../crypto/build/ts/index.d.ts","../ts/publicKey.ts","../ts/types.ts","../ts/ballot.ts","../ts/privateKey.ts","../ts/keyPair.ts","../ts/stateLeaf.ts","../ts/constants.ts","../ts/message.ts","../ts/verifyingKey.ts","../ts/voteCounts.ts","../ts/commands/types.ts","../ts/commands/VoteCommand.ts","../ts/commands/index.ts","../ts/index.ts","../../../node_modules/.pnpm/@types+chai@4.3.20/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@types+mocha@10.0.10/node_modules/@types/mocha/index.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.10.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@24.2.0/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.7/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/index.d.ts","../../../node_modules/.pnpm/@types+eslint-scope@3.7.7/node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/.pnpm/@types+prettier@2.7.3/node_modules/@types/prettier/index.d.ts"],"fileIdsList":[[82,127],[82,127,178,181],[82,127,178,179,180],[82,127,181],[82,124,127],[82,126,127],[127],[82,127,132,162],[82,127,128,133,139,140,147,159,170],[82,127,128,129,139,147],[82,127,130,171],[82,127,131,132,140,148],[82,127,132,159,167],[82,127,133,135,139,147],[82,126,127,134],[82,127,135,136],[82,127,137,139],[82,126,127,139],[82,127,139,140,141,159,170],[82,127,139,140,141,154,159,162],[82,122,127],[82,122,127,135,139,142,147,159,170],[82,127,139,140,142,143,147,159,167,170],[82,127,142,144,159,167,170],[80,81,82,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[82,127,139,145],[82,127,146,170],[82,127,135,139,147,159],[82,127,148],[82,127,149],[82,126,127,150],[82,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[82,127,152],[82,127,153],[82,127,139,154,155],[82,127,154,156,171,173],[82,127,139,159,160,162],[82,127,161,162],[82,127,159,160],[82,127,162],[82,127,163],[82,124,127,159,164],[82,127,139,165,166],[82,127,165,166],[82,127,132,147,159,167],[82,127,168],[82,127,147,169],[82,127,142,153,170],[82,127,132,171],[82,127,159,172],[82,127,146,173],[82,127,174],[82,127,139,141,150,159,162,170,172,173,175],[82,127,159,176],[57,82,127],[59,82,127],[59,60,82,127],[58,82,127],[82,89,92,95,96,127,170],[82,92,127,159,170],[82,92,96,127,170],[82,127,159],[82,86,127],[82,90,127],[82,88,89,92,127,170],[82,127,147,167],[82,127,177],[82,86,127,177],[82,88,92,127,147,170],[82,83,84,85,87,91,127,139,159,170],[82,92,100,127],[82,84,90,127],[82,92,116,117,127],[82,84,87,92,127,162,170,177],[82,92,127],[82,88,92,127,170],[82,83,127],[82,86,87,88,90,91,92,93,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,127],[82,92,109,112,127,135],[82,92,100,101,102,127],[82,90,92,101,103,127],[82,91,127],[82,84,86,92,127],[82,92,96,101,103,127],[82,96,127],[82,90,92,95,127,170],[82,84,88,92,100,127],[82,92,109,127],[82,86,92,116,127,162,175,177],[49,82,127],[48,49,50,51,52,53,54,55,60,61,62,82,127],[63,65,82,124,127],[63,64,67,71,74,82,124,127],[74,75,82,127],[64,69,82,127],[64,65,66,67,68,69,70,71,72,73,76,82,127],[63,64,65,67,82,124,127],[63,64,65,82,124,127],[63,65,82,127],[63,64,65,68,82,127],[63,64,82,127]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"ec8389704b2282d7f8e4da4798de5fd20e9bf3c7a8b289a01ab9e6384277af80","ccb1117accb51a749def10d59f062a8c61eeaef511d1062bae5e4adf0f01e1a6","38e10cc20e7c40f7670a32dbc6fd0abd8d27578bd4b3a012964f246957b7c62f","0c7d936c39037cfc48c558e4b1cad0acda9070a34b6730a8ec736818b32f0d11","d99c5f23f7bf1c105830bb62dc843f3493b299340f2f57f6669de9e3bb35c279","739975b855c8f04cae99803990194bb38c4fa7baffb2c54691c4b18096ed6f59","205218e06f8bab37deb3a60808b6b89989cd8ab23fac719df696c6c44b67e1b1","9a8316bb379d037c3ae202e0bf0b73531775812b045375bde5fa4f4ab90e5ac1",{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"73d7b4877900a649baddf8e689e985553189e93fd9eedbdbbb29912194abfe12","impliedFormat":1},{"version":"02ce6690df0c77317e7c29fc74c400e6d31d41f0026e87c25d6045a01ea08993","impliedFormat":99},{"version":"d7031eee8d87b1027daf58c08b2f91b91e1f4c0f320a382c9ee5ade5b140600e","impliedFormat":99},{"version":"637aa706ffa05af6bdc9cb07c4287b7d224790ad0cf3e629a1549157fec34d9c","impliedFormat":99},{"version":"51a2c83f1c37db18beb632d893d8aec1460054487b3b93453c5f35c6c1a23db7","impliedFormat":99},{"version":"dc1113e7c556c83ce2e0604a5403733906facf38c7378b21c76aac2b7668f8fb","impliedFormat":99},"595f2c1bb0cdfb407297a5e1c4e996e85837d9f54ba418c57380baa594764817",{"version":"3de1e13d28785e1d153a04c37a9a8be5bef5d8a3ca72916558bf9a08936310cc","signature":"17699adba427b72aa73d77f2bd0ab3eb1e66f6dd0b4b6a2ab87f8b432ed48988"},{"version":"12ce2b3bbb851fe5c05081211bb273bdc84cb53134ce992c87d2c2542b165513","signature":"95b06c32a8b38854747ebc69fc068c7daf00cd8f2b86fad48b38a5e7342f6f08"},{"version":"9a85b7037b88b95d00ee171f3412f9120b7281205271337f988b231a4121aad5","signature":"82465212088fa1c9e9bb320276dec739995f8f5ddcc4cfd92ece27fd36fa253c"},{"version":"4a443bd8009dbafa0b4a7652f884408fde82cd49e4d0713f3bdbff5d30f6aecf","signature":"f8de14eeebcf27cc93096c23e122b933789c5b91a7f07c3856b22a4afa0c1e59"},{"version":"46f4f9a779d20d1c4bb43e570e183eac07e457b3103379bb4f58ca74503a2de5","signature":"d7a60093b86e8faab482cff5eaec553d0b10c42e64552a6f430b3266c404ddb6"},{"version":"bcb4b66a9d8ee4f59ca1b11b4623a02b2bbe21a880e3316f98000f0f55359ba3","signature":"657627d177c46325502d03ed7acbe7a275b58f1237072a2b683986b47ab79a46"},{"version":"13e70c4f47b2bfbe38f505e60bbb186ed3774c22d44ad64daeee42d6a11fae8b","signature":"66017896ee80fb707c784735b1cb60bbacb0c8d2eb5455fc5684359bd4e4a1a4"},{"version":"d2464a662503c6367b54fdacc47e4de7e8f81c32f18671c9b796b183d0248d6b","signature":"19c2c0dedc55371eedda7b21192c72c321a42aca537083a47cec210429b26c1d"},{"version":"8821eaa073989ca080440fa0f6ae28dd6a52845d802f4b0fbfcd37563d7d60c2","signature":"cfbce2aae1eb34123bc673f7ef24bc120d6aabc9777866454e2bc5aad0456b44"},{"version":"9e95da908c5f0aa8c7457acdd5a83aa1b4e27a20d52277600f10e213a0eca357","signature":"b91d4ecda2f28da5df7a5a4e86de285c2967b496de5d478c108b1054851af57a"},{"version":"37b6a04ee50c3c09a790c42a0ce0d8f453d53a95a638decc7ea96e91c561e54d","signature":"6589dfb1956285b9251a5aae2bb655b4398ea52d273c47323632e812dce887c6"},{"version":"39f1f3fa53c5ba1708ff266612adb8e41e6725e3918f4d53cfbf217407daa719","signature":"7746139833a526b11bdd16f4fdfae562edd3f50e144ce1e8176ce62f4d385775"},"2152cbc9ebf7c7185594bac7da95954a388bd58d49c36fcc02b553bc5d21a0a9",{"version":"94bdcc189110bb3af460b1830df90914096ecdfe72b5e5ae9f36da181326724e","signature":"c2c32a0c1985be6adc2e6a63cd9a3f37effacc18ff50a368225514a606751313"},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"29f72ec1289ae3aeda78bf14b38086d3d803262ac13904b400422941a26a3636","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"067bdd82d9768baddbdc8df51d85f7b96387c47176bf7f895d2e21e2b6b2f1f4","impliedFormat":1},{"version":"42d30e7d04915facc3ded22b4127c9f517973b4c2b1326e56c10ff70daf6800a","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"55f370475031b3d36af8dd47fb3934dff02e0f1330d13f1977c9e676af5c2e70","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"12aad38de6f0594dc21efa78a2c1f67bf6a7ef5a389e05417fe9945284450908","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"1e080418e53f9b7a05db81ab517c4e1d71b7194ee26ddd54016bcef3ac474bd4","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"3b63610eaabadf26aadf51a563e4b2a8bf56eeaab1094f2a2b21509008eaef0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"e2b48abff5a8adc6bb1cd13a702b9ef05e6045a98e7cfa95a8779b53b6d0e69d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","impliedFormat":1}],"root":[[64,77]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"alwaysStrict":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"strictPropertyInitialization":true,"stripInternal":true,"target":7},"referencedMap":[[78,1],[182,2],[181,3],[180,4],[178,1],[179,1],[79,1],[124,5],[125,5],[126,6],[82,7],[127,8],[128,9],[129,10],[80,1],[130,11],[131,12],[132,13],[133,14],[134,15],[135,16],[136,16],[138,1],[137,17],[139,18],[140,19],[141,20],[123,21],[81,1],[142,22],[143,23],[144,24],[177,25],[145,26],[146,27],[147,28],[148,29],[149,30],[150,31],[151,32],[152,33],[153,34],[154,35],[155,35],[156,36],[157,1],[158,1],[159,37],[161,38],[160,39],[162,40],[163,41],[164,42],[165,43],[166,44],[167,45],[168,46],[169,47],[170,48],[171,49],[172,50],[173,51],[174,52],[175,53],[176,54],[183,1],[57,1],[58,55],[60,56],[62,57],[61,56],[59,58],[56,1],[46,1],[47,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[18,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[44,1],[45,1],[100,59],[111,60],[98,61],[112,62],[121,63],[89,64],[90,65],[88,66],[120,67],[115,68],[119,69],[92,70],[108,71],[91,72],[118,73],[86,74],[87,68],[93,75],[94,1],[99,76],[97,75],[84,77],[122,78],[113,79],[103,80],[102,75],[104,81],[106,82],[101,83],[105,84],[116,67],[95,85],[96,86],[107,87],[85,62],[110,88],[109,75],[114,1],[83,1],[117,89],[54,1],[51,90],[52,1],[55,90],[63,91],[53,90],[50,90],[49,1],[48,1],[66,92],[75,93],[76,94],[74,1],[70,95],[77,96],[68,97],[71,98],[67,99],[64,92],[69,100],[65,101],[72,99],[73,92]],"latestChangedDtsFile":"./ts/index.d.ts","version":"5.9.2"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@maci-protocol/domainobjs",
3
+ "version": "0.0.0-ci.00107eb",
4
+ "private": false,
5
+ "description": "Classes representing domain objects for MACI",
6
+ "main": "build/ts/index.js",
7
+ "files": [
8
+ "build",
9
+ "README.md",
10
+ "CHANGELOG.md"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "scripts": {
16
+ "watch": "tsc --watch",
17
+ "build": "tsc -p tsconfig.build.json",
18
+ "types": "tsc -p tsconfig.json --noEmit",
19
+ "test": "nyc ts-mocha --exit ts/__tests__/**.test.ts",
20
+ "docs": "typedoc --plugin typedoc-plugin-markdown --options ./typedoc.json"
21
+ },
22
+ "devDependencies": {
23
+ "@types/chai": "^4.3.11",
24
+ "@types/mocha": "^10.0.10",
25
+ "@types/node": "^24.2.0",
26
+ "chai": "^4.3.10",
27
+ "mocha": "^11.7.2",
28
+ "nyc": "^17.1.0",
29
+ "ts-mocha": "^11.1.0"
30
+ },
31
+ "dependencies": {
32
+ "@maci-protocol/crypto": "0.0.0-ci.00107eb"
33
+ },
34
+ "nyc": {
35
+ "reporter": [
36
+ "text",
37
+ "lcov"
38
+ ],
39
+ "extensions": [
40
+ ".ts"
41
+ ],
42
+ "all": true,
43
+ "exclude": [
44
+ "**/__tests__/*.ts",
45
+ "**/*.js",
46
+ "**/*.d.ts",
47
+ "ts/index.ts"
48
+ ],
49
+ "branches": ">50%",
50
+ "lines": ">50%",
51
+ "functions": ">50%",
52
+ "statements": ">50%"
53
+ },
54
+ "gitHead": "a35d35aea039b6cd1abbe8d842ac2aa754661135"
55
+ }