@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.37 → 8.2.1-alpha.371

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 (94) hide show
  1. package/dist/src/curves/ed25519.d.ts +0 -1
  2. package/dist/src/curves/ed25519.d.ts.map +1 -1
  3. package/dist/src/curves/ed25519.js +12 -12
  4. package/dist/src/curves/ed25519Bip32HdTree.js +14 -14
  5. package/dist/src/curves/index.js +6 -2
  6. package/dist/src/curves/secp256k1.d.ts +0 -1
  7. package/dist/src/curves/secp256k1.d.ts.map +1 -1
  8. package/dist/src/curves/secp256k1.js +22 -38
  9. package/dist/src/curves/secp256k1Bip32HdTree.js +10 -10
  10. package/dist/src/curves/types.d.ts +2 -3
  11. package/dist/src/curves/types.d.ts.map +1 -1
  12. package/dist/src/curves/util.d.ts +2 -0
  13. package/dist/src/curves/util.d.ts.map +1 -1
  14. package/dist/src/curves/util.js +34 -3
  15. package/dist/src/hashCommitment.d.ts +0 -1
  16. package/dist/src/hashCommitment.d.ts.map +1 -1
  17. package/dist/src/hashCommitment.js +7 -8
  18. package/dist/src/index.d.ts +1 -1
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +24 -10
  21. package/dist/src/openssl/index.js +6 -2
  22. package/dist/src/openssl/openssl.d.ts +1 -2
  23. package/dist/src/openssl/openssl.d.ts.map +1 -1
  24. package/dist/src/openssl/openssl.js +4 -12
  25. package/dist/src/safePrime.d.ts +3 -0
  26. package/dist/src/safePrime.d.ts.map +1 -0
  27. package/dist/src/safePrime.js +19 -0
  28. package/dist/src/schnorrProof.d.ts +0 -1
  29. package/dist/src/schnorrProof.d.ts.map +1 -1
  30. package/dist/src/schnorrProof.js +8 -9
  31. package/dist/src/shamir/index.js +6 -2
  32. package/dist/src/shamir/shamir.js +2 -2
  33. package/dist/src/shamir/types.d.ts +1 -1
  34. package/dist/src/shamir/types.d.ts.map +1 -1
  35. package/dist/src/tss/ecdsa/index.d.ts +2 -4
  36. package/dist/src/tss/ecdsa/index.d.ts.map +1 -1
  37. package/dist/src/tss/ecdsa/index.js +26 -17
  38. package/dist/src/tss/ecdsa/{paillierProof.d.ts → paillierproof.d.ts} +1 -1
  39. package/dist/src/tss/ecdsa/{paillierProof.d.ts.map → paillierproof.d.ts.map} +1 -1
  40. package/dist/src/tss/ecdsa/paillierproof.js +86 -0
  41. package/dist/src/tss/ecdsa/{rangeProof.d.ts → rangeproof.d.ts} +2 -3
  42. package/dist/src/tss/ecdsa/rangeproof.d.ts.map +1 -0
  43. package/dist/src/tss/ecdsa/rangeproof.js +394 -0
  44. package/dist/src/tss/ecdsa/types.d.ts +28 -68
  45. package/dist/src/tss/ecdsa/types.d.ts.map +1 -1
  46. package/dist/src/tss/ecdsa/types.js +29 -96
  47. package/dist/src/tss/ecdsa/zkVProof.d.ts +0 -1
  48. package/dist/src/tss/ecdsa/zkVProof.d.ts.map +1 -1
  49. package/dist/src/tss/ecdsa/zkVProof.js +9 -10
  50. package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts +42 -0
  51. package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts.map +1 -0
  52. package/dist/src/tss/ecdsa-dkls/commsLayer.js +235 -0
  53. package/dist/src/tss/ecdsa-dkls/dkg.d.ts +57 -0
  54. package/dist/src/tss/ecdsa-dkls/dkg.d.ts.map +1 -0
  55. package/dist/src/tss/ecdsa-dkls/dkg.js +321 -0
  56. package/dist/src/tss/ecdsa-dkls/dsg.d.ts +47 -0
  57. package/dist/src/tss/ecdsa-dkls/dsg.d.ts.map +1 -0
  58. package/dist/src/tss/ecdsa-dkls/dsg.js +266 -0
  59. package/dist/src/tss/ecdsa-dkls/index.d.ts +6 -0
  60. package/dist/src/tss/ecdsa-dkls/index.d.ts.map +1 -0
  61. package/dist/src/tss/ecdsa-dkls/index.js +42 -0
  62. package/dist/src/tss/ecdsa-dkls/types.d.ts +118 -0
  63. package/dist/src/tss/ecdsa-dkls/types.d.ts.map +1 -0
  64. package/dist/src/tss/ecdsa-dkls/types.js +165 -0
  65. package/dist/src/tss/ecdsa-dkls/util.d.ts +26 -0
  66. package/dist/src/tss/ecdsa-dkls/util.d.ts.map +1 -0
  67. package/dist/src/tss/ecdsa-dkls/util.js +276 -0
  68. package/dist/src/tss/index.d.ts +1 -0
  69. package/dist/src/tss/index.d.ts.map +1 -1
  70. package/dist/src/tss/index.js +7 -2
  71. package/dist/src/types.d.ts +0 -1
  72. package/dist/src/types.d.ts.map +1 -1
  73. package/dist/src/util.d.ts +0 -3
  74. package/dist/src/util.d.ts.map +1 -1
  75. package/dist/src/util.js +21 -65
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +29 -7
  78. package/.eslintignore +0 -5
  79. package/CHANGELOG.md +0 -148
  80. package/dist/src/openssl/opensslbytes.d.ts +0 -4
  81. package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
  82. package/dist/src/openssl/opensslbytes.js +0 -20
  83. package/dist/src/tss/ecdsa/generatePaillierKey.d.ts +0 -6
  84. package/dist/src/tss/ecdsa/generatePaillierKey.d.ts.map +0 -1
  85. package/dist/src/tss/ecdsa/generatePaillierKey.js +0 -52
  86. package/dist/src/tss/ecdsa/noSmallFactorsProof.d.ts +0 -24
  87. package/dist/src/tss/ecdsa/noSmallFactorsProof.d.ts.map +0 -1
  88. package/dist/src/tss/ecdsa/noSmallFactorsProof.js +0 -157
  89. package/dist/src/tss/ecdsa/paillierBlumProof.d.ts +0 -16
  90. package/dist/src/tss/ecdsa/paillierBlumProof.d.ts.map +0 -1
  91. package/dist/src/tss/ecdsa/paillierBlumProof.js +0 -148
  92. package/dist/src/tss/ecdsa/paillierProof.js +0 -86
  93. package/dist/src/tss/ecdsa/rangeProof.d.ts.map +0 -1
  94. package/dist/src/tss/ecdsa/rangeProof.js +0 -404
@@ -1,3 +1,14 @@
1
+ import { SchnorrProof } from '../../types';
2
+ export type XShare = {
3
+ i: number;
4
+ l: string;
5
+ m: string;
6
+ n: string;
7
+ y: string;
8
+ x: string;
9
+ schnorrProofX: SchnorrProof;
10
+ chaincode: string;
11
+ };
1
12
  interface NtildeProof<T> {
2
13
  alpha: T[];
3
14
  t: T[];
@@ -11,24 +22,24 @@ interface Ntilde<T> {
11
22
  h1: T;
12
23
  h2: T;
13
24
  }
14
- export declare type DeserializedNtilde = Ntilde<bigint>;
15
- export declare type SerializedNtilde = Ntilde<string>;
16
- export declare type DeserializedNtildeProof = NtildeProof<bigint>;
17
- export declare type SerializedNtildeProof = NtildeProof<string>;
18
- export declare type DeserializedNtildeProofs = NtildeProofs<bigint>;
19
- export declare type SerializedNtildeProofs = NtildeProofs<string>;
25
+ export type DeserializedNtilde = Ntilde<bigint>;
26
+ export type SerializedNtilde = Ntilde<string>;
27
+ export type DeserializedNtildeProof = NtildeProof<bigint>;
28
+ export type SerializedNtildeProof = NtildeProof<string>;
29
+ export type DeserializedNtildeProofs = NtildeProofs<bigint>;
30
+ export type SerializedNtildeProofs = NtildeProofs<string>;
20
31
  /**
21
32
  * The ntilde proofs are done non-interactively,
22
33
  * therefore a party generates both ntilde, h1, h2 and the proofs without
23
34
  * interaction with the other party.
24
35
  */
25
- export declare type DeserializedNtildeWithProofs = DeserializedNtilde & {
36
+ export type DeserializedNtildeWithProofs = DeserializedNtilde & {
26
37
  ntildeProof: DeserializedNtildeProofs;
27
38
  };
28
- export declare type SerializedNtildeWithProofs = SerializedNtilde & {
39
+ export type SerializedNtildeWithProofs = SerializedNtilde & {
29
40
  ntildeProof: SerializedNtildeProofs;
30
41
  };
31
- export declare type SerializedEcdsaChallenges = SerializedNtilde & SerializedPaillierChallenge;
42
+ export type SerializedEcdsaChallenges = SerializedNtilde & SerializedPaillierChallenge;
32
43
  /**
33
44
  * Deserializes a challenge from hex strings to bigint
34
45
  * @param challenge
@@ -49,23 +60,23 @@ export declare function deserializeNtildeWithProofs(challenge: SerializedNtildeW
49
60
  * @param challenge
50
61
  */
51
62
  export declare function serializeNtildeWithProofs(challenge: DeserializedNtildeWithProofs): SerializedNtildeWithProofs;
52
- declare type PaillierChallenge<T> = {
63
+ type PaillierChallenge<T> = {
53
64
  p: T[];
54
65
  };
55
- declare type PaillierChallengeProof<T> = {
66
+ type PaillierChallengeProof<T> = {
56
67
  sigma: T[];
57
68
  };
58
- export declare type DeserializedPaillierChallenge = PaillierChallenge<bigint>;
59
- export declare type SerializedPaillierChallenge = PaillierChallenge<string>;
60
- export declare type DeserializedPaillierChallengeProofs = PaillierChallengeProof<bigint>;
61
- export declare type SerializedPaillierChallengeProofs = PaillierChallengeProof<string>;
69
+ export type DeserializedPaillierChallenge = PaillierChallenge<bigint>;
70
+ export type SerializedPaillierChallenge = PaillierChallenge<string>;
71
+ export type DeserializedPaillierChallengeProofs = PaillierChallengeProof<bigint>;
72
+ export type SerializedPaillierChallengeProofs = PaillierChallengeProof<string>;
62
73
  /**
63
74
  * The paillier proofs are done interactively between two parties.
64
75
  * If party A is completing a paillier proof $sigma$ with party B, then $p$ refers to
65
76
  * a challenge given to A by B, and $sigma$ represents the proof to the challenge
66
77
  */
67
- export declare type DeserializedPaillierChallengeWithProofs = DeserializedPaillierChallenge & DeserializedPaillierChallengeProofs;
68
- export declare type SerializedPaillierChallengeWithProofs = SerializedPaillierChallenge & SerializedPaillierChallengeProofs;
78
+ export type DeserializedPaillierChallengeWithProofs = DeserializedPaillierChallenge & DeserializedPaillierChallengeProofs;
79
+ export type SerializedPaillierChallengeWithProofs = SerializedPaillierChallenge & SerializedPaillierChallengeProofs;
69
80
  /**
70
81
  * Deserializes a paillier challenge to hex strings.
71
82
  * @param challenge
@@ -96,31 +107,6 @@ export declare function serializePaillierChallengeProofs(challenge: Deserialized
96
107
  * @param challengeWithProofs
97
108
  */
98
109
  export declare function serializePaillierChallengeWithProofs(challengeWithProofs: DeserializedPaillierChallengeWithProofs): SerializedPaillierChallengeWithProofs;
99
- declare type paillierBlumProof<T> = {
100
- w: T;
101
- x: T[];
102
- z: T[];
103
- };
104
- export declare type SerializedPaillierBlumProof = paillierBlumProof<string>;
105
- export declare type DeserializedPaillierBlumProof = paillierBlumProof<bigint>;
106
- /**
107
- * Deserializes a paillier challenge and its proof from hex strings to big ints.
108
- * @param paillierBlumProof
109
- */
110
- export declare function deserializePaillierBlumProof(paillierBlumProof: SerializedPaillierBlumProof): DeserializedPaillierBlumProof;
111
- /**
112
- * Serializes a paillier challenge and its proof to hex strings.
113
- * @param paillierBlumProof
114
- */
115
- export declare function serializePaillierBlumProof(paillierBlumProof: DeserializedPaillierBlumProof): SerializedPaillierBlumProof;
116
- export declare type RawPaillierKey = {
117
- n: bigint;
118
- lambda: bigint;
119
- mu: bigint;
120
- p: bigint;
121
- q: bigint;
122
- };
123
- export declare type DeserializedKeyPairWithPaillierBlumProof = DeserializedPaillierBlumProof & RawPaillierKey;
124
110
  export interface RSAModulus {
125
111
  n: bigint;
126
112
  q1: bigint;
@@ -152,31 +138,5 @@ export interface ZkVProof {
152
138
  t: bigint;
153
139
  u: bigint;
154
140
  }
155
- declare type noSmallFactorsProof<T> = {
156
- P: T;
157
- Q: T;
158
- A: T;
159
- B: T;
160
- T: T;
161
- rho: T;
162
- z1: T;
163
- z2: T;
164
- w1: T;
165
- w2: T;
166
- v: T;
167
- nonce: T;
168
- };
169
- export declare type SerializedNoSmallFactorsProof = noSmallFactorsProof<string>;
170
- export declare type DeserializedNoSmallFactorsProof = noSmallFactorsProof<bigint>;
171
- /**
172
- * Deserializes a Pi^fac proof from hex strings to big ints.
173
- * @param noSmallFactorsProof
174
- */
175
- export declare function deserializeNoSmallFactorsProof(noSmallFactorsProof: SerializedNoSmallFactorsProof): DeserializedNoSmallFactorsProof;
176
- /**
177
- * Serializes a Pi^fac proof to hex strings.
178
- * @param noSmallFactorsProof
179
- */
180
- export declare function serializeNoSmallFactorsProof(noSmallFactorsProof: DeserializedNoSmallFactorsProof): SerializedNoSmallFactorsProof;
181
141
  export {};
182
142
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeNoSmallFactorsProof = exports.deserializeNoSmallFactorsProof = exports.serializePaillierBlumProof = exports.deserializePaillierBlumProof = exports.serializePaillierChallengeWithProofs = exports.serializePaillierChallengeProofs = exports.serializePaillierChallenge = exports.deserializePaillierChallengeWithProofs = exports.deserializePaillierChallengeProofs = exports.deserializePaillierChallenge = exports.serializeNtildeWithProofs = exports.deserializeNtildeWithProofs = exports.serializeNtilde = exports.deserializeNtilde = void 0;
3
+ exports.deserializeNtilde = deserializeNtilde;
4
+ exports.serializeNtilde = serializeNtilde;
5
+ exports.deserializeNtildeWithProofs = deserializeNtildeWithProofs;
6
+ exports.serializeNtildeWithProofs = serializeNtildeWithProofs;
7
+ exports.deserializePaillierChallenge = deserializePaillierChallenge;
8
+ exports.deserializePaillierChallengeProofs = deserializePaillierChallengeProofs;
9
+ exports.deserializePaillierChallengeWithProofs = deserializePaillierChallengeWithProofs;
10
+ exports.serializePaillierChallenge = serializePaillierChallenge;
11
+ exports.serializePaillierChallengeProofs = serializePaillierChallengeProofs;
12
+ exports.serializePaillierChallengeWithProofs = serializePaillierChallengeWithProofs;
4
13
  const util_1 = require("../../util");
5
14
  /**
6
15
  * Deserializes a challenge from hex strings to bigint
@@ -8,24 +17,22 @@ const util_1 = require("../../util");
8
17
  */
9
18
  function deserializeNtilde(challenge) {
10
19
  return {
11
- ntilde: util_1.hexToBigInt(challenge.ntilde),
12
- h1: util_1.hexToBigInt(challenge.h1),
13
- h2: util_1.hexToBigInt(challenge.h2),
20
+ ntilde: (0, util_1.hexToBigInt)(challenge.ntilde),
21
+ h1: (0, util_1.hexToBigInt)(challenge.h1),
22
+ h2: (0, util_1.hexToBigInt)(challenge.h2),
14
23
  };
15
24
  }
16
- exports.deserializeNtilde = deserializeNtilde;
17
25
  /**
18
26
  * Serializes a challenge from big int to hex strings.
19
27
  * @param challenge
20
28
  */
21
29
  function serializeNtilde(challenge) {
22
30
  return {
23
- ntilde: util_1.bigIntToHex(challenge.ntilde),
24
- h1: util_1.bigIntToHex(challenge.h1),
25
- h2: util_1.bigIntToHex(challenge.h2),
31
+ ntilde: (0, util_1.bigIntToHex)(challenge.ntilde),
32
+ h1: (0, util_1.bigIntToHex)(challenge.h1),
33
+ h2: (0, util_1.bigIntToHex)(challenge.h2),
26
34
  };
27
35
  }
28
- exports.serializeNtilde = serializeNtilde;
29
36
  /**
30
37
  * Deserializes a challenge and it's proofs from hex strings to bigint
31
38
  * @param challenge
@@ -35,17 +42,16 @@ function deserializeNtildeWithProofs(challenge) {
35
42
  ...deserializeNtilde(challenge),
36
43
  ntildeProof: {
37
44
  h1WrtH2: {
38
- alpha: util_1.convertHexArrToBigIntArr(challenge.ntildeProof.h1WrtH2.alpha),
39
- t: util_1.convertHexArrToBigIntArr(challenge.ntildeProof.h1WrtH2.t),
45
+ alpha: (0, util_1.convertHexArrToBigIntArr)(challenge.ntildeProof.h1WrtH2.alpha),
46
+ t: (0, util_1.convertHexArrToBigIntArr)(challenge.ntildeProof.h1WrtH2.t),
40
47
  },
41
48
  h2WrtH1: {
42
- alpha: util_1.convertHexArrToBigIntArr(challenge.ntildeProof.h2WrtH1.alpha),
43
- t: util_1.convertHexArrToBigIntArr(challenge.ntildeProof.h2WrtH1.t),
49
+ alpha: (0, util_1.convertHexArrToBigIntArr)(challenge.ntildeProof.h2WrtH1.alpha),
50
+ t: (0, util_1.convertHexArrToBigIntArr)(challenge.ntildeProof.h2WrtH1.t),
44
51
  },
45
52
  },
46
53
  };
47
54
  }
48
- exports.deserializeNtildeWithProofs = deserializeNtildeWithProofs;
49
55
  /**
50
56
  * Serializes a challenge and it's proofs from big int to hex strings.
51
57
  * @param challenge
@@ -55,37 +61,34 @@ function serializeNtildeWithProofs(challenge) {
55
61
  ...serializeNtilde(challenge),
56
62
  ntildeProof: {
57
63
  h1WrtH2: {
58
- alpha: util_1.convertBigIntArrToHexArr(challenge.ntildeProof.h1WrtH2.alpha),
59
- t: util_1.convertBigIntArrToHexArr(challenge.ntildeProof.h1WrtH2.t),
64
+ alpha: (0, util_1.convertBigIntArrToHexArr)(challenge.ntildeProof.h1WrtH2.alpha),
65
+ t: (0, util_1.convertBigIntArrToHexArr)(challenge.ntildeProof.h1WrtH2.t),
60
66
  },
61
67
  h2WrtH1: {
62
- alpha: util_1.convertBigIntArrToHexArr(challenge.ntildeProof.h2WrtH1.alpha),
63
- t: util_1.convertBigIntArrToHexArr(challenge.ntildeProof.h2WrtH1.t),
68
+ alpha: (0, util_1.convertBigIntArrToHexArr)(challenge.ntildeProof.h2WrtH1.alpha),
69
+ t: (0, util_1.convertBigIntArrToHexArr)(challenge.ntildeProof.h2WrtH1.t),
64
70
  },
65
71
  },
66
72
  };
67
73
  }
68
- exports.serializeNtildeWithProofs = serializeNtildeWithProofs;
69
74
  /**
70
75
  * Deserializes a paillier challenge to hex strings.
71
76
  * @param challenge
72
77
  */
73
78
  function deserializePaillierChallenge(challenge) {
74
79
  return {
75
- p: util_1.convertHexArrToBigIntArr(challenge.p),
80
+ p: (0, util_1.convertHexArrToBigIntArr)(challenge.p),
76
81
  };
77
82
  }
78
- exports.deserializePaillierChallenge = deserializePaillierChallenge;
79
83
  /**
80
84
  * Deserializes a paillier challenge proof to hex strings.
81
85
  * @param challenge
82
86
  */
83
87
  function deserializePaillierChallengeProofs(challenge) {
84
88
  return {
85
- sigma: util_1.convertHexArrToBigIntArr(challenge.sigma),
89
+ sigma: (0, util_1.convertHexArrToBigIntArr)(challenge.sigma),
86
90
  };
87
91
  }
88
- exports.deserializePaillierChallengeProofs = deserializePaillierChallengeProofs;
89
92
  /**
90
93
  * Deserializes a paillier challenge and its proof to hex strings.
91
94
  * @param challengeWithProofs
@@ -96,27 +99,24 @@ function deserializePaillierChallengeWithProofs(challengeWithProofs) {
96
99
  ...deserializePaillierChallengeProofs(challengeWithProofs),
97
100
  };
98
101
  }
99
- exports.deserializePaillierChallengeWithProofs = deserializePaillierChallengeWithProofs;
100
102
  /**
101
103
  * Serializes a paillier challenge to hex strings.
102
104
  * @param challenge
103
105
  */
104
106
  function serializePaillierChallenge(challenge) {
105
107
  return {
106
- p: util_1.convertBigIntArrToHexArr(challenge.p, 768),
108
+ p: (0, util_1.convertBigIntArrToHexArr)(challenge.p, 768),
107
109
  };
108
110
  }
109
- exports.serializePaillierChallenge = serializePaillierChallenge;
110
111
  /**
111
112
  * Serializes a paillier challenge proof to hex strings.
112
113
  * @param challenge
113
114
  */
114
115
  function serializePaillierChallengeProofs(challenge) {
115
116
  return {
116
- sigma: util_1.convertBigIntArrToHexArr(challenge.sigma, 768),
117
+ sigma: (0, util_1.convertBigIntArrToHexArr)(challenge.sigma, 768),
117
118
  };
118
119
  }
119
- exports.serializePaillierChallengeProofs = serializePaillierChallengeProofs;
120
120
  /**
121
121
  * Serializes a paillier challenge and its proof to hex strings.
122
122
  * @param challengeWithProofs
@@ -127,71 +127,4 @@ function serializePaillierChallengeWithProofs(challengeWithProofs) {
127
127
  ...serializePaillierChallengeProofs(challengeWithProofs),
128
128
  };
129
129
  }
130
- exports.serializePaillierChallengeWithProofs = serializePaillierChallengeWithProofs;
131
- /**
132
- * Deserializes a paillier challenge and its proof from hex strings to big ints.
133
- * @param paillierBlumProof
134
- */
135
- function deserializePaillierBlumProof(paillierBlumProof) {
136
- return {
137
- w: util_1.hexToBigInt(paillierBlumProof.w),
138
- x: util_1.convertHexArrToBigIntArr(paillierBlumProof.x),
139
- z: util_1.convertHexArrToBigIntArr(paillierBlumProof.z),
140
- };
141
- }
142
- exports.deserializePaillierBlumProof = deserializePaillierBlumProof;
143
- /**
144
- * Serializes a paillier challenge and its proof to hex strings.
145
- * @param paillierBlumProof
146
- */
147
- function serializePaillierBlumProof(paillierBlumProof) {
148
- return {
149
- w: util_1.bigIntToHex(paillierBlumProof.w, 768),
150
- x: util_1.convertBigIntArrToHexArr(paillierBlumProof.x, 768),
151
- z: util_1.convertBigIntArrToHexArr(paillierBlumProof.z, 768),
152
- };
153
- }
154
- exports.serializePaillierBlumProof = serializePaillierBlumProof;
155
- /**
156
- * Deserializes a Pi^fac proof from hex strings to big ints.
157
- * @param noSmallFactorsProof
158
- */
159
- function deserializeNoSmallFactorsProof(noSmallFactorsProof) {
160
- return {
161
- P: util_1.hexToSignedBigInt(noSmallFactorsProof.P),
162
- Q: util_1.hexToSignedBigInt(noSmallFactorsProof.Q),
163
- A: util_1.hexToSignedBigInt(noSmallFactorsProof.A),
164
- B: util_1.hexToSignedBigInt(noSmallFactorsProof.B),
165
- T: util_1.hexToSignedBigInt(noSmallFactorsProof.T),
166
- rho: util_1.hexToSignedBigInt(noSmallFactorsProof.rho),
167
- z1: util_1.hexToSignedBigInt(noSmallFactorsProof.z1),
168
- z2: util_1.hexToSignedBigInt(noSmallFactorsProof.z2),
169
- w1: util_1.hexToSignedBigInt(noSmallFactorsProof.w1),
170
- w2: util_1.hexToSignedBigInt(noSmallFactorsProof.w2),
171
- v: util_1.hexToSignedBigInt(noSmallFactorsProof.v),
172
- nonce: util_1.hexToBigInt(noSmallFactorsProof.nonce),
173
- };
174
- }
175
- exports.deserializeNoSmallFactorsProof = deserializeNoSmallFactorsProof;
176
- /**
177
- * Serializes a Pi^fac proof to hex strings.
178
- * @param noSmallFactorsProof
179
- */
180
- function serializeNoSmallFactorsProof(noSmallFactorsProof) {
181
- return {
182
- P: util_1.signedBigIntToHex(noSmallFactorsProof.P, 2 * (1 + 384)),
183
- Q: util_1.signedBigIntToHex(noSmallFactorsProof.Q, 2 * (1 + 384)),
184
- A: util_1.signedBigIntToHex(noSmallFactorsProof.A, 2 * (1 + 384)),
185
- B: util_1.signedBigIntToHex(noSmallFactorsProof.B, 2 * (1 + 384)),
186
- T: util_1.signedBigIntToHex(noSmallFactorsProof.T, 2 * (1 + 384)),
187
- rho: util_1.signedBigIntToHex(noSmallFactorsProof.rho, 2 * (2 * 384 + 256 / 8)),
188
- z1: util_1.signedBigIntToHex(noSmallFactorsProof.z1, 2 * (1 + 384 / 2 + (256 + 2 * 256) / 8)),
189
- z2: util_1.signedBigIntToHex(noSmallFactorsProof.z2, 2 * (1 + 384 / 2 + (256 + 2 * 256) / 8)),
190
- w1: util_1.signedBigIntToHex(noSmallFactorsProof.w1, 2 * (1 + (256 + 2 * 256) / 8)),
191
- w2: util_1.signedBigIntToHex(noSmallFactorsProof.w2, 2 * (1 + (256 + 2 * 256) / 8)),
192
- v: util_1.signedBigIntToHex(noSmallFactorsProof.v, 2 * (1 + 384 * 2 + (256 + 2 * 256) / 8)),
193
- nonce: util_1.bigIntToHex(noSmallFactorsProof.nonce, 2 * 33),
194
- };
195
- }
196
- exports.serializeNoSmallFactorsProof = serializeNoSmallFactorsProof;
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQU9vQjtBQTBDcEI7OztHQUdHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsU0FBMkI7SUFDM0QsT0FBTztRQUNMLE1BQU0sRUFBRSxrQkFBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsRUFBRSxFQUFFLGtCQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM3QixFQUFFLEVBQUUsa0JBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0tBQzlCLENBQUM7QUFDSixDQUFDO0FBTkQsOENBTUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixlQUFlLENBQUMsU0FBNkI7SUFDM0QsT0FBTztRQUNMLE1BQU0sRUFBRSxrQkFBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsRUFBRSxFQUFFLGtCQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM3QixFQUFFLEVBQUUsa0JBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0tBQzlCLENBQUM7QUFDSixDQUFDO0FBTkQsMENBTUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQiwyQkFBMkIsQ0FBQyxTQUFxQztJQUMvRSxPQUFPO1FBQ0wsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7UUFDL0IsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSwrQkFBd0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BFLENBQUMsRUFBRSwrQkFBd0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDN0Q7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLCtCQUF3QixDQUFDLFNBQVMsQ0FBQyxXQUFXLENB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QixDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFFLHdCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFFLHdCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFFLHdCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFFLHdCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsR0FBRyxFQUFFLHdCQUFpQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4RSxFQUFFLEVBQUUsd0JBQWlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RixFQUFFLEVBQUUsd0JBQWlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RixFQUFFLEVBQUUsd0JBQWlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUUsRUFBRSxFQUFFLHdCQUFpQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsRUFBRSx3QkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLEtBQUssRUFBRSxrQkFBVyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3RELENBQUM7QUFDSixDQUFDO0FBakJELG9FQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJpZ0ludFRvSGV4LFxuICBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIsXG4gIGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycixcbiAgaGV4VG9CaWdJbnQsXG4gIGhleFRvU2lnbmVkQmlnSW50LFxuICBzaWduZWRCaWdJbnRUb0hleCxcbn0gZnJvbSAnLi4vLi4vdXRpbCc7XG5cbi8vIE50aWxkZSBQcm9vZiB3aGVyZSBib3RoIGFscGhhIGFuZCB0IGFyZSBhIHNldCBvZiAxMjggcHJvb2ZzIGVhY2guXG5pbnRlcmZhY2UgTnRpbGRlUHJvb2Y8VD4ge1xuICBhbHBoYTogVFtdO1xuICB0OiBUW107XG59XG5cbi8vIE50aWxkZSBQcm9vZlxuaW50ZXJmYWNlIE50aWxkZVByb29mczxUPiB7XG4gIGgxV3J0SDI6IE50aWxkZVByb29mPFQ+O1xuICBoMldydEgxOiBOdGlsZGVQcm9vZjxUPjtcbn1cblxuLy8gTnRpbGRlIGNoYWxsZW5nZSB2YWx1ZXNcbmludGVyZmFjZSBOdGlsZGU8VD4ge1xuICBudGlsZGU6IFQ7XG4gIGgxOiBUO1xuICBoMjogVDtcbn1cblxuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTnRpbGRlID0gTnRpbGRlPGJpZ2ludD47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlID0gTnRpbGRlPHN0cmluZz47XG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWROdGlsZGVQcm9vZiA9IE50aWxkZVByb29mPGJpZ2ludD47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlUHJvb2YgPSBOdGlsZGVQcm9vZjxzdHJpbmc+O1xuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTnRpbGRlUHJvb2ZzID0gTnRpbGRlUHJvb2ZzPGJpZ2ludD47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlUHJvb2ZzID0gTnRpbGRlUHJvb2ZzPHN0cmluZz47XG5cbi8qKlxuICogVGhlIG50aWxkZSBwcm9vZnMgYXJlIGRvbmUgbm9uLWludGVyYWN0aXZlbHksXG4gKiB0aGVyZWZvcmUgYSBwYXJ0eSBnZW5lcmF0ZXMgYm90aCBudGlsZGUsIGgxLCBoMiBhbmQgdGhlIHByb29mcyB3aXRob3V0XG4gKiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBvdGhlciBwYXJ0eS5cbiAqL1xuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyA9IERlc2VyaWFsaXplZE50aWxkZSAmIHtcbiAgbnRpbGRlUHJvb2Y6IERlc2VyaWFsaXplZE50aWxkZVByb29mcztcbn07XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyA9IFNlcmlhbGl6ZWROdGlsZGUgJiB7XG4gIG50aWxkZVByb29mOiBTZXJpYWxpemVkTnRpbGRlUHJvb2ZzO1xufTtcblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZEVjZHNhQ2hhbGxlbmdlcyA9IFNlcmlhbGl6ZWROdGlsZGUgJiBTZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2U7XG5cbi8qKlxuICogRGVzZXJpYWxpemVzIGEgY2hhbGxlbmdlIGZyb20gaGV4IHN0cmluZ3MgdG8gYmlnaW50XG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZU50aWxkZShjaGFsbGVuZ2U6IFNlcmlhbGl6ZWROdGlsZGUpOiBEZXNlcmlhbGl6ZWROdGlsZGUge1xuICByZXR1cm4ge1xuICAgIG50aWxkZTogaGV4VG9CaWdJbnQoY2hhbGxlbmdlLm50aWxkZSksXG4gICAgaDE6IGhleFRvQmlnSW50KGNoYWxsZW5nZS5oMSksXG4gICAgaDI6IGhleFRvQmlnSW50KGNoYWxsZW5nZS5oMiksXG4gIH07XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIGNoYWxsZW5nZSBmcm9tIGJpZyBpbnQgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVOdGlsZGUoY2hhbGxlbmdlOiBEZXNlcmlhbGl6ZWROdGlsZGUpOiBTZXJpYWxpemVkTnRpbGRlIHtcbiAgcmV0dXJuIHtcbiAgICBudGlsZGU6IGJpZ0ludFRvSGV4KGNoYWxsZW5nZS5udGlsZGUpLFxuICAgIGgxOiBiaWdJbnRUb0hleChjaGFsbGVuZ2UuaDEpLFxuICAgIGgyOiBiaWdJbnRUb0hleChjaGFsbGVuZ2UuaDIpLFxuICB9O1xufVxuXG4vKipcbiAqIERlc2VyaWFsaXplcyBhIGNoYWxsZW5nZSBhbmQgaXQncyBwcm9vZnMgZnJvbSBoZXggc3RyaW5ncyB0byBiaWdpbnRcbiAqIEBwYXJhbSBjaGFsbGVuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplTnRpbGRlV2l0aFByb29mcyhjaGFsbGVuZ2U6IFNlcmlhbGl6ZWROdGlsZGVXaXRoUHJvb2ZzKTogRGVzZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyB7XG4gIHJldHVybiB7XG4gICAgLi4uZGVzZXJpYWxpemVOdGlsZGUoY2hhbGxlbmdlKSxcbiAgICBudGlsZGVQcm9vZjoge1xuICAgICAgaDFXcnRIMjoge1xuICAgICAgICBhbHBoYTogY29udmVydEhleEFyclRvQmlnSW50QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLmFscGhhKSxcbiAgICAgICAgdDogY29udmVydEhleEFyclRvQmlnSW50QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLnQpLFxuICAgICAgfSxcbiAgICAgIGgyV3J0SDE6IHtcbiAgICAgICAgYWxwaGE6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS5hbHBoYSksXG4gICAgICAgIHQ6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS50KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgY2hhbGxlbmdlIGFuZCBpdCdzIHByb29mcyBmcm9tIGJpZyBpbnQgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKGNoYWxsZW5nZTogRGVzZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyk6IFNlcmlhbGl6ZWROdGlsZGVXaXRoUHJvb2ZzIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zZXJpYWxpemVOdGlsZGUoY2hhbGxlbmdlKSxcbiAgICBudGlsZGVQcm9vZjoge1xuICAgICAgaDFXcnRIMjoge1xuICAgICAgICBhbHBoYTogY29udmVydEJpZ0ludEFyclRvSGV4QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLmFscGhhKSxcbiAgICAgICAgdDogY29udmVydEJpZ0ludEFyclRvSGV4QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLnQpLFxuICAgICAgfSxcbiAgICAgIGgyV3J0SDE6IHtcbiAgICAgICAgYWxwaGE6IGNvbnZlcnRCaWdJbnRBcnJUb0hleEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS5hbHBoYSksXG4gICAgICAgIHQ6IGNvbnZlcnRCaWdJbnRBcnJUb0hleEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS50KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxudHlwZSBQYWlsbGllckNoYWxsZW5nZTxUPiA9IHtcbiAgcDogVFtdO1xufTtcblxudHlwZSBQYWlsbGllckNoYWxsZW5nZVByb29mPFQ+ID0ge1xuICBzaWdtYTogVFtdO1xufTtcblxuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2UgPSBQYWlsbGllckNoYWxsZW5nZTxiaWdpbnQ+O1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlID0gUGFpbGxpZXJDaGFsbGVuZ2U8c3RyaW5nPjtcbmV4cG9ydCB0eXBlIERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzID0gUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZjxiaWdpbnQ+O1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzID0gUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZjxzdHJpbmc+O1xuLyoqXG4gKiBUaGUgcGFpbGxpZXIgcHJvb2ZzIGFyZSBkb25lIGludGVyYWN0aXZlbHkgYmV0d2VlbiB0d28gcGFydGllcy5cbiAqIElmIHBhcnR5IEEgaXMgY29tcGxldGluZyBhIHBhaWxsaWVyIHByb29mICRzaWdtYSQgd2l0aCBwYXJ0eSBCLCB0aGVuICRwJCByZWZlcnMgdG9cbiAqIGEgY2hhbGxlbmdlIGdpdmVuIHRvIEEgYnkgQiwgYW5kICRzaWdtYSQgcmVwcmVzZW50cyB0aGUgcHJvb2YgdG8gdGhlIGNoYWxsZW5nZVxuICovXG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnMgPSBEZXNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZSAmXG4gIERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzO1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mcyA9IFNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZSAmIFNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZVByb29mcztcblxuLyoqXG4gKiBEZXNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKGNoYWxsZW5nZTogU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlKTogRGVzZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2Uge1xuICByZXR1cm4ge1xuICAgIHA6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihjaGFsbGVuZ2UucCksXG4gIH07XG59XG5cbi8qKlxuICogRGVzZXJpYWxpemVzIGEgcGFpbGxpZXIgY2hhbGxlbmdlIHByb29mIHRvIGhleCBzdHJpbmdzLlxuICogQHBhcmFtIGNoYWxsZW5nZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZVByb29mcyhcbiAgY2hhbGxlbmdlOiBTZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZnNcbik6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzIHtcbiAgcmV0dXJuIHtcbiAgICBzaWdtYTogY29udmVydEhleEFyclRvQmlnSW50QXJyKGNoYWxsZW5nZS5zaWdtYSksXG4gIH07XG59XG5cbi8qKlxuICogRGVzZXJpYWxpemVzIGEgcGFpbGxpZXIgY2hhbGxlbmdlIGFuZCBpdHMgcHJvb2YgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlV2l0aFByb29mc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnMoXG4gIGNoYWxsZW5nZVdpdGhQcm9vZnM6IFNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnNcbik6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mcyB7XG4gIHJldHVybiB7XG4gICAgLi4uZGVzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZShjaGFsbGVuZ2VXaXRoUHJvb2ZzKSxcbiAgICAuLi5kZXNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzKGNoYWxsZW5nZVdpdGhQcm9vZnMpLFxuICB9O1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZShjaGFsbGVuZ2U6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlKTogU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlIHtcbiAgcmV0dXJuIHtcbiAgICBwOiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIoY2hhbGxlbmdlLnAsIDc2OCksXG4gIH07XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIHBhaWxsaWVyIGNoYWxsZW5nZSBwcm9vZiB0byBoZXggc3RyaW5ncy5cbiAqIEBwYXJhbSBjaGFsbGVuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzKFxuICBjaGFsbGVuZ2U6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzXG4pOiBTZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZnMge1xuICByZXR1cm4ge1xuICAgIHNpZ21hOiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIoY2hhbGxlbmdlLnNpZ21hLCA3NjgpLFxuICB9O1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgYW5kIGl0cyBwcm9vZiB0byBoZXggc3RyaW5ncy5cbiAqIEBwYXJhbSBjaGFsbGVuZ2VXaXRoUHJvb2ZzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnMoXG4gIGNoYWxsZW5nZVdpdGhQcm9vZnM6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mc1xuKTogU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mcyB7XG4gIHJldHVybiB7XG4gICAgLi4uc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoY2hhbGxlbmdlV2l0aFByb29mcyksXG4gICAgLi4uc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZnMoY2hhbGxlbmdlV2l0aFByb29mcyksXG4gIH07XG59XG5cbnR5cGUgcGFpbGxpZXJCbHVtUHJvb2Y8VD4gPSB7XG4gIHc6IFQ7XG4gIHg6IFRbXTtcbiAgejogVFtdO1xufTtcblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQmx1bVByb29mID0gcGFpbGxpZXJCbHVtUHJvb2Y8c3RyaW5nPjtcbmV4cG9ydCB0eXBlIERlc2VyaWFsaXplZFBhaWxsaWVyQmx1bVByb29mID0gcGFpbGxpZXJCbHVtUHJvb2Y8YmlnaW50PjtcblxuLyoqXG4gKiBEZXNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgYW5kIGl0cyBwcm9vZiBmcm9tIGhleCBzdHJpbmdzIHRvIGJpZyBpbnRzLlxuICogQHBhcmFtIHBhaWxsaWVyQmx1bVByb29mXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZVBhaWxsaWVyQmx1bVByb29mKFxuICBwYWlsbGllckJsdW1Qcm9vZjogU2VyaWFsaXplZFBhaWxsaWVyQmx1bVByb29mXG4pOiBEZXNlcmlhbGl6ZWRQYWlsbGllckJsdW1Qcm9vZiB7XG4gIHJldHVybiB7XG4gICAgdzogaGV4VG9CaWdJbnQocGFpbGxpZXJCbHVtUHJvb2YudyksXG4gICAgeDogY29udmVydEhleEFyclRvQmlnSW50QXJyKHBhaWxsaWVyQmx1bVByb29mLngpLFxuICAgIHo6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihwYWlsbGllckJsdW1Qcm9vZi56KSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgcGFpbGxpZXIgY2hhbGxlbmdlIGFuZCBpdHMgcHJvb2YgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gcGFpbGxpZXJCbHVtUHJvb2ZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVBhaWxsaWVyQmx1bVByb29mKFxuICBwYWlsbGllckJsdW1Qcm9vZjogRGVzZXJpYWxpemVkUGFpbGxpZXJCbHVtUHJvb2Zcbik6IFNlcmlhbGl6ZWRQYWlsbGllckJsdW1Qcm9vZiB7XG4gIHJldHVybiB7XG4gICAgdzogYmlnSW50VG9IZXgocGFpbGxpZXJCbHVtUHJvb2YudywgNzY4KSxcbiAgICB4OiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIocGFpbGxpZXJCbHVtUHJvb2YueCwgNzY4KSxcbiAgICB6OiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIocGFpbGxpZXJCbHVtUHJvb2YueiwgNzY4KSxcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgUmF3UGFpbGxpZXJLZXkgPSB7XG4gIC8vIHB1YmxpYyBtb2R1bHVzXG4gIG46IGJpZ2ludDtcbiAgLy8gcHJpdmF0ZSBmaWVsZHNcbiAgbGFtYmRhOiBiaWdpbnQ7XG4gIG11OiBiaWdpbnQ7XG4gIHA6IGJpZ2ludDtcbiAgcTogYmlnaW50O1xufTtcblxuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkS2V5UGFpcldpdGhQYWlsbGllckJsdW1Qcm9vZiA9IERlc2VyaWFsaXplZFBhaWxsaWVyQmx1bVByb29mICYgUmF3UGFpbGxpZXJLZXk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUlNBTW9kdWx1cyB7XG4gIG46IGJpZ2ludDtcbiAgLy8gU29waGllIEdlcm1haW4gcHJpbWVzLlxuICBxMTogYmlnaW50O1xuICBxMjogYmlnaW50O1xufVxuXG4vLyBSYW5nZSBwcm9vZiB2YWx1ZXNcbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VQcm9vZiB7XG4gIHo6IGJpZ2ludDtcbiAgdTogYmlnaW50O1xuICB3OiBiaWdpbnQ7XG4gIHM6IGJpZ2ludDtcbiAgczE6IGJpZ2ludDtcbiAgczI6IGJpZ2ludDtcbn1cblxuLy8gUmFuZ2UgcHJvb2YgdmFsdWVzXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlUHJvb2ZXaXRoQ2hlY2sge1xuICB6OiBiaWdpbnQ7XG4gIHpwcm06IGJpZ2ludDtcbiAgdDogYmlnaW50O1xuICB2OiBiaWdpbnQ7XG4gIHc6IGJpZ2ludDtcbiAgczogYmlnaW50O1xuICBzMTogYmlnaW50O1xuICBzMjogYmlnaW50O1xuICB0MTogYmlnaW50O1xuICB0MjogYmlnaW50O1xuICB1OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWmtWUHJvb2Yge1xuICBBbHBoYTogYmlnaW50O1xuICB0OiBiaWdpbnQ7XG4gIHU6IGJpZ2ludDtcbn1cblxudHlwZSBub1NtYWxsRmFjdG9yc1Byb29mPFQ+ID0ge1xuICBQOiBUO1xuICBROiBUO1xuICBBOiBUO1xuICBCOiBUO1xuICBUOiBUO1xuICByaG86IFQ7XG4gIHoxOiBUO1xuICB6MjogVDtcbiAgdzE6IFQ7XG4gIHcyOiBUO1xuICB2OiBUO1xuICBub25jZTogVDtcbn07XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWROb1NtYWxsRmFjdG9yc1Byb29mID0gbm9TbWFsbEZhY3RvcnNQcm9vZjxzdHJpbmc+O1xuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTm9TbWFsbEZhY3RvcnNQcm9vZiA9IG5vU21hbGxGYWN0b3JzUHJvb2Y8YmlnaW50PjtcblxuLyoqXG4gKiBEZXNlcmlhbGl6ZXMgYSBQaV5mYWMgcHJvb2YgZnJvbSBoZXggc3RyaW5ncyB0byBiaWcgaW50cy5cbiAqIEBwYXJhbSBub1NtYWxsRmFjdG9yc1Byb29mXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZU5vU21hbGxGYWN0b3JzUHJvb2YoXG4gIG5vU21hbGxGYWN0b3JzUHJvb2Y6IFNlcmlhbGl6ZWROb1NtYWxsRmFjdG9yc1Byb29mXG4pOiBEZXNlcmlhbGl6ZWROb1NtYWxsRmFjdG9yc1Byb29mIHtcbiAgcmV0dXJuIHtcbiAgICBQOiBoZXhUb1NpZ25lZEJpZ0ludChub1NtYWxsRmFjdG9yc1Byb29mLlApLFxuICAgIFE6IGhleFRvU2lnbmVkQmlnSW50KG5vU21hbGxGYWN0b3JzUHJvb2YuUSksXG4gICAgQTogaGV4VG9TaWduZWRCaWdJbnQobm9TbWFsbEZhY3RvcnNQcm9vZi5BKSxcbiAgICBCOiBoZXhUb1NpZ25lZEJpZ0ludChub1NtYWxsRmFjdG9yc1Byb29mLkIpLFxuICAgIFQ6IGhleFRvU2lnbmVkQmlnSW50KG5vU21hbGxGYWN0b3JzUHJvb2YuVCksXG4gICAgcmhvOiBoZXhUb1NpZ25lZEJpZ0ludChub1NtYWxsRmFjdG9yc1Byb29mLnJobyksXG4gICAgejE6IGhleFRvU2lnbmVkQmlnSW50KG5vU21hbGxGYWN0b3JzUHJvb2YuejEpLFxuICAgIHoyOiBoZXhUb1NpZ25lZEJpZ0ludChub1NtYWxsRmFjdG9yc1Byb29mLnoyKSxcbiAgICB3MTogaGV4VG9TaWduZWRCaWdJbnQobm9TbWFsbEZhY3RvcnNQcm9vZi53MSksXG4gICAgdzI6IGhleFRvU2lnbmVkQmlnSW50KG5vU21hbGxGYWN0b3JzUHJvb2YudzIpLFxuICAgIHY6IGhleFRvU2lnbmVkQmlnSW50KG5vU21hbGxGYWN0b3JzUHJvb2YudiksXG4gICAgbm9uY2U6IGhleFRvQmlnSW50KG5vU21hbGxGYWN0b3JzUHJvb2Yubm9uY2UpLFxuICB9O1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgYSBQaV5mYWMgcHJvb2YgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gbm9TbWFsbEZhY3RvcnNQcm9vZlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplTm9TbWFsbEZhY3RvcnNQcm9vZihcbiAgbm9TbWFsbEZhY3RvcnNQcm9vZjogRGVzZXJpYWxpemVkTm9TbWFsbEZhY3RvcnNQcm9vZlxuKTogU2VyaWFsaXplZE5vU21hbGxGYWN0b3JzUHJvb2Yge1xuICByZXR1cm4ge1xuICAgIFA6IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YuUCwgMiAqICgxICsgMzg0KSksXG4gICAgUTogc2lnbmVkQmlnSW50VG9IZXgobm9TbWFsbEZhY3RvcnNQcm9vZi5RLCAyICogKDEgKyAzODQpKSxcbiAgICBBOiBzaWduZWRCaWdJbnRUb0hleChub1NtYWxsRmFjdG9yc1Byb29mLkEsIDIgKiAoMSArIDM4NCkpLFxuICAgIEI6IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YuQiwgMiAqICgxICsgMzg0KSksXG4gICAgVDogc2lnbmVkQmlnSW50VG9IZXgobm9TbWFsbEZhY3RvcnNQcm9vZi5ULCAyICogKDEgKyAzODQpKSxcbiAgICByaG86IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YucmhvLCAyICogKDIgKiAzODQgKyAyNTYgLyA4KSksXG4gICAgejE6IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YuejEsIDIgKiAoMSArIDM4NCAvIDIgKyAoMjU2ICsgMiAqIDI1NikgLyA4KSksXG4gICAgejI6IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YuejIsIDIgKiAoMSArIDM4NCAvIDIgKyAoMjU2ICsgMiAqIDI1NikgLyA4KSksXG4gICAgdzE6IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YudzEsIDIgKiAoMSArICgyNTYgKyAyICogMjU2KSAvIDgpKSxcbiAgICB3Mjogc2lnbmVkQmlnSW50VG9IZXgobm9TbWFsbEZhY3RvcnNQcm9vZi53MiwgMiAqICgxICsgKDI1NiArIDIgKiAyNTYpIC8gOCkpLFxuICAgIHY6IHNpZ25lZEJpZ0ludFRvSGV4KG5vU21hbGxGYWN0b3JzUHJvb2YudiwgMiAqICgxICsgMzg0ICogMiArICgyNTYgKyAyICogMjU2KSAvIDgpKSxcbiAgICBub25jZTogYmlnSW50VG9IZXgobm9TbWFsbEZhY3RvcnNQcm9vZi5ub25jZSwgMiAqIDMzKSxcbiAgfTtcbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMkRBLDhDQU1DO0FBTUQsMENBTUM7QUFNRCxrRUFjQztBQU1ELDhEQWNDO0FBMkJELG9FQUlDO0FBTUQsZ0ZBTUM7QUFNRCx3RkFPQztBQU1ELGdFQUlDO0FBTUQsNEVBTUM7QUFNRCxvRkFPQztBQTlNRCxxQ0FBMEc7QUFxRDFHOzs7R0FHRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFNBQTJCO0lBQzNELE9BQU87UUFDTCxNQUFNLEVBQUUsSUFBQSxrQkFBVyxFQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsRUFBRSxFQUFFLElBQUEsa0JBQVcsRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzdCLEVBQUUsRUFBRSxJQUFBLGtCQUFXLEVBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxTQUE2QjtJQUMzRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUEsa0JBQVcsRUFBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3JDLEVBQUUsRUFBRSxJQUFBLGtCQUFXLEVBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM3QixFQUFFLEVBQUUsSUFBQSxrQkFBVyxFQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQiwyQkFBMkIsQ0FBQyxTQUFxQztJQUMvRSxPQUFPO1FBQ0wsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7UUFDL0IsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxJQUFBLCtCQUF3QixFQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDcEUsQ0FBQyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxJQUFBLCtCQUF3QixFQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDcEUsQ0FBQyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLFNBQXVDO0lBQy9FLE9BQU87UUFDTCxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFDN0IsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxJQUFBLCtCQUF3QixFQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDcEUsQ0FBQyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxJQUFBLCtCQUF3QixFQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDcEUsQ0FBQyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXVCRDs7O0dBR0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxTQUFzQztJQUNqRixPQUFPO1FBQ0wsQ0FBQyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN6QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGtDQUFrQyxDQUNoRCxTQUE0QztJQUU1QyxPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztLQUNqRCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHNDQUFzQyxDQUNwRCxtQkFBMEQ7SUFFMUQsT0FBTztRQUNMLEdBQUcsNEJBQTRCLENBQUMsbUJBQW1CLENBQUM7UUFDcEQsR0FBRyxrQ0FBa0MsQ0FBQyxtQkFBbUIsQ0FBQztLQUMzRCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLDBCQUEwQixDQUFDLFNBQXdDO0lBQ2pGLE9BQU87UUFDTCxDQUFDLEVBQUUsSUFBQSwrQkFBd0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztLQUM5QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGdDQUFnQyxDQUM5QyxTQUE4QztJQUU5QyxPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUEsK0JBQXdCLEVBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7S0FDdEQsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixvQ0FBb0MsQ0FDbEQsbUJBQTREO0lBRTVELE9BQU87UUFDTCxHQUFHLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDO1FBQ2xELEdBQUcsZ0NBQWdDLENBQUMsbUJBQW1CLENBQUM7S0FDekQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOdGlsZGUgUHJvb2Ygd2hlcmUgYm90aCBhbHBoYSBhbmQgdCBhcmUgYSBzZXQgb2YgMTI4IHByb29mcyBlYWNoLlxuaW1wb3J0IHsgU2Nobm9yclByb29mIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgYmlnSW50VG9IZXgsIGNvbnZlcnRCaWdJbnRBcnJUb0hleEFyciwgY29udmVydEhleEFyclRvQmlnSW50QXJyLCBoZXhUb0JpZ0ludCB9IGZyb20gJy4uLy4uL3V0aWwnO1xuXG4vLyBQcml2YXRlIFhTaGFyZSBvZiB0aGUgY3VycmVudCBwYXJ0aWNpcGFudFxuZXhwb3J0IHR5cGUgWFNoYXJlID0ge1xuICBpOiBudW1iZXI7XG4gIGw6IHN0cmluZztcbiAgbTogc3RyaW5nO1xuICBuOiBzdHJpbmc7XG4gIHk6IHN0cmluZzsgLy8gY29tYmluZWQgcHVibGljIGtleVxuICB4OiBzdHJpbmc7IC8vIGNvbWJpbmVkIHNlY3JldFxuICBzY2hub3JyUHJvb2ZYOiBTY2hub3JyUHJvb2Y7IC8vIHNjaG5vcnIgcHJvb2Ygb2Yga25vd2xlZGdlIG9mIHhcbiAgY2hhaW5jb2RlOiBzdHJpbmc7XG59O1xuXG5pbnRlcmZhY2UgTnRpbGRlUHJvb2Y8VD4ge1xuICBhbHBoYTogVFtdO1xuICB0OiBUW107XG59XG5cbi8vIE50aWxkZSBQcm9vZlxuaW50ZXJmYWNlIE50aWxkZVByb29mczxUPiB7XG4gIGgxV3J0SDI6IE50aWxkZVByb29mPFQ+O1xuICBoMldydEgxOiBOdGlsZGVQcm9vZjxUPjtcbn1cblxuLy8gTnRpbGRlIGNoYWxsZW5nZSB2YWx1ZXNcbmludGVyZmFjZSBOdGlsZGU8VD4ge1xuICBudGlsZGU6IFQ7XG4gIGgxOiBUO1xuICBoMjogVDtcbn1cblxuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTnRpbGRlID0gTnRpbGRlPGJpZ2ludD47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlID0gTnRpbGRlPHN0cmluZz47XG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWROdGlsZGVQcm9vZiA9IE50aWxkZVByb29mPGJpZ2ludD47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlUHJvb2YgPSBOdGlsZGVQcm9vZjxzdHJpbmc+O1xuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTnRpbGRlUHJvb2ZzID0gTnRpbGRlUHJvb2ZzPGJpZ2ludD47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlUHJvb2ZzID0gTnRpbGRlUHJvb2ZzPHN0cmluZz47XG5cbi8qKlxuICogVGhlIG50aWxkZSBwcm9vZnMgYXJlIGRvbmUgbm9uLWludGVyYWN0aXZlbHksXG4gKiB0aGVyZWZvcmUgYSBwYXJ0eSBnZW5lcmF0ZXMgYm90aCBudGlsZGUsIGgxLCBoMiBhbmQgdGhlIHByb29mcyB3aXRob3V0XG4gKiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBvdGhlciBwYXJ0eS5cbiAqL1xuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyA9IERlc2VyaWFsaXplZE50aWxkZSAmIHtcbiAgbnRpbGRlUHJvb2Y6IERlc2VyaWFsaXplZE50aWxkZVByb29mcztcbn07XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyA9IFNlcmlhbGl6ZWROdGlsZGUgJiB7XG4gIG50aWxkZVByb29mOiBTZXJpYWxpemVkTnRpbGRlUHJvb2ZzO1xufTtcblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZEVjZHNhQ2hhbGxlbmdlcyA9IFNlcmlhbGl6ZWROdGlsZGUgJiBTZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2U7XG5cbi8qKlxuICogRGVzZXJpYWxpemVzIGEgY2hhbGxlbmdlIGZyb20gaGV4IHN0cmluZ3MgdG8gYmlnaW50XG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZU50aWxkZShjaGFsbGVuZ2U6IFNlcmlhbGl6ZWROdGlsZGUpOiBEZXNlcmlhbGl6ZWROdGlsZGUge1xuICByZXR1cm4ge1xuICAgIG50aWxkZTogaGV4VG9CaWdJbnQoY2hhbGxlbmdlLm50aWxkZSksXG4gICAgaDE6IGhleFRvQmlnSW50KGNoYWxsZW5nZS5oMSksXG4gICAgaDI6IGhleFRvQmlnSW50KGNoYWxsZW5nZS5oMiksXG4gIH07XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIGNoYWxsZW5nZSBmcm9tIGJpZyBpbnQgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVOdGlsZGUoY2hhbGxlbmdlOiBEZXNlcmlhbGl6ZWROdGlsZGUpOiBTZXJpYWxpemVkTnRpbGRlIHtcbiAgcmV0dXJuIHtcbiAgICBudGlsZGU6IGJpZ0ludFRvSGV4KGNoYWxsZW5nZS5udGlsZGUpLFxuICAgIGgxOiBiaWdJbnRUb0hleChjaGFsbGVuZ2UuaDEpLFxuICAgIGgyOiBiaWdJbnRUb0hleChjaGFsbGVuZ2UuaDIpLFxuICB9O1xufVxuXG4vKipcbiAqIERlc2VyaWFsaXplcyBhIGNoYWxsZW5nZSBhbmQgaXQncyBwcm9vZnMgZnJvbSBoZXggc3RyaW5ncyB0byBiaWdpbnRcbiAqIEBwYXJhbSBjaGFsbGVuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplTnRpbGRlV2l0aFByb29mcyhjaGFsbGVuZ2U6IFNlcmlhbGl6ZWROdGlsZGVXaXRoUHJvb2ZzKTogRGVzZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyB7XG4gIHJldHVybiB7XG4gICAgLi4uZGVzZXJpYWxpemVOdGlsZGUoY2hhbGxlbmdlKSxcbiAgICBudGlsZGVQcm9vZjoge1xuICAgICAgaDFXcnRIMjoge1xuICAgICAgICBhbHBoYTogY29udmVydEhleEFyclRvQmlnSW50QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLmFscGhhKSxcbiAgICAgICAgdDogY29udmVydEhleEFyclRvQmlnSW50QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLnQpLFxuICAgICAgfSxcbiAgICAgIGgyV3J0SDE6IHtcbiAgICAgICAgYWxwaGE6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS5hbHBoYSksXG4gICAgICAgIHQ6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS50KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgY2hhbGxlbmdlIGFuZCBpdCdzIHByb29mcyBmcm9tIGJpZyBpbnQgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKGNoYWxsZW5nZTogRGVzZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyk6IFNlcmlhbGl6ZWROdGlsZGVXaXRoUHJvb2ZzIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zZXJpYWxpemVOdGlsZGUoY2hhbGxlbmdlKSxcbiAgICBudGlsZGVQcm9vZjoge1xuICAgICAgaDFXcnRIMjoge1xuICAgICAgICBhbHBoYTogY29udmVydEJpZ0ludEFyclRvSGV4QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLmFscGhhKSxcbiAgICAgICAgdDogY29udmVydEJpZ0ludEFyclRvSGV4QXJyKGNoYWxsZW5nZS5udGlsZGVQcm9vZi5oMVdydEgyLnQpLFxuICAgICAgfSxcbiAgICAgIGgyV3J0SDE6IHtcbiAgICAgICAgYWxwaGE6IGNvbnZlcnRCaWdJbnRBcnJUb0hleEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS5hbHBoYSksXG4gICAgICAgIHQ6IGNvbnZlcnRCaWdJbnRBcnJUb0hleEFycihjaGFsbGVuZ2UubnRpbGRlUHJvb2YuaDJXcnRIMS50KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxudHlwZSBQYWlsbGllckNoYWxsZW5nZTxUPiA9IHtcbiAgcDogVFtdO1xufTtcblxudHlwZSBQYWlsbGllckNoYWxsZW5nZVByb29mPFQ+ID0ge1xuICBzaWdtYTogVFtdO1xufTtcblxuZXhwb3J0IHR5cGUgRGVzZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2UgPSBQYWlsbGllckNoYWxsZW5nZTxiaWdpbnQ+O1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlID0gUGFpbGxpZXJDaGFsbGVuZ2U8c3RyaW5nPjtcbmV4cG9ydCB0eXBlIERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzID0gUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZjxiaWdpbnQ+O1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzID0gUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZjxzdHJpbmc+O1xuLyoqXG4gKiBUaGUgcGFpbGxpZXIgcHJvb2ZzIGFyZSBkb25lIGludGVyYWN0aXZlbHkgYmV0d2VlbiB0d28gcGFydGllcy5cbiAqIElmIHBhcnR5IEEgaXMgY29tcGxldGluZyBhIHBhaWxsaWVyIHByb29mICRzaWdtYSQgd2l0aCBwYXJ0eSBCLCB0aGVuICRwJCByZWZlcnMgdG9cbiAqIGEgY2hhbGxlbmdlIGdpdmVuIHRvIEEgYnkgQiwgYW5kICRzaWdtYSQgcmVwcmVzZW50cyB0aGUgcHJvb2YgdG8gdGhlIGNoYWxsZW5nZVxuICovXG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnMgPSBEZXNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZSAmXG4gIERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzO1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mcyA9IFNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZSAmIFNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZVByb29mcztcblxuLyoqXG4gKiBEZXNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKGNoYWxsZW5nZTogU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlKTogRGVzZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2Uge1xuICByZXR1cm4ge1xuICAgIHA6IGNvbnZlcnRIZXhBcnJUb0JpZ0ludEFycihjaGFsbGVuZ2UucCksXG4gIH07XG59XG5cbi8qKlxuICogRGVzZXJpYWxpemVzIGEgcGFpbGxpZXIgY2hhbGxlbmdlIHByb29mIHRvIGhleCBzdHJpbmdzLlxuICogQHBhcmFtIGNoYWxsZW5nZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZVByb29mcyhcbiAgY2hhbGxlbmdlOiBTZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZnNcbik6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzIHtcbiAgcmV0dXJuIHtcbiAgICBzaWdtYTogY29udmVydEhleEFyclRvQmlnSW50QXJyKGNoYWxsZW5nZS5zaWdtYSksXG4gIH07XG59XG5cbi8qKlxuICogRGVzZXJpYWxpemVzIGEgcGFpbGxpZXIgY2hhbGxlbmdlIGFuZCBpdHMgcHJvb2YgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlV2l0aFByb29mc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnMoXG4gIGNoYWxsZW5nZVdpdGhQcm9vZnM6IFNlcmlhbGl6ZWRQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnNcbik6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mcyB7XG4gIHJldHVybiB7XG4gICAgLi4uZGVzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZShjaGFsbGVuZ2VXaXRoUHJvb2ZzKSxcbiAgICAuLi5kZXNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzKGNoYWxsZW5nZVdpdGhQcm9vZnMpLFxuICB9O1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgdG8gaGV4IHN0cmluZ3MuXG4gKiBAcGFyYW0gY2hhbGxlbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZShjaGFsbGVuZ2U6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlKTogU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlIHtcbiAgcmV0dXJuIHtcbiAgICBwOiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIoY2hhbGxlbmdlLnAsIDc2OCksXG4gIH07XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIHBhaWxsaWVyIGNoYWxsZW5nZSBwcm9vZiB0byBoZXggc3RyaW5ncy5cbiAqIEBwYXJhbSBjaGFsbGVuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzKFxuICBjaGFsbGVuZ2U6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlUHJvb2ZzXG4pOiBTZXJpYWxpemVkUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZnMge1xuICByZXR1cm4ge1xuICAgIHNpZ21hOiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIoY2hhbGxlbmdlLnNpZ21hLCA3NjgpLFxuICB9O1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgYSBwYWlsbGllciBjaGFsbGVuZ2UgYW5kIGl0cyBwcm9vZiB0byBoZXggc3RyaW5ncy5cbiAqIEBwYXJhbSBjaGFsbGVuZ2VXaXRoUHJvb2ZzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZVdpdGhQcm9vZnMoXG4gIGNoYWxsZW5nZVdpdGhQcm9vZnM6IERlc2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mc1xuKTogU2VyaWFsaXplZFBhaWxsaWVyQ2hhbGxlbmdlV2l0aFByb29mcyB7XG4gIHJldHVybiB7XG4gICAgLi4uc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoY2hhbGxlbmdlV2l0aFByb29mcyksXG4gICAgLi4uc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2VQcm9vZnMoY2hhbGxlbmdlV2l0aFByb29mcyksXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUlNBTW9kdWx1cyB7XG4gIG46IGJpZ2ludDtcbiAgLy8gU29waGllIEdlcm1haW4gcHJpbWVzLlxuICBxMTogYmlnaW50O1xuICBxMjogYmlnaW50O1xufVxuXG4vLyBSYW5nZSBwcm9vZiB2YWx1ZXNcbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VQcm9vZiB7XG4gIHo6IGJpZ2ludDtcbiAgdTogYmlnaW50O1xuICB3OiBiaWdpbnQ7XG4gIHM6IGJpZ2ludDtcbiAgczE6IGJpZ2ludDtcbiAgczI6IGJpZ2ludDtcbn1cblxuLy8gUmFuZ2UgcHJvb2YgdmFsdWVzXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlUHJvb2ZXaXRoQ2hlY2sge1xuICB6OiBiaWdpbnQ7XG4gIHpwcm06IGJpZ2ludDtcbiAgdDogYmlnaW50O1xuICB2OiBiaWdpbnQ7XG4gIHc6IGJpZ2ludDtcbiAgczogYmlnaW50O1xuICBzMTogYmlnaW50O1xuICBzMjogYmlnaW50O1xuICB0MTogYmlnaW50O1xuICB0MjogYmlnaW50O1xuICB1OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWmtWUHJvb2Yge1xuICBBbHBoYTogYmlnaW50O1xuICB0OiBiaWdpbnQ7XG4gIHU6IGJpZ2ludDtcbn1cbiJdfQ==
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { BaseCurve as Curve } from '../../curves';
3
2
  import { ZkVProof } from './types';
4
3
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zkVProof.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/zkVProof.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAwB,GACtC,QAAQ,CAeV;AAyBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,QAAQ,EACf,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAwB,GACtC,OAAO,CAOT"}
1
+ {"version":3,"file":"zkVProof.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/zkVProof.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAwB,GACtC,QAAQ,CAeV;AAyBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,QAAQ,EACf,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAwB,GACtC,OAAO,CAOT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyZkVProof = exports.createZkVProof = void 0;
3
+ exports.createZkVProof = createZkVProof;
4
+ exports.verifyZkVProof = verifyZkVProof;
4
5
  /**
5
6
  * Zero Knowledge Proof of knowledge of the s and l that are behind the public value V = sR + lG.
6
7
  * The V value is calculated in step 5A and the proof is created in step 5B of the GG18 signing protocol.
@@ -31,7 +32,6 @@ function createZkVProof(V, s, l, R, curve, additionalCtx = Buffer.from('')) {
31
32
  u: u,
32
33
  };
33
34
  }
34
- exports.createZkVProof = createZkVProof;
35
35
  /**
36
36
  * Calculate challenge for NIZK proof of V using Fiat-Shamir transform.
37
37
  *
@@ -44,13 +44,13 @@ exports.createZkVProof = createZkVProof;
44
44
  */
45
45
  function nonInteractiveChallenge(V, R, Alpha, curve, additionalCtx) {
46
46
  const G = curve.basePointMult(BigInt(1));
47
- const hash = crypto_1.createHash('sha256');
48
- hash.update(util_1.bigIntToBufferBE(G, curve.pointBytes));
49
- hash.update(util_1.bigIntToBufferBE(R, curve.pointBytes));
50
- hash.update(util_1.bigIntToBufferBE(V, curve.pointBytes));
51
- hash.update(util_1.bigIntToBufferBE(Alpha, curve.pointBytes));
47
+ const hash = (0, crypto_1.createHash)('sha256');
48
+ hash.update((0, util_1.bigIntToBufferBE)(G, curve.pointBytes));
49
+ hash.update((0, util_1.bigIntToBufferBE)(R, curve.pointBytes));
50
+ hash.update((0, util_1.bigIntToBufferBE)(V, curve.pointBytes));
51
+ hash.update((0, util_1.bigIntToBufferBE)(Alpha, curve.pointBytes));
52
52
  hash.update(additionalCtx);
53
- return util_1.bigIntFromBufferBE(hash.digest());
53
+ return (0, util_1.bigIntFromBufferBE)(hash.digest());
54
54
  }
55
55
  /**
56
56
  * Verify a ZK Proof of knowledge of the s and l that are behind the public value V = sR + lG.
@@ -67,5 +67,4 @@ function verifyZkVProof(V, proof, R, curve, additionalCtx = Buffer.from('')) {
67
67
  const rhs = curve.pointAdd(proof.Alpha, curve.pointMultiply(V, curve.scalarReduce(c)));
68
68
  return lhs === rhs;
69
69
  }
70
- exports.verifyZkVProof = verifyZkVProof;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemtWUHJvb2YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhL3prVlByb29mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7O0dBSUc7QUFDSCxtQ0FBb0M7QUFHcEMscUNBQWtFO0FBRWxFOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsQ0FBUyxFQUNULENBQVMsRUFDVCxDQUFTLEVBQ1QsQ0FBUyxFQUNULEtBQVksRUFDWixnQkFBd0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFFdkMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoRixNQUFNLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFckUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSztRQUNaLENBQUMsRUFBRSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUM7S0FDTCxDQUFDO0FBQ0osQ0FBQztBQXRCRCx3Q0FzQkM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLHVCQUF1QixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsS0FBYSxFQUFFLEtBQVksRUFBRSxhQUFxQjtJQUN2RyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sSUFBSSxHQUFHLG1CQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUzQixPQUFPLHlCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsQ0FBUyxFQUNULEtBQWUsRUFDZixDQUFTLEVBQ1QsS0FBWSxFQUNaLGdCQUF3QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUV2QyxNQUFNLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztBQUNyQixDQUFDO0FBYkQsd0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFplcm8gS25vd2xlZGdlIFByb29mIG9mIGtub3dsZWRnZSBvZiB0aGUgcyBhbmQgbCB0aGF0IGFyZSBiZWhpbmQgdGhlIHB1YmxpYyB2YWx1ZSBWID0gc1IgKyBsRy5cbiAqIFRoZSBWIHZhbHVlIGlzIGNhbGN1bGF0ZWQgaW4gc3RlcCA1QSBhbmQgdGhlIHByb29mIGlzIGNyZWF0ZWQgaW4gc3RlcCA1QiBvZiB0aGUgR0cxOCBzaWduaW5nIHByb3RvY29sLlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9lcHJpbnQuaWFjci5vcmcvMjAxOS8xMTQucGRmfSBzZWN0aW9uIDQuMyBmb3IgcmVmZXJlbmNlLlxuICovXG5pbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEJhc2VDdXJ2ZSBhcyBDdXJ2ZSB9IGZyb20gJy4uLy4uL2N1cnZlcyc7XG5pbXBvcnQgeyBaa1ZQcm9vZiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckJFLCBiaWdJbnRUb0J1ZmZlckJFIH0gZnJvbSAnLi4vLi4vdXRpbCc7XG5cbi8qKlxuICogQ3JlYXRlIGEgWksgUHJvb2Ygb2Yga25vd2xlZGdlIG9mIHRoZSBzIGFuZCBsIHRoYXQgYXJlIGJlaGluZCB0aGUgcHVibGljIHZhbHVlIFYgPSBzUiArIGxHLlxuICogQHBhcmFtIFYgVGhlIGN1cnZlIHBvaW50IFYuXG4gKiBAcGFyYW0gcyBUaGUgcyB0aGF0IG11bHRpcGxpZXMgUi5cbiAqIEBwYXJhbSBsIFRoZSBsIHRoYXQgbXVsdGlwbGllcyB0aGUgY3VydmUgZ2VucmVhdG9yIEcuXG4gKiBAcGFyYW0gUiBUaGUgY3VydmUgcG9pbnQgUiBzaGFyZWQgYnkgYWxsIHBhcnRpY2lwYW50cy5cbiAqIEBwYXJhbSBjdXJ2ZSBUaGUgZWxsaXB0aWMgY3VydmUuXG4gKiBAcGFyYW0gYWRkaXRpb25hbEN0eCBBZGRpdGlvbmFsIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gdG8gYXNzb2NpYXRlIHdpdGggdGhlIHByb29mLlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgcHJvb2YuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVaa1ZQcm9vZihcbiAgVjogYmlnaW50LFxuICBzOiBiaWdpbnQsXG4gIGw6IGJpZ2ludCxcbiAgUjogYmlnaW50LFxuICBjdXJ2ZTogQ3VydmUsXG4gIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKCcnKVxuKTogWmtWUHJvb2Yge1xuICBjb25zdCBhID0gY3VydmUuc2NhbGFyUmFuZG9tKCk7XG4gIGNvbnN0IGIgPSBjdXJ2ZS5zY2FsYXJSYW5kb20oKTtcbiAgY29uc3QgQWxwaGEgPSBjdXJ2ZS5wb2ludEFkZChjdXJ2ZS5wb2ludE11bHRpcGx5KFIsIGEpLCBjdXJ2ZS5iYXNlUG9pbnRNdWx0KGIpKTtcblxuICBjb25zdCBjID0gbm9uSW50ZXJhY3RpdmVDaGFsbGVuZ2UoViwgUiwgQWxwaGEsIGN1cnZlLCBhZGRpdGlvbmFsQ3R4KTtcblxuICBjb25zdCB0ID0gY3VydmUuc2NhbGFyQWRkKGEsIGN1cnZlLnNjYWxhck11bHQoYywgcykpO1xuICBjb25zdCB1ID0gY3VydmUuc2NhbGFyQWRkKGIsIGN1cnZlLnNjYWxhck11bHQoYywgbCkpO1xuXG4gIHJldHVybiB7XG4gICAgQWxwaGE6IEFscGhhLFxuICAgIHQ6IHQsXG4gICAgdTogdSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgY2hhbGxlbmdlIGZvciBOSVpLIHByb29mIG9mIFYgdXNpbmcgRmlhdC1TaGFtaXIgdHJhbnNmb3JtLlxuICpcbiAqIEBwYXJhbSBWIFRoZSBwb2ludCB0byBiZSBwcm92ZW4uXG4gKiBAcGFyYW0gUiBUaGUgcG9pbnQgUiBzaGFyZWQgYnkgYWxsIHBhcnRpY2lwYW50cyBpbiB0aGUgRUNEU0Egc2lnbmluZyBwcm90b2NvbC5cbiAqIEBwYXJhbSBBbHBoYSBUaGUgcG9pbnQvcHVibGljIHZhbHVlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJhbmRvbSBzY2FsYXIgdmFsdWVzIGEgYW5kIGIgY2hvc2VuIGJ5IHRoZSBwcm92ZXIuXG4gKiBAcGFyYW0gY3VydmUgVGhlIGVsbGlwdGljIGN1cnZlLlxuICogQHBhcmFtIGFkZGl0aW9uYWxDdHggQWRkaXRpb25hbCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBwcm9vZi5cbiAqIEByZXR1cm5zIFRoZSBjYWxjdWxhdGVkIGNoYWxsZW5nZS5cbiAqL1xuZnVuY3Rpb24gbm9uSW50ZXJhY3RpdmVDaGFsbGVuZ2UoVjogYmlnaW50LCBSOiBiaWdpbnQsIEFscGhhOiBiaWdpbnQsIGN1cnZlOiBDdXJ2ZSwgYWRkaXRpb25hbEN0eDogQnVmZmVyKTogYmlnaW50IHtcbiAgY29uc3QgRyA9IGN1cnZlLmJhc2VQb2ludE11bHQoQmlnSW50KDEpKTtcblxuICBjb25zdCBoYXNoID0gY3JlYXRlSGFzaCgnc2hhMjU2Jyk7XG4gIGhhc2gudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoRywgY3VydmUucG9pbnRCeXRlcykpO1xuICBoYXNoLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKFIsIGN1cnZlLnBvaW50Qnl0ZXMpKTtcbiAgaGFzaC51cGRhdGUoYmlnSW50VG9CdWZmZXJCRShWLCBjdXJ2ZS5wb2ludEJ5dGVzKSk7XG4gIGhhc2gudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoQWxwaGEsIGN1cnZlLnBvaW50Qnl0ZXMpKTtcbiAgaGFzaC51cGRhdGUoYWRkaXRpb25hbEN0eCk7XG5cbiAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJCRShoYXNoLmRpZ2VzdCgpKTtcbn1cblxuLyoqXG4gKiBWZXJpZnkgYSBaSyBQcm9vZiBvZiBrbm93bGVkZ2Ugb2YgdGhlIHMgYW5kIGwgdGhhdCBhcmUgYmVoaW5kIHRoZSBwdWJsaWMgdmFsdWUgViA9IHNSICsgbEcuXG4gKiBAcGFyYW0gViBUaGUgY3VydmUgcG9pbnQgVi5cbiAqIEBwYXJhbSBwcm9vZiBUaGUgWksgcHJvb2YuXG4gKiBAcGFyYW0gUiBUaGUgY3VydmUgcG9pbnQgUiBzaGFyZWQgYnkgYWxsIHBhcnRpY2lwYW50cy5cbiAqIEBwYXJhbSBjdXJ2ZSBUaGUgZWxsaXB0aWMgY3VydmUuXG4gKiBAcGFyYW0gYWRkaXRpb25hbEN0eCBBZGRpdGlvbmFsIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gdGhhdCBpcyBzdXBwb3NlZCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcHJvb2YuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBwcm9vZiBjaGVja3Mgb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5WmtWUHJvb2YoXG4gIFY6IGJpZ2ludCxcbiAgcHJvb2Y6IFprVlByb29mLFxuICBSOiBiaWdpbnQsXG4gIGN1cnZlOiBDdXJ2ZSxcbiAgYWRkaXRpb25hbEN0eDogQnVmZmVyID0gQnVmZmVyLmZyb20oJycpXG4pOiBib29sZWFuIHtcbiAgY29uc3QgYyA9IG5vbkludGVyYWN0aXZlQ2hhbGxlbmdlKFYsIFIsIHByb29mLkFscGhhLCBjdXJ2ZSwgYWRkaXRpb25hbEN0eCk7XG5cbiAgY29uc3QgbGhzID0gY3VydmUucG9pbnRBZGQoY3VydmUucG9pbnRNdWx0aXBseShSLCBwcm9vZi50KSwgY3VydmUuYmFzZVBvaW50TXVsdChwcm9vZi51KSk7XG4gIGNvbnN0IHJocyA9IGN1cnZlLnBvaW50QWRkKHByb29mLkFscGhhLCBjdXJ2ZS5wb2ludE11bHRpcGx5KFYsIGN1cnZlLnNjYWxhclJlZHVjZShjKSkpO1xuXG4gIHJldHVybiBsaHMgPT09IHJocztcbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemtWUHJvb2YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhL3prVlByb29mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBb0JBLHdDQXNCQztBQWtDRCx3Q0FhQztBQXpGRDs7OztHQUlHO0FBQ0gsbUNBQW9DO0FBR3BDLHFDQUFrRTtBQUVsRTs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixjQUFjLENBQzVCLENBQVMsRUFDVCxDQUFTLEVBQ1QsQ0FBUyxFQUNULENBQVMsRUFDVCxLQUFZLEVBQ1osZ0JBQXdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXZDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEYsTUFBTSxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyRCxPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUs7UUFDWixDQUFDLEVBQUUsQ0FBQztRQUNKLENBQUMsRUFBRSxDQUFDO0tBQ0wsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLHVCQUF1QixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsS0FBYSxFQUFFLEtBQVksRUFBRSxhQUFxQjtJQUN2RyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sSUFBSSxHQUFHLElBQUEsbUJBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBQSx1QkFBZ0IsRUFBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFBLHVCQUFnQixFQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFM0IsT0FBTyxJQUFBLHlCQUFrQixFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsQ0FBUyxFQUNULEtBQWUsRUFDZixDQUFTLEVBQ1QsS0FBWSxFQUNaLGdCQUF3QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUV2QyxNQUFNLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBaZXJvIEtub3dsZWRnZSBQcm9vZiBvZiBrbm93bGVkZ2Ugb2YgdGhlIHMgYW5kIGwgdGhhdCBhcmUgYmVoaW5kIHRoZSBwdWJsaWMgdmFsdWUgViA9IHNSICsgbEcuXG4gKiBUaGUgViB2YWx1ZSBpcyBjYWxjdWxhdGVkIGluIHN0ZXAgNUEgYW5kIHRoZSBwcm9vZiBpcyBjcmVhdGVkIGluIHN0ZXAgNUIgb2YgdGhlIEdHMTggc2lnbmluZyBwcm90b2NvbC5cbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZXByaW50LmlhY3Iub3JnLzIwMTkvMTE0LnBkZn0gc2VjdGlvbiA0LjMgZm9yIHJlZmVyZW5jZS5cbiAqL1xuaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBCYXNlQ3VydmUgYXMgQ3VydmUgfSBmcm9tICcuLi8uLi9jdXJ2ZXMnO1xuaW1wb3J0IHsgWmtWUHJvb2YgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGJpZ0ludEZyb21CdWZmZXJCRSwgYmlnSW50VG9CdWZmZXJCRSB9IGZyb20gJy4uLy4uL3V0aWwnO1xuXG4vKipcbiAqIENyZWF0ZSBhIFpLIFByb29mIG9mIGtub3dsZWRnZSBvZiB0aGUgcyBhbmQgbCB0aGF0IGFyZSBiZWhpbmQgdGhlIHB1YmxpYyB2YWx1ZSBWID0gc1IgKyBsRy5cbiAqIEBwYXJhbSBWIFRoZSBjdXJ2ZSBwb2ludCBWLlxuICogQHBhcmFtIHMgVGhlIHMgdGhhdCBtdWx0aXBsaWVzIFIuXG4gKiBAcGFyYW0gbCBUaGUgbCB0aGF0IG11bHRpcGxpZXMgdGhlIGN1cnZlIGdlbnJlYXRvciBHLlxuICogQHBhcmFtIFIgVGhlIGN1cnZlIHBvaW50IFIgc2hhcmVkIGJ5IGFsbCBwYXJ0aWNpcGFudHMuXG4gKiBAcGFyYW0gY3VydmUgVGhlIGVsbGlwdGljIGN1cnZlLlxuICogQHBhcmFtIGFkZGl0aW9uYWxDdHggQWRkaXRpb25hbCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBwcm9vZi5cbiAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIHByb29mLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlWmtWUHJvb2YoXG4gIFY6IGJpZ2ludCxcbiAgczogYmlnaW50LFxuICBsOiBiaWdpbnQsXG4gIFI6IGJpZ2ludCxcbiAgY3VydmU6IEN1cnZlLFxuICBhZGRpdGlvbmFsQ3R4OiBCdWZmZXIgPSBCdWZmZXIuZnJvbSgnJylcbik6IFprVlByb29mIHtcbiAgY29uc3QgYSA9IGN1cnZlLnNjYWxhclJhbmRvbSgpO1xuICBjb25zdCBiID0gY3VydmUuc2NhbGFyUmFuZG9tKCk7XG4gIGNvbnN0IEFscGhhID0gY3VydmUucG9pbnRBZGQoY3VydmUucG9pbnRNdWx0aXBseShSLCBhKSwgY3VydmUuYmFzZVBvaW50TXVsdChiKSk7XG5cbiAgY29uc3QgYyA9IG5vbkludGVyYWN0aXZlQ2hhbGxlbmdlKFYsIFIsIEFscGhhLCBjdXJ2ZSwgYWRkaXRpb25hbEN0eCk7XG5cbiAgY29uc3QgdCA9IGN1cnZlLnNjYWxhckFkZChhLCBjdXJ2ZS5zY2FsYXJNdWx0KGMsIHMpKTtcbiAgY29uc3QgdSA9IGN1cnZlLnNjYWxhckFkZChiLCBjdXJ2ZS5zY2FsYXJNdWx0KGMsIGwpKTtcblxuICByZXR1cm4ge1xuICAgIEFscGhhOiBBbHBoYSxcbiAgICB0OiB0LFxuICAgIHU6IHUsXG4gIH07XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIGNoYWxsZW5nZSBmb3IgTklaSyBwcm9vZiBvZiBWIHVzaW5nIEZpYXQtU2hhbWlyIHRyYW5zZm9ybS5cbiAqXG4gKiBAcGFyYW0gViBUaGUgcG9pbnQgdG8gYmUgcHJvdmVuLlxuICogQHBhcmFtIFIgVGhlIHBvaW50IFIgc2hhcmVkIGJ5IGFsbCBwYXJ0aWNpcGFudHMgaW4gdGhlIEVDRFNBIHNpZ25pbmcgcHJvdG9jb2wuXG4gKiBAcGFyYW0gQWxwaGEgVGhlIHBvaW50L3B1YmxpYyB2YWx1ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSByYW5kb20gc2NhbGFyIHZhbHVlcyBhIGFuZCBiIGNob3NlbiBieSB0aGUgcHJvdmVyLlxuICogQHBhcmFtIGN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZS5cbiAqIEBwYXJhbSBhZGRpdGlvbmFsQ3R4IEFkZGl0aW9uYWwgY29udGV4dHVhbCBpbmZvcm1hdGlvbiB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcHJvb2YuXG4gKiBAcmV0dXJucyBUaGUgY2FsY3VsYXRlZCBjaGFsbGVuZ2UuXG4gKi9cbmZ1bmN0aW9uIG5vbkludGVyYWN0aXZlQ2hhbGxlbmdlKFY6IGJpZ2ludCwgUjogYmlnaW50LCBBbHBoYTogYmlnaW50LCBjdXJ2ZTogQ3VydmUsIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlcik6IGJpZ2ludCB7XG4gIGNvbnN0IEcgPSBjdXJ2ZS5iYXNlUG9pbnRNdWx0KEJpZ0ludCgxKSk7XG5cbiAgY29uc3QgaGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICBoYXNoLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEcsIGN1cnZlLnBvaW50Qnl0ZXMpKTtcbiAgaGFzaC51cGRhdGUoYmlnSW50VG9CdWZmZXJCRShSLCBjdXJ2ZS5wb2ludEJ5dGVzKSk7XG4gIGhhc2gudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoViwgY3VydmUucG9pbnRCeXRlcykpO1xuICBoYXNoLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEFscGhhLCBjdXJ2ZS5wb2ludEJ5dGVzKSk7XG4gIGhhc2gudXBkYXRlKGFkZGl0aW9uYWxDdHgpO1xuXG4gIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyQkUoaGFzaC5kaWdlc3QoKSk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGEgWksgUHJvb2Ygb2Yga25vd2xlZGdlIG9mIHRoZSBzIGFuZCBsIHRoYXQgYXJlIGJlaGluZCB0aGUgcHVibGljIHZhbHVlIFYgPSBzUiArIGxHLlxuICogQHBhcmFtIFYgVGhlIGN1cnZlIHBvaW50IFYuXG4gKiBAcGFyYW0gcHJvb2YgVGhlIFpLIHByb29mLlxuICogQHBhcmFtIFIgVGhlIGN1cnZlIHBvaW50IFIgc2hhcmVkIGJ5IGFsbCBwYXJ0aWNpcGFudHMuXG4gKiBAcGFyYW0gY3VydmUgVGhlIGVsbGlwdGljIGN1cnZlLlxuICogQHBhcmFtIGFkZGl0aW9uYWxDdHggQWRkaXRpb25hbCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRoYXQgaXMgc3VwcG9zZWQgdG8gYXNzb2NpYXRlIHdpdGggdGhlIHByb29mLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgcHJvb2YgY2hlY2tzIG91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVprVlByb29mKFxuICBWOiBiaWdpbnQsXG4gIHByb29mOiBaa1ZQcm9vZixcbiAgUjogYmlnaW50LFxuICBjdXJ2ZTogQ3VydmUsXG4gIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKCcnKVxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGMgPSBub25JbnRlcmFjdGl2ZUNoYWxsZW5nZShWLCBSLCBwcm9vZi5BbHBoYSwgY3VydmUsIGFkZGl0aW9uYWxDdHgpO1xuXG4gIGNvbnN0IGxocyA9IGN1cnZlLnBvaW50QWRkKGN1cnZlLnBvaW50TXVsdGlwbHkoUiwgcHJvb2YudCksIGN1cnZlLmJhc2VQb2ludE11bHQocHJvb2YudSkpO1xuICBjb25zdCByaHMgPSBjdXJ2ZS5wb2ludEFkZChwcm9vZi5BbHBoYSwgY3VydmUucG9pbnRNdWx0aXBseShWLCBjdXJ2ZS5zY2FsYXJSZWR1Y2UoYykpKTtcblxuICByZXR1cm4gbGhzID09PSByaHM7XG59XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { SerializedMessages, AuthEncMessage, AuthEncMessages, PartyGpgKey, AuthMessage } from './types';
2
+ /**
3
+ * Detach signs a binary and encodes it in base64
4
+ * @param data binary to encode in base64 and sign
5
+ * @param privateArmor private key to sign with
6
+ */
7
+ export declare function detachSignData(data: Buffer, privateArmor: string): Promise<AuthMessage>;
8
+ /**
9
+ * Encrypts and detach signs a binary
10
+ * @param data binary to encrypt and sign
11
+ * @param publicArmor public key to encrypt with
12
+ * @param privateArmor private key to sign with
13
+ */
14
+ export declare function encryptAndDetachSignData(data: Buffer, publicArmor: string, privateArmor: string): Promise<AuthEncMessage>;
15
+ /**
16
+ * Decrypts and verifies signature on a binary
17
+ * @param encryptedAndSignedMessage message to decrypt and verify
18
+ * @param publicArmor public key to verify signature with
19
+ * @param privateArmor private key to decrypt with
20
+ */
21
+ export declare function decryptAndVerifySignedData(encryptedAndSignedMessage: AuthEncMessage, publicArmor: string, privateArmor: string): Promise<string>;
22
+ /**
23
+ * Verifies signature on a binary (message passed should be encoded in base64).
24
+ * @param signedMessage message to verify
25
+ * @param publicArmor public key to verify signature with
26
+ */
27
+ export declare function verifySignedData(signedMessage: AuthMessage, publicArmor: string): Promise<boolean>;
28
+ /**
29
+ * Decrypts and verifies p2p messages + verifies broadcast messages
30
+ * @param messages message to decrypt and verify
31
+ * @param pubVerificationGpgKeys public keys to verify signatures with
32
+ * @param prvDecryptionGpgKeys private keys to decrypt with
33
+ */
34
+ export declare function decryptAndVerifyIncomingMessages(messages: AuthEncMessages, pubVerificationGpgKeys: PartyGpgKey[], prvDecryptionGpgKeys: PartyGpgKey[]): Promise<SerializedMessages>;
35
+ /**
36
+ * Encrypts and signs p2p messages + signs broadcast messages
37
+ * @param messages messages to encrypt and sign
38
+ * @param pubEncryptionGpgKey public keys to encrypt data to
39
+ * @param prvAuthenticationGpgKey private keys to sign with
40
+ */
41
+ export declare function encryptAndAuthOutgoingMessages(messages: SerializedMessages, pubEncryptionGpgKeys: PartyGpgKey[], prvAuthenticationGpgKeys: PartyGpgKey[]): Promise<AuthEncMessages>;
42
+ //# sourceMappingURL=commsLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commsLayer.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa-dkls/commsLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGxG;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAkB7F;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC,CA8BzB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,yBAAyB,EAAE,cAAc,EACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcxG;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,eAAe,EACzB,sBAAsB,EAAE,WAAW,EAAE,EACrC,oBAAoB,EAAE,WAAW,EAAE,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAoC7B;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,kBAAkB,EAC5B,oBAAoB,EAAE,WAAW,EAAE,EACnC,wBAAwB,EAAE,WAAW,EAAE,GACtC,OAAO,CAAC,eAAe,CAAC,CAuC1B"}