@solarity/zkit 0.1.1 → 0.2.1

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.
@@ -27,75 +27,58 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.CircuitZKit = void 0;
30
- const crypto_1 = require("crypto");
31
30
  const ejs_1 = __importDefault(require("ejs"));
32
31
  const fs_1 = __importDefault(require("fs"));
33
32
  const path_1 = __importDefault(require("path"));
34
33
  const snarkjs = __importStar(require("snarkjs"));
35
- const config_1 = require("../config/config");
36
- const utils_1 = require("../utils/utils");
37
- const { CircomRunner, bindings } = require("@distributedlab/circom2");
38
34
  /**
39
35
  * `CircuitZKit` represents a single circuit and provides a high-level API to work with it.
40
- *
41
- * @dev This class is not meant to be used directly. Use the `CircomZKit` to create its instance.
42
36
  */
43
37
  class CircuitZKit {
44
- _circuit;
45
- _manager;
46
- /**
47
- * Creates a new instance of `CircuitZKit`.
48
- *
49
- * @param {string} _circuit - The path to the circuit.
50
- * @param {ManagerZKit} _manager - The manager that maintains the global state.
51
- */
52
- constructor(_circuit, _manager) {
53
- this._circuit = _circuit;
54
- this._manager = _manager;
38
+ _config;
39
+ constructor(_config) {
40
+ this._config = _config;
55
41
  }
56
42
  /**
57
- * Compiles the circuit and generates the artifacts.
58
- *
59
- * @dev If compilation fails, the latest valid artifacts will be preserved.
60
- * @dev Doesn't show the compilation error if `quiet` is set to `true`.
43
+ * Returns the Solidity verifier template for the specified proving system.
61
44
  *
62
- * @param {Partial<CompileOptions>} [options=defaultCompileOptions] - Compilation options.
45
+ * @param {VerifierTemplateType} templateType - The template type.
46
+ * @returns {string} The Solidity verifier template.
63
47
  */
64
- async compile(options = config_1.defaultCompileOptions) {
65
- const tempDir = this._manager.getTempDir();
66
- try {
67
- const artifactDir = this._getDir("artifact");
68
- fs_1.default.mkdirSync(tempDir, { recursive: true });
69
- const overriddenOptions = { ...config_1.defaultCompileOptions, ...options };
70
- await this._compile(overriddenOptions, tempDir);
71
- await this._generateZKey(overriddenOptions, tempDir);
72
- await this._generateVKey(tempDir);
73
- this._moveFromTempDirToOutDir(tempDir, artifactDir);
74
- }
75
- finally {
76
- fs_1.default.rmSync(tempDir, { recursive: true, force: true });
48
+ static getTemplate(templateType) {
49
+ switch (templateType) {
50
+ case "groth16":
51
+ return fs_1.default.readFileSync(path_1.default.join(__dirname, "templates", "verifier_groth16.sol.ejs"), "utf8");
52
+ default:
53
+ throw new Error(`Ambiguous template type: ${templateType}.`);
77
54
  }
78
55
  }
79
56
  /**
80
- * Creates a verifier contract.
57
+ * Creates a Solidity verifier contract.
81
58
  */
82
59
  async createVerifier() {
83
- const tempDir = this._manager.getTempDir();
84
- try {
85
- const verifierDir = this._getDir("verifier");
86
- fs_1.default.mkdirSync(tempDir, { recursive: true });
87
- const vKeyFile = this._mustGetFile("vkey");
88
- const verifierFile = this._getFile("sol", tempDir);
89
- const groth16Template = this._manager.getTemplate("groth16");
90
- const templateParams = JSON.parse(fs_1.default.readFileSync(vKeyFile, "utf-8"));
91
- templateParams["verifier_id"] = this.getVerifierId();
92
- const verifierCode = ejs_1.default.render(groth16Template, templateParams);
93
- fs_1.default.writeFileSync(verifierFile, verifierCode, "utf-8");
94
- this._moveFromTempDirToOutDir(tempDir, verifierDir);
95
- }
96
- finally {
97
- fs_1.default.rmSync(tempDir, { recursive: true, force: true });
60
+ const vKeyFilePath = this.mustGetArtifactsFilePath("vkey");
61
+ const verifierFilePath = path_1.default.join(this._config.verifierDirPath, `${this.getVerifierName()}.sol`);
62
+ const verifierTemplate = CircuitZKit.getTemplate(this.getTemplateType());
63
+ if (!fs_1.default.existsSync(this._config.verifierDirPath)) {
64
+ fs_1.default.mkdirSync(this._config.verifierDirPath, { recursive: true });
98
65
  }
66
+ const templateParams = JSON.parse(fs_1.default.readFileSync(vKeyFilePath, "utf-8"));
67
+ templateParams["verifier_id"] = this.getVerifierName();
68
+ const verifierCode = ejs_1.default.render(verifierTemplate, templateParams);
69
+ fs_1.default.writeFileSync(verifierFilePath, verifierCode, "utf-8");
70
+ }
71
+ /**
72
+ * Creates a witness for the given inputs.
73
+ *
74
+ * @dev The `inputs` should be in the same order as the circuit expects them.
75
+ *
76
+ * @param {Inputs} inputs - The inputs for the circuit.
77
+ */
78
+ async createWitness(inputs) {
79
+ const wasmFile = this.mustGetArtifactsFilePath("wasm");
80
+ const wtnsFile = this.getArtifactsFilePath("wtns");
81
+ await snarkjs.wtns.calculate(inputs, wasmFile, wtnsFile);
99
82
  }
100
83
  /**
101
84
  * Generates a proof for the given inputs.
@@ -107,8 +90,8 @@ class CircuitZKit {
107
90
  * @todo Add support for other proving systems.
108
91
  */
109
92
  async generateProof(inputs) {
110
- const zKeyFile = this._mustGetFile("zkey");
111
- const wasmFile = this._mustGetFile("wasm");
93
+ const zKeyFile = this.mustGetArtifactsFilePath("zkey");
94
+ const wasmFile = this.mustGetArtifactsFilePath("wasm");
112
95
  return (await snarkjs.groth16.fullProve(inputs, wasmFile, zKeyFile));
113
96
  }
114
97
  /**
@@ -121,7 +104,7 @@ class CircuitZKit {
121
104
  * @returns {Promise<boolean>} Whether the proof is valid.
122
105
  */
123
106
  async verifyProof(proof) {
124
- const vKeyFile = this._mustGetFile("vkey");
107
+ const vKeyFile = this.mustGetArtifactsFilePath("vkey");
125
108
  const verifier = JSON.parse(fs_1.default.readFileSync(vKeyFile).toString());
126
109
  return await snarkjs.groth16.verify(verifier, proof.publicSignals, proof.proof);
127
110
  }
@@ -137,217 +120,79 @@ class CircuitZKit {
137
120
  return JSON.parse(`[${calldata}]`);
138
121
  }
139
122
  /**
140
- * Returns the circuit ID. The circuit ID is the name of the circuit file without the extension.
123
+ * Returns the circuit name. The circuit name is the name of the circuit file without the extension.
141
124
  *
142
- * @returns {string} The circuit ID.
125
+ * @returns {string} The circuit name.
143
126
  */
144
- getCircuitId() {
145
- return path_1.default.parse(this._circuit).name;
127
+ getCircuitName() {
128
+ return this._config.circuitName;
146
129
  }
147
130
  /**
148
- * Returns the verifier ID. The verifier ID is the name of the circuit file without the extension, suffixed with "Verifier".
131
+ * Returns the verifier name. The verifier name is the name of the circuit file without the extension, suffixed with "Verifier".
149
132
  *
150
- * @returns {string} The verifier ID.
133
+ * @returns {string} The verifier name.
151
134
  */
152
- getVerifierId() {
153
- return `${path_1.default.parse(this._circuit).name}Verifier`;
135
+ getVerifierName() {
136
+ return `${this._config.circuitName}Verifier`;
154
137
  }
155
138
  /**
156
- * Generates zero-knowledge key for the circuit.
139
+ * Returns the type of verifier template that was stored in the config
157
140
  *
158
- * @param {CompileOptions} options - Compilation options.
159
- * @param {string} outDir - The directory to save the generated key.
160
- * @todo This method may cause issues https://github.com/iden3/snarkjs/issues/494
141
+ * @returns {VerifierTemplateType} The verifier template type.
161
142
  */
162
- async _generateZKey(options, outDir) {
163
- const r1csFile = this._getFile("r1cs", outDir);
164
- const zKeyFile = this._getFile("zkey", outDir);
165
- const constraints = await this._getConstraints(outDir);
166
- const ptauFile = await this._manager.fetchPtauFile(constraints);
167
- if (options.setup == "groth16") {
168
- await snarkjs.zKey.newZKey(r1csFile, ptauFile, zKeyFile);
169
- const zKeyFileNext = `${zKeyFile}.next.zkey`;
170
- for (let i = 0; i < options.contributions; ++i) {
171
- await snarkjs.zKey.contribute(zKeyFile, zKeyFileNext, `${zKeyFile}_contribution_${i}`, (0, crypto_1.randomBytes)(32).toString("hex"));
172
- fs_1.default.rmSync(zKeyFile);
173
- fs_1.default.renameSync(zKeyFileNext, zKeyFile);
174
- }
175
- }
176
- }
177
- /**
178
- * Generates verification key for the circuit.
179
- *
180
- * @param {string} outDir - The directory to save the generated key.
181
- */
182
- async _generateVKey(outDir) {
183
- const zKeyFile = this._getFile("zkey", outDir);
184
- const vKeyFile = this._getFile("vkey", outDir);
185
- const vKeyData = await snarkjs.zKey.exportVerificationKey(zKeyFile);
186
- fs_1.default.writeFileSync(vKeyFile, JSON.stringify(vKeyData));
187
- }
188
- /**
189
- * Returns the arguments to compile the circuit.
190
- *
191
- * @param {CompileOptions} options - Compilation options.
192
- * @param {string} outDir - The directory to save the compiled artifacts.
193
- * @returns {string[]} The arguments to compile the circuit.
194
- */
195
- _getCompileArgs(options, outDir) {
196
- let args = [this._circuit, "--r1cs", "--wasm"];
197
- options.sym && args.push("--sym");
198
- options.json && args.push("--json");
199
- options.c && args.push("--c");
200
- args.push("-o", outDir);
201
- return args;
202
- }
203
- /**
204
- * Compiles the circuit.
205
- *
206
- * @param {CompileOptions} options - Compilation options.
207
- * @param {string} outDir - The directory to save the compiled artifacts.
208
- */
209
- async _compile(options, outDir) {
210
- const args = this._getCompileArgs(options, outDir);
211
- try {
212
- await this._getCircomRunner(args, options.quiet).execute(this._manager.getCompiler());
213
- }
214
- catch (err) {
215
- if (options.quiet) {
216
- throw new Error('Compilation failed with an unknown error. Consider passing "quiet=false" flag to see the compilation error.', { cause: err });
217
- }
218
- throw new Error("Compilation failed.", { cause: err });
219
- }
143
+ getTemplateType() {
144
+ return this._config.templateType ?? "groth16";
220
145
  }
221
146
  /**
222
- * Returns the number of constraints in the circuit. This value is used to fetch the correct `ptau` file.
147
+ * Returns the path to the file of the given type inside artifacts directory. Throws an error if the file doesn't exist.
223
148
  *
224
- * @param {string} outDir - The directory where the compiled artifacts are saved.
225
- * @returns {Promise<number>} The number of constraints in the circuit.
149
+ * @param {ArtifactsFileType} fileType - The type of the file.
150
+ * @returns {string} The path to the file.
226
151
  */
227
- async _getConstraints(outDir) {
228
- const r1csFile = this._getFile("r1cs", outDir);
229
- const r1csDescriptor = fs_1.default.openSync(r1csFile, "r");
230
- const readBytes = (position, length) => {
231
- const buffer = Buffer.alloc(length);
232
- fs_1.default.readSync(r1csDescriptor, buffer, { length, position });
233
- return BigInt(`0x${buffer.reverse().toString("hex")}`);
234
- };
235
- /// @dev https://github.com/iden3/r1csfile/blob/d82959da1f88fbd06db0407051fde94afbf8824a/doc/r1cs_bin_format.md#format-of-the-file
236
- const numberOfSections = readBytes(8, 4);
237
- let sectionStart = 12;
238
- for (let i = 0; i < numberOfSections; ++i) {
239
- const sectionType = Number(readBytes(sectionStart, 4));
240
- const sectionSize = Number(readBytes(sectionStart + 4, 8));
241
- /// @dev Reading header section
242
- if (sectionType == 1) {
243
- const totalConstraintsOffset = 4 + 8 + 4 + 32 + 4 + 4 + 4 + 4 + 8;
244
- return Number(readBytes(sectionStart + totalConstraintsOffset, 4));
245
- }
246
- sectionStart += 4 + 8 + sectionSize;
152
+ mustGetArtifactsFilePath(fileType) {
153
+ const file = this.getArtifactsFilePath(fileType);
154
+ if (!fs_1.default.existsSync(file)) {
155
+ throw new Error(`Expected the file "${file}" to exist`);
247
156
  }
248
- throw new Error("Header section is not found.");
157
+ return file;
249
158
  }
250
159
  /**
251
- * Returns the path to the file of the given type.
160
+ * Returns the path to the file of the given type inside artifacts directory.
252
161
  *
253
- * @param {FileType} fileType - The type of the file.
254
- * @param {string | undefined} temp - The temporary directory to use.
162
+ * @param {ArtifactsFileType} fileType - The type of the file.
255
163
  * @returns {string} The path to the file.
256
164
  */
257
- _getFile(fileType, temp) {
258
- const circuitId = this.getCircuitId();
165
+ getArtifactsFilePath(fileType) {
166
+ const circuitName = this.getCircuitName();
167
+ let fileName;
168
+ let fileDir = this._config.circuitArtifactsPath;
259
169
  switch (fileType) {
260
170
  case "r1cs":
261
- return path_1.default.join(temp ?? this._getDir("artifact"), `${circuitId}.r1cs`);
171
+ fileName = `${circuitName}.r1cs`;
172
+ break;
262
173
  case "zkey":
263
- return path_1.default.join(temp ?? this._getDir("artifact"), `${circuitId}.zkey`);
174
+ fileName = `${circuitName}.zkey`;
175
+ break;
264
176
  case "vkey":
265
- return path_1.default.join(temp ?? this._getDir("artifact"), `${circuitId}.vkey.json`);
177
+ fileName = `${circuitName}.vkey.json`;
178
+ break;
266
179
  case "sym":
267
- return path_1.default.join(temp ?? this._getDir("artifact"), `${circuitId}.sym`);
180
+ fileName = `${circuitName}.sym`;
181
+ break;
268
182
  case "json":
269
- return path_1.default.join(temp ?? this._getDir("artifact"), `${circuitId}.json`);
183
+ fileName = `${circuitName}_constraints.json`;
184
+ break;
185
+ case "wtns":
186
+ fileName = `${circuitName}.wtns`;
187
+ break;
270
188
  case "wasm":
271
- return path_1.default.join(temp ?? this._getDir("artifact"), `${circuitId}_js`, `${circuitId}.wasm`);
272
- case "sol":
273
- return path_1.default.join(temp ?? this._getDir("verifier"), `${circuitId}Verifier.sol`);
189
+ fileName = `${circuitName}.wasm`;
190
+ fileDir = path_1.default.join(fileDir, `${circuitName}_js`);
191
+ break;
274
192
  default:
275
193
  throw new Error(`Ambiguous file type: ${fileType}.`);
276
194
  }
277
- }
278
- /**
279
- * Returns the path to the directory of the given type.
280
- *
281
- * @param {DirType} dirType - The type of the directory.
282
- * @returns {string} The path to the directory.
283
- */
284
- _getDir(dirType) {
285
- const circuitRelativePath = path_1.default.relative(this._manager.getCircuitsDir(), this._circuit);
286
- switch (dirType) {
287
- case "circuit":
288
- return path_1.default.join(this._manager.getCircuitsDir(), circuitRelativePath, "..");
289
- case "artifact":
290
- return path_1.default.join(this._manager.getArtifactsDir(), circuitRelativePath);
291
- case "verifier":
292
- return path_1.default.join(this._manager.getVerifiersDir(), circuitRelativePath, "..");
293
- default:
294
- throw new Error(`Ambiguous dir type: ${dirType}.`);
295
- }
296
- }
297
- /**
298
- * Returns the path to the file of the given type. Throws an error if the file doesn't exist.
299
- *
300
- * @param {FileType} fileType - The type of the file.
301
- * @param {string | undefined} temp - The temporary directory to use.
302
- * @returns {string} The path to the file.
303
- */
304
- _mustGetFile(fileType, temp) {
305
- const file = this._getFile(fileType, temp);
306
- if (!fs_1.default.existsSync(file)) {
307
- throw new Error(`Expected the file "${file}" to exist`);
308
- }
309
- return file;
310
- }
311
- /**
312
- * Moves the files from the temporary directory to the output directory.
313
- *
314
- * @param {string} tempDir - The temporary directory.
315
- * @param {string} outDir - The output directory.
316
- */
317
- _moveFromTempDirToOutDir(tempDir, outDir) {
318
- fs_1.default.mkdirSync(outDir, { recursive: true });
319
- (0, utils_1.readDirRecursively)(tempDir, (dir, file) => {
320
- const correspondingOutDir = path_1.default.join(outDir, path_1.default.relative(tempDir, dir));
321
- const correspondingOutFile = path_1.default.join(outDir, path_1.default.relative(tempDir, file));
322
- if (!fs_1.default.existsSync(correspondingOutDir)) {
323
- fs_1.default.mkdirSync(correspondingOutDir);
324
- }
325
- if (fs_1.default.existsSync(correspondingOutFile)) {
326
- fs_1.default.rmSync(correspondingOutFile);
327
- }
328
- fs_1.default.copyFileSync(file, correspondingOutFile);
329
- });
330
- }
331
- /**
332
- * Returns a new instance of `CircomRunner`. The `CircomRunner` is used to compile the circuit.
333
- *
334
- * @param {string[]} args - The arguments to run the `circom` compiler.
335
- * @param {boolean} quiet - Whether to suppress the compilation error.
336
- * @returns {typeof CircomRunner} The `CircomRunner` instance.
337
- */
338
- _getCircomRunner(args, quiet) {
339
- return new CircomRunner({
340
- args,
341
- preopens: { "/": "/" },
342
- bindings: {
343
- ...bindings,
344
- exit(code) {
345
- throw new Error(`Compilation error. Exit code: ${code}.`);
346
- },
347
- fs: fs_1.default,
348
- },
349
- quiet,
350
- });
195
+ return path_1.default.join(fileDir, fileName);
351
196
  }
352
197
  }
353
198
  exports.CircuitZKit = CircuitZKit;
@@ -1 +1 @@
1
- {"version":3,"file":"CircuitZKit.js","sourceRoot":"","sources":["../../src/core/CircuitZKit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CircuitZKit.js","sourceRoot":"","sources":["../../src/core/CircuitZKit.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- export * from "./core/CircomZKit";
2
1
  export * from "./core/CircuitZKit";
3
- export * from "./core/ManagerZKit";
4
- export { NumericString, PublicSignals, Groth16Proof, Calldata, ProofStruct, Inputs, CircuitInfo } from "./types/types";
5
- export { CompileOptions, ManagerZKitConfig, defaultCompileOptions, defaultManagerOptions } from "./config/config";
2
+ export * from "./types/circuit-zkit";
6
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -14,11 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.defaultManagerOptions = exports.defaultCompileOptions = void 0;
18
- __exportStar(require("./core/CircomZKit"), exports);
19
17
  __exportStar(require("./core/CircuitZKit"), exports);
20
- __exportStar(require("./core/ManagerZKit"), exports);
21
- var config_1 = require("./config/config");
22
- Object.defineProperty(exports, "defaultCompileOptions", { enumerable: true, get: function () { return config_1.defaultCompileOptions; } });
23
- Object.defineProperty(exports, "defaultManagerOptions", { enumerable: true, get: function () { return config_1.defaultManagerOptions; } });
18
+ __exportStar(require("./types/circuit-zkit"), exports);
24
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AAInC,0CAAkH;AAAtE,+GAAA,qBAAqB,OAAA;AAAE,+GAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uDAAqC"}
@@ -0,0 +1,43 @@
1
+ export type NumericString = `${number}` | string;
2
+ export type PublicSignals = NumericString[];
3
+ export type Groth16Proof = {
4
+ pi_a: [NumericString, NumericString];
5
+ pi_b: [[NumericString, NumericString], [NumericString, NumericString]];
6
+ pi_c: [NumericString, NumericString];
7
+ protocol: string;
8
+ curve: string;
9
+ };
10
+ export type Calldata = [
11
+ [
12
+ NumericString,
13
+ NumericString
14
+ ],
15
+ [
16
+ [NumericString, NumericString],
17
+ [NumericString, NumericString]
18
+ ],
19
+ [
20
+ NumericString,
21
+ NumericString
22
+ ],
23
+ [
24
+ NumericString
25
+ ]
26
+ ];
27
+ export type ProofStruct = {
28
+ proof: Groth16Proof;
29
+ publicSignals: PublicSignals;
30
+ };
31
+ export type NumberLike = number | bigint | string;
32
+ export type ArrayLike = NumberLike[] | ArrayLike[];
33
+ export type InputLike = NumberLike | ArrayLike;
34
+ export type Inputs = Record<string, InputLike>;
35
+ export type ArtifactsFileType = "r1cs" | "zkey" | "vkey" | "sym" | "json" | "wasm" | "wtns";
36
+ export type VerifierTemplateType = "groth16";
37
+ export type CircuitZKitConfig = {
38
+ circuitName: string;
39
+ circuitArtifactsPath: string;
40
+ verifierDirPath: string;
41
+ templateType?: VerifierTemplateType;
42
+ };
43
+ //# sourceMappingURL=circuit-zkit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-zkit.d.ts","sourceRoot":"","sources":["../../src/types/circuit-zkit.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB;QAAC,aAAa;QAAE,aAAa;KAAC;IAC9B;QAAC,CAAC,aAAa,EAAE,aAAa,CAAC;QAAE,CAAC,aAAa,EAAE,aAAa,CAAC;KAAC;IAChE;QAAC,aAAa;QAAE,aAAa;KAAC;IAC9B;QAAC,aAAa;KAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5F,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=circuit-zkit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-zkit.js","sourceRoot":"","sources":["../../src/types/circuit-zkit.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solarity/zkit",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "license": "MIT",
5
5
  "author": "Distributed Lab",
6
6
  "readme": "README.md",
@@ -26,25 +26,36 @@
26
26
  "scripts": {
27
27
  "prepare": "husky",
28
28
  "build": "tsc",
29
- "test": "jest --forceExit",
30
- "lint-fix": "prettier --write 'src/**/*.ts'",
29
+ "test": "mocha --recursive 'test/**/*.ts' --exit",
30
+ "coverage": "nyc mocha --recursive 'test/**/*.ts' --exit",
31
+ "lint-fix": "prettier --write \"./**/*.ts\"",
31
32
  "publish-to-npm": "npm run lint-fix && bash ./scripts/publish.sh"
32
33
  },
34
+ "nyc": {
35
+ "reporter": [
36
+ "html",
37
+ "text"
38
+ ]
39
+ },
33
40
  "dependencies": {
34
- "@distributedlab/circom2": "0.2.18-rc.2",
35
41
  "ejs": "3.1.10",
36
- "snarkjs": "0.7.3",
37
- "uuid": "9.0.1"
42
+ "snarkjs": "0.7.3"
38
43
  },
39
44
  "devDependencies": {
45
+ "@nomicfoundation/hardhat-ethers": "3.0.5",
40
46
  "@types/ejs": "^3.1.5",
41
- "@types/jest": "^29.5.12",
42
47
  "@types/snarkjs": "^0.7.8",
43
- "@types/uuid": "^9.0.8",
48
+ "@types/chai": "^4.3.12",
49
+ "@types/chai-as-promised": "^7.1.8",
50
+ "@types/mocha": "^10.0.6",
51
+ "chai": "^4.4.1",
52
+ "chai-as-promised": "^7.1.1",
53
+ "mocha": "^10.3.0",
54
+ "nyc": "^15.1.0",
55
+ "ethers": "6.11.1",
56
+ "hardhat": "2.20.1",
44
57
  "husky": "^9.0.11",
45
- "jest": "^29.7.0",
46
58
  "prettier": "^3.2.5",
47
- "ts-jest": "^29.1.2",
48
59
  "ts-node": "^10.9.2",
49
60
  "typescript": "^5.4.5"
50
61
  }