@maci-protocol/domainobjs 0.0.0-ci.2df0337 → 0.0.0-ci.2ea88a0
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/ballot.d.ts +8 -7
- package/build/ts/ballot.d.ts.map +1 -1
- package/build/ts/ballot.js +19 -19
- package/build/ts/ballot.js.map +1 -1
- package/build/ts/commands/{PCommand.d.ts → VoteCommand.d.ts} +11 -11
- package/build/ts/commands/VoteCommand.d.ts.map +1 -0
- package/build/ts/commands/{PCommand.js → VoteCommand.js} +23 -23
- package/build/ts/commands/VoteCommand.js.map +1 -0
- package/build/ts/commands/index.d.ts +1 -1
- package/build/ts/commands/index.d.ts.map +1 -1
- package/build/ts/commands/index.js +3 -3
- package/build/ts/commands/index.js.map +1 -1
- package/build/ts/constants.d.ts.map +1 -1
- package/build/ts/constants.js +2 -2
- package/build/ts/constants.js.map +1 -1
- package/build/ts/index.d.ts +3 -2
- package/build/ts/index.d.ts.map +1 -1
- package/build/ts/index.js +5 -3
- package/build/ts/index.js.map +1 -1
- package/build/ts/keyPair.d.ts +2 -2
- package/build/ts/keyPair.d.ts.map +1 -1
- package/build/ts/keyPair.js +10 -11
- package/build/ts/keyPair.js.map +1 -1
- package/build/ts/message.d.ts.map +1 -1
- package/build/ts/message.js +1 -1
- package/build/ts/message.js.map +1 -1
- package/build/ts/privateKey.d.ts +6 -6
- package/build/ts/privateKey.d.ts.map +1 -1
- package/build/ts/privateKey.js +11 -11
- package/build/ts/privateKey.js.map +1 -1
- package/build/ts/publicKey.d.ts +10 -10
- package/build/ts/publicKey.d.ts.map +1 -1
- package/build/ts/publicKey.js +17 -17
- package/build/ts/publicKey.js.map +1 -1
- package/build/ts/stateLeaf.d.ts +2 -2
- package/build/ts/stateLeaf.d.ts.map +1 -1
- package/build/ts/stateLeaf.js +3 -3
- package/build/ts/stateLeaf.js.map +1 -1
- package/build/ts/types.d.ts +19 -2
- package/build/ts/types.d.ts.map +1 -1
- package/build/ts/verifyingKey.d.ts +7 -7
- package/build/ts/verifyingKey.d.ts.map +1 -1
- package/build/ts/verifyingKey.js +9 -9
- package/build/ts/verifyingKey.js.map +1 -1
- package/build/ts/voteCounts.d.ts +63 -0
- package/build/ts/voteCounts.d.ts.map +1 -0
- package/build/ts/voteCounts.js +110 -0
- package/build/ts/voteCounts.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/build/ts/commands/PCommand.d.ts.map +0 -1
- package/build/ts/commands/PCommand.js.map +0 -1
package/build/ts/privateKey.js
CHANGED
|
@@ -13,31 +13,31 @@ exports.SERIALIZED_PRIV_KEY_PREFIX = "macisk.";
|
|
|
13
13
|
class PrivateKey {
|
|
14
14
|
/**
|
|
15
15
|
* Generate a new Private key object
|
|
16
|
-
* @param
|
|
16
|
+
* @param raw the raw private key (a bigint)
|
|
17
17
|
*/
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(raw) {
|
|
19
19
|
/**
|
|
20
20
|
* Create a copy of this Private key
|
|
21
21
|
* @returns a copy of the Private key
|
|
22
22
|
*/
|
|
23
|
-
this.copy = () => new PrivateKey(BigInt(this.
|
|
23
|
+
this.copy = () => new PrivateKey(BigInt(this.raw.toString()));
|
|
24
24
|
/**
|
|
25
25
|
* Return this Private key as a circuit input
|
|
26
26
|
* @returns the Private key as a circuit input
|
|
27
27
|
*/
|
|
28
|
-
this.asCircuitInputs = () => (0, crypto_1.
|
|
28
|
+
this.asCircuitInputs = () => (0, crypto_1.formatPrivateKeyForBabyJub)(this.raw).toString();
|
|
29
29
|
/**
|
|
30
30
|
* Serialize the private key
|
|
31
31
|
* @returns the serialized private key
|
|
32
32
|
*/
|
|
33
33
|
this.serialize = () => {
|
|
34
|
-
let x = this.
|
|
34
|
+
let x = this.raw.toString(16);
|
|
35
35
|
if (x.length % 2 !== 0) {
|
|
36
36
|
x = `0${x}`;
|
|
37
37
|
}
|
|
38
38
|
return `${exports.SERIALIZED_PRIV_KEY_PREFIX}${x.padStart(64, "0")}`;
|
|
39
39
|
};
|
|
40
|
-
this.
|
|
40
|
+
this.raw = raw;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Serialize this object
|
|
@@ -68,12 +68,12 @@ PrivateKey.deserialize = (s) => {
|
|
|
68
68
|
};
|
|
69
69
|
/**
|
|
70
70
|
* Check if the serialized private key is valid
|
|
71
|
-
* @param
|
|
71
|
+
* @param serialized the serialized private key
|
|
72
72
|
* @returns whether it is a valid serialized private key
|
|
73
73
|
*/
|
|
74
|
-
PrivateKey.
|
|
75
|
-
const correctPrefix =
|
|
76
|
-
const
|
|
77
|
-
return correctPrefix &&
|
|
74
|
+
PrivateKey.isValidSerialized = (serialized) => {
|
|
75
|
+
const correctPrefix = serialized.startsWith(exports.SERIALIZED_PRIV_KEY_PREFIX);
|
|
76
|
+
const body = serialized.slice(exports.SERIALIZED_PRIV_KEY_PREFIX.length);
|
|
77
|
+
return correctPrefix && body.length === 64;
|
|
78
78
|
};
|
|
79
79
|
//# sourceMappingURL=privateKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privateKey.js","sourceRoot":"","sources":["../../ts/privateKey.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"privateKey.js","sourceRoot":"","sources":["../../ts/privateKey.ts"],"names":[],"mappings":";;;AAAA,kDAAqG;AAIxF,QAAA,0BAA0B,GAAG,SAAS,CAAC;AAEpD;;;;;;GAMG;AACH,MAAa,UAAU;IAGrB;;;OAGG;IACH,YAAY,GAAkB;QAI9B;;;WAGG;QACH,SAAI,GAAG,GAAe,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAErE;;;WAGG;QACH,oBAAe,GAAG,GAAW,EAAE,CAAC,IAAA,mCAA0B,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhF;;;WAGG;QACH,cAAS,GAAG,GAAW,EAAE;YACvB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACd,CAAC;YAED,OAAO,GAAG,kCAA0B,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/D,CAAC,CAAC;QA1BA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAiDD;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAqB;QACnC,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;;AA1EH,gCA2EC;AAvCC;;;;GAIG;AACI,sBAAW,GAAG,CAAC,CAAS,EAAc,EAAE;IAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kCAA0B,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC,AAHiB,CAGhB;AAEF;;;;GAIG;AACI,4BAAiB,GAAG,CAAC,UAAkB,EAAW,EAAE;IACzD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,kCAA0B,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,kCAA0B,CAAC,MAAM,CAAC,CAAC;IAEjE,OAAO,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;AAC7C,CAAC,AALuB,CAKtB"}
|
package/build/ts/publicKey.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PublicKey as
|
|
1
|
+
import { type PublicKey as RawPublicKey } from "@maci-protocol/crypto";
|
|
2
2
|
import type { IJsonPublicKey, IG1ContractParams } from "./types";
|
|
3
3
|
export declare const SERIALIZED_PUB_KEY_PREFIX = "macipk.";
|
|
4
4
|
/**
|
|
@@ -10,7 +10,7 @@ export declare const SERIALIZED_PUB_KEY_PREFIX = "macipk.";
|
|
|
10
10
|
* BigIntegers (x, y) representing a point on the baby jubjub curve
|
|
11
11
|
*/
|
|
12
12
|
export declare class PublicKey {
|
|
13
|
-
|
|
13
|
+
raw: RawPublicKey;
|
|
14
14
|
/**
|
|
15
15
|
* Create a new instance of a public key
|
|
16
16
|
* @dev You might want to allow an invalid raw key,
|
|
@@ -18,10 +18,10 @@ export declare class PublicKey {
|
|
|
18
18
|
* will be random, and likely not be a point on the curve.
|
|
19
19
|
* However we need to match keys to the circuit which does
|
|
20
20
|
* not perform such checks
|
|
21
|
-
* @param
|
|
21
|
+
* @param raw the raw public key
|
|
22
22
|
* @param allowInvalid whether to allow invalid public keys
|
|
23
23
|
*/
|
|
24
|
-
constructor(
|
|
24
|
+
constructor(raw: RawPublicKey, allowInvalid?: boolean);
|
|
25
25
|
/**
|
|
26
26
|
* Create a copy of the public key
|
|
27
27
|
* @returns a copy of the public key
|
|
@@ -54,10 +54,10 @@ export declare class PublicKey {
|
|
|
54
54
|
hash: () => bigint;
|
|
55
55
|
/**
|
|
56
56
|
* Check whether this public key equals to another public key
|
|
57
|
-
* @param
|
|
57
|
+
* @param key the public key to compare with
|
|
58
58
|
* @returns whether they match
|
|
59
59
|
*/
|
|
60
|
-
equals: (
|
|
60
|
+
equals: (key: PublicKey) => boolean;
|
|
61
61
|
/**
|
|
62
62
|
* Deserialize a serialized public key
|
|
63
63
|
* @param s the serialized public key
|
|
@@ -69,7 +69,7 @@ export declare class PublicKey {
|
|
|
69
69
|
* @param s the serialized public key
|
|
70
70
|
* @returns whether the serialized public key is valid
|
|
71
71
|
*/
|
|
72
|
-
static
|
|
72
|
+
static isValidSerialized: (s: string) => boolean;
|
|
73
73
|
/**
|
|
74
74
|
* Serialize this object
|
|
75
75
|
*/
|
|
@@ -81,9 +81,9 @@ export declare class PublicKey {
|
|
|
81
81
|
*/
|
|
82
82
|
static fromJSON(json: IJsonPublicKey): PublicKey;
|
|
83
83
|
/**
|
|
84
|
-
* Generate a default
|
|
85
|
-
* @returns a default
|
|
84
|
+
* Generate a default padding key
|
|
85
|
+
* @returns a default padding key
|
|
86
86
|
*/
|
|
87
|
-
static
|
|
87
|
+
static generatePaddingKey(): PublicKey;
|
|
88
88
|
}
|
|
89
89
|
//# sourceMappingURL=publicKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicKey.d.ts","sourceRoot":"","sources":["../../ts/publicKey.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"publicKey.d.ts","sourceRoot":"","sources":["../../ts/publicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,IAAI,YAAY,EAC/B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjE,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,GAAG,EAAE,YAAY,CAAC;IAElB;;;;;;;;;OASG;gBACS,GAAG,EAAE,YAAY,EAAE,YAAY,UAAQ;IAOnD;;;OAGG;IACH,IAAI,QAAO,SAAS,CAAoF;IAExG;;;OAGG;IACH,eAAe,QAAO,iBAAiB,CAOrC;IAEF;;;OAGG;IACH,eAAe,QAAO,MAAM,EAAE,CAAsC;IAEpE;;;OAGG;IACH,OAAO,QAAO,MAAM,EAAE,CAA+B;IAErD;;;OAGG;IACH,SAAS,QAAO,MAAM,CAQpB;IAEF;;;OAGG;IACH,IAAI,QAAO,MAAM,CAA4C;IAE7D;;;;OAIG;IACH,MAAM,GAAI,KAAK,SAAS,KAAG,OAAO,CAA6D;IAE/F;;;;OAIG;IACH,MAAM,CAAC,WAAW,GAAI,GAAG,MAAM,KAAG,SAAS,CAGzC;IAEF;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,GAAI,GAAG,MAAM,KAAG,OAAO,CAS7C;IAEF;;OAEG;IACH,MAAM,IAAI,cAAc;IAMxB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS;IAIhD;;;OAGG;IACH,MAAM,CAAC,kBAAkB,IAAI,SAAS;CAYvC"}
|
package/build/ts/publicKey.js
CHANGED
|
@@ -23,21 +23,21 @@ class PublicKey {
|
|
|
23
23
|
* will be random, and likely not be a point on the curve.
|
|
24
24
|
* However we need to match keys to the circuit which does
|
|
25
25
|
* not perform such checks
|
|
26
|
-
* @param
|
|
26
|
+
* @param raw the raw public key
|
|
27
27
|
* @param allowInvalid whether to allow invalid public keys
|
|
28
28
|
*/
|
|
29
|
-
constructor(
|
|
29
|
+
constructor(raw, allowInvalid = false) {
|
|
30
30
|
/**
|
|
31
31
|
* Create a copy of the public key
|
|
32
32
|
* @returns a copy of the public key
|
|
33
33
|
*/
|
|
34
|
-
this.copy = () => new PublicKey([BigInt(this.
|
|
34
|
+
this.copy = () => new PublicKey([BigInt(this.raw[0].toString()), BigInt(this.raw[1].toString())]);
|
|
35
35
|
/**
|
|
36
36
|
* Return this public key as smart contract parameters
|
|
37
37
|
* @returns the public key as smart contract parameters
|
|
38
38
|
*/
|
|
39
39
|
this.asContractParam = () => {
|
|
40
|
-
const [x, y] = this.
|
|
40
|
+
const [x, y] = this.raw;
|
|
41
41
|
return {
|
|
42
42
|
x: x.toString(),
|
|
43
43
|
y: y.toString(),
|
|
@@ -47,18 +47,18 @@ class PublicKey {
|
|
|
47
47
|
* Return this public key as circuit inputs
|
|
48
48
|
* @returns an array of strings
|
|
49
49
|
*/
|
|
50
|
-
this.asCircuitInputs = () => this.
|
|
50
|
+
this.asCircuitInputs = () => this.raw.map((x) => x.toString());
|
|
51
51
|
/**
|
|
52
52
|
* Return this public key as an array of bigints
|
|
53
53
|
* @returns the public key as an array of bigints
|
|
54
54
|
*/
|
|
55
|
-
this.asArray = () => [this.
|
|
55
|
+
this.asArray = () => [this.raw[0], this.raw[1]];
|
|
56
56
|
/**
|
|
57
57
|
* Generate a serialized public key from this public key object
|
|
58
58
|
* @returns the string representation of a serialized public key
|
|
59
59
|
*/
|
|
60
60
|
this.serialize = () => {
|
|
61
|
-
const packed = (0, crypto_1.
|
|
61
|
+
const packed = (0, crypto_1.packPublicKey)(this.raw).toString(16);
|
|
62
62
|
if (packed.length % 2 !== 0) {
|
|
63
63
|
return `${exports.SERIALIZED_PUB_KEY_PREFIX}0${packed}`;
|
|
64
64
|
}
|
|
@@ -68,17 +68,17 @@ class PublicKey {
|
|
|
68
68
|
* Hash the two baby jubjub coordinates
|
|
69
69
|
* @returns the hash of this public key
|
|
70
70
|
*/
|
|
71
|
-
this.hash = () => (0, crypto_1.hashLeftRight)(this.
|
|
71
|
+
this.hash = () => (0, crypto_1.hashLeftRight)(this.raw[0], this.raw[1]);
|
|
72
72
|
/**
|
|
73
73
|
* Check whether this public key equals to another public key
|
|
74
|
-
* @param
|
|
74
|
+
* @param key the public key to compare with
|
|
75
75
|
* @returns whether they match
|
|
76
76
|
*/
|
|
77
|
-
this.equals = (
|
|
77
|
+
this.equals = (key) => this.raw[0] === key.raw[0] && this.raw[1] === key.raw[1];
|
|
78
78
|
if (!allowInvalid) {
|
|
79
|
-
(0, assert_1.default)((0, crypto_1.inCurve)(
|
|
79
|
+
(0, assert_1.default)((0, crypto_1.inCurve)(raw), "PublicKey not on curve");
|
|
80
80
|
}
|
|
81
|
-
this.
|
|
81
|
+
this.raw = raw;
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
* Serialize this object
|
|
@@ -97,10 +97,10 @@ class PublicKey {
|
|
|
97
97
|
return PublicKey.deserialize(json.publicKey);
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
|
-
* Generate a default
|
|
101
|
-
* @returns a default
|
|
100
|
+
* Generate a default padding key
|
|
101
|
+
* @returns a default padding key
|
|
102
102
|
*/
|
|
103
|
-
static
|
|
103
|
+
static generatePaddingKey() {
|
|
104
104
|
// This public key is the first Pedersen base
|
|
105
105
|
// point from iden3's circomlib implementation of the Pedersen hash.
|
|
106
106
|
// Since it is generated using a hash-to-curve function, we are
|
|
@@ -121,14 +121,14 @@ exports.PublicKey = PublicKey;
|
|
|
121
121
|
*/
|
|
122
122
|
PublicKey.deserialize = (s) => {
|
|
123
123
|
const len = exports.SERIALIZED_PUB_KEY_PREFIX.length;
|
|
124
|
-
return new PublicKey((0, crypto_1.
|
|
124
|
+
return new PublicKey((0, crypto_1.unpackPublicKey)(BigInt(`0x${s.slice(len).toString()}`)));
|
|
125
125
|
};
|
|
126
126
|
/**
|
|
127
127
|
* Check whether a serialized public key is serialized correctly
|
|
128
128
|
* @param s the serialized public key
|
|
129
129
|
* @returns whether the serialized public key is valid
|
|
130
130
|
*/
|
|
131
|
-
PublicKey.
|
|
131
|
+
PublicKey.isValidSerialized = (s) => {
|
|
132
132
|
const correctPrefix = s.startsWith(exports.SERIALIZED_PUB_KEY_PREFIX);
|
|
133
133
|
try {
|
|
134
134
|
PublicKey.deserialize(s);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicKey.js","sourceRoot":"","sources":["../../ts/publicKey.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"publicKey.js","sourceRoot":"","sources":["../../ts/publicKey.ts"],"names":[],"mappings":"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"}
|
package/build/ts/stateLeaf.d.ts
CHANGED
|
@@ -22,12 +22,12 @@ export declare class StateLeaf implements IStateLeaf {
|
|
|
22
22
|
* Generate a blank state leaf
|
|
23
23
|
* @returns a blank state leaf
|
|
24
24
|
*/
|
|
25
|
-
static
|
|
25
|
+
static generateBlank(): StateLeaf;
|
|
26
26
|
/**
|
|
27
27
|
* Generate a random leaf (random salt and random key pair)
|
|
28
28
|
* @returns a random state leaf
|
|
29
29
|
*/
|
|
30
|
-
static
|
|
30
|
+
static generateRandom(): StateLeaf;
|
|
31
31
|
/**
|
|
32
32
|
* Return this state leaf as an array of bigints
|
|
33
33
|
* @returns the state leaf as an array of bigints
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateLeaf.d.ts","sourceRoot":"","sources":["../../ts/stateLeaf.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,SAAS,EAAE,SAAS,CAAC;IAErB,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;gBACS,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM;IAK5D;;;OAGG;IACH,IAAI,IAAI,SAAS;IAIjB;;;OAGG;IACH,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"stateLeaf.d.ts","sourceRoot":"","sources":["../../ts/stateLeaf.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,SAAS,EAAE,SAAS,CAAC;IAErB,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;gBACS,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM;IAK5D;;;OAGG;IACH,IAAI,IAAI,SAAS;IAIjB;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,SAAS;IAkBjC;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,SAAS;IAKlC;;;OAGG;IACH,OAAO,CAAC,OAAO,CAA0E;IAEzF;;;OAGG;IACH,eAAe,QAAO,MAAM,EAAE,CAAmB;IAEjD;;;OAGG;IACH,IAAI,QAAO,MAAM,CAA0B;IAE3C;;;OAGG;IACH,eAAe,IAAI,wBAAwB;IAO3C;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAIhC;;;;;OAKG;IACH,SAAS,QAAO,MAAM,CAIpB;IAEF;;;;OAIG;IACH,MAAM,CAAC,WAAW,GAAI,YAAY,MAAM,KAAG,SAAS,CAKlD;IAEF;;OAEG;IACH,MAAM,IAAI,cAAc;IAOxB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS;CAGjD"}
|
package/build/ts/stateLeaf.js
CHANGED
|
@@ -54,7 +54,7 @@ class StateLeaf {
|
|
|
54
54
|
* Generate a blank state leaf
|
|
55
55
|
* @returns a blank state leaf
|
|
56
56
|
*/
|
|
57
|
-
static
|
|
57
|
+
static generateBlank() {
|
|
58
58
|
// The public key for a blank state leaf is the first Pedersen base
|
|
59
59
|
// point from iden3's circomlib implementation of the Pedersen hash.
|
|
60
60
|
// Since it is generated using a hash-to-curve function, we are
|
|
@@ -72,9 +72,9 @@ class StateLeaf {
|
|
|
72
72
|
* Generate a random leaf (random salt and random key pair)
|
|
73
73
|
* @returns a random state leaf
|
|
74
74
|
*/
|
|
75
|
-
static
|
|
75
|
+
static generateRandom() {
|
|
76
76
|
const keypair = new keyPair_1.Keypair();
|
|
77
|
-
return new StateLeaf(keypair.publicKey, (0, crypto_1.
|
|
77
|
+
return new StateLeaf(keypair.publicKey, (0, crypto_1.generateRandomSalt)());
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Return this state leaf as a contract param
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateLeaf.js","sourceRoot":"","sources":["../../ts/stateLeaf.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"stateLeaf.js","sourceRoot":"","sources":["../../ts/stateLeaf.ts"],"names":[],"mappings":"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"}
|
package/build/ts/types.d.ts
CHANGED
|
@@ -40,14 +40,14 @@ export interface IG2ContractParams {
|
|
|
40
40
|
x: BigNumberish[];
|
|
41
41
|
y: BigNumberish[];
|
|
42
42
|
}
|
|
43
|
-
export interface
|
|
43
|
+
export interface IVerifyingKeyContractParams {
|
|
44
44
|
alpha1: IG1ContractParams;
|
|
45
45
|
beta2: IG2ContractParams;
|
|
46
46
|
gamma2: IG2ContractParams;
|
|
47
47
|
delta2: IG2ContractParams;
|
|
48
48
|
ic: IG1ContractParams[];
|
|
49
49
|
}
|
|
50
|
-
export interface
|
|
50
|
+
export interface IVerifyingKeyObjectParams {
|
|
51
51
|
protocol: BigNumberish;
|
|
52
52
|
curve: BigNumberish;
|
|
53
53
|
nPublic: BigNumberish;
|
|
@@ -70,4 +70,21 @@ export interface IJsonBallot {
|
|
|
70
70
|
nonce: BigNumberish;
|
|
71
71
|
voteOptionTreeDepth: BigNumberish;
|
|
72
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
|
+
}
|
|
73
90
|
//# sourceMappingURL=types.d.ts.map
|
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,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,
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { G1Point, G2Point } from "@maci-protocol/crypto";
|
|
2
|
-
import type {
|
|
2
|
+
import type { IVerifyingKeyContractParams, IVerifyingKeyObjectParams } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* @notice A TS Class representing a zk-SNARK VerifyingKey
|
|
5
5
|
*/
|
|
@@ -23,19 +23,19 @@ export declare class VerifyingKey {
|
|
|
23
23
|
* to the smart contract
|
|
24
24
|
* @returns the object representation of this
|
|
25
25
|
*/
|
|
26
|
-
asContractParam():
|
|
26
|
+
asContractParam(): IVerifyingKeyContractParams;
|
|
27
27
|
/**
|
|
28
|
-
* Create a new verifying key from a contract representation of the
|
|
28
|
+
* Create a new verifying key from a contract representation of the verifying key
|
|
29
29
|
* @param data the object representation
|
|
30
30
|
* @returns a new VerifyingKey
|
|
31
31
|
*/
|
|
32
|
-
static fromContract(data:
|
|
32
|
+
static fromContract(data: IVerifyingKeyContractParams): VerifyingKey;
|
|
33
33
|
/**
|
|
34
34
|
* Check whether this is equal to another verifying key
|
|
35
|
-
* @param
|
|
35
|
+
* @param verifyingKey the other verifying key
|
|
36
36
|
* @returns whether this is equal to the other verifying key
|
|
37
37
|
*/
|
|
38
|
-
equals(
|
|
38
|
+
equals(verifyingKey: VerifyingKey): boolean;
|
|
39
39
|
/**
|
|
40
40
|
* Produce a copy of this verifying key
|
|
41
41
|
* @returns the copy
|
|
@@ -52,6 +52,6 @@ export declare class VerifyingKey {
|
|
|
52
52
|
* @param data the object representation
|
|
53
53
|
* @returns the VerifyingKey
|
|
54
54
|
*/
|
|
55
|
-
static fromObj: (data:
|
|
55
|
+
static fromObj: (data: IVerifyingKeyObjectParams) => VerifyingKey;
|
|
56
56
|
}
|
|
57
57
|
//# sourceMappingURL=verifyingKey.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
package/build/ts/verifyingKey.js
CHANGED
|
@@ -36,7 +36,7 @@ class VerifyingKey {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Create a new verifying key from a contract representation of the
|
|
39
|
+
* Create a new verifying key from a contract representation of the verifying key
|
|
40
40
|
* @param data the object representation
|
|
41
41
|
* @returns a new VerifyingKey
|
|
42
42
|
*/
|
|
@@ -46,19 +46,19 @@ class VerifyingKey {
|
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Check whether this is equal to another verifying key
|
|
49
|
-
* @param
|
|
49
|
+
* @param verifyingKey the other verifying key
|
|
50
50
|
* @returns whether this is equal to the other verifying key
|
|
51
51
|
*/
|
|
52
|
-
equals(
|
|
52
|
+
equals(verifyingKey) {
|
|
53
53
|
// Immediately return false if the length doesn't match
|
|
54
|
-
if (this.ic.length !==
|
|
54
|
+
if (this.ic.length !== verifyingKey.ic.length) {
|
|
55
55
|
return false;
|
|
56
56
|
}
|
|
57
|
-
const icEqual = this.ic.every((ic, index) => ic.equals(
|
|
58
|
-
return (this.alpha1.equals(
|
|
59
|
-
this.beta2.equals(
|
|
60
|
-
this.gamma2.equals(
|
|
61
|
-
this.delta2.equals(
|
|
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
62
|
icEqual);
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
@@ -1 +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,
|
|
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"}
|