diff --git a/circuit.config.ts b/circuit.config.ts index e069085..206d9be 100644 --- a/circuit.config.ts +++ b/circuit.config.ts @@ -45,13 +45,6 @@ const config: Config = { publicInputs: [], templateParams: [11], }, - // checks that a number fits to given bit count - cbl_3: { - file: 'float_add', - template: 'CheckBitLength', - publicInputs: [], - templateParams: [3], - }, }; export default config as Readonly; diff --git a/circuits/test/cbl_3.circom b/circuits/test/cbl_3.circom deleted file mode 100644 index 5743c1a..0000000 --- a/circuits/test/cbl_3.circom +++ /dev/null @@ -1,6 +0,0 @@ -// auto-generated by instantiate.js -pragma circom 2.0.0; - -include "../float_add.circom"; - -component main = CheckBitLength(3); diff --git a/circuits/test/multiplier_3.circom b/circuits/test/multiplier_3.circom deleted file mode 100644 index a8559aa..0000000 --- a/circuits/test/multiplier_3.circom +++ /dev/null @@ -1,6 +0,0 @@ -// auto-generated by instantiate.js -pragma circom 2.0.0; - -include "../multiplier.circom"; - -component main = Multiplier(3); diff --git a/tests/fibonacci.test.ts b/tests/fibonacci.test.ts index a99afae..3d38dee 100644 --- a/tests/fibonacci.test.ts +++ b/tests/fibonacci.test.ts @@ -1,10 +1,19 @@ +import {instantiate} from '../utils/instantiate'; import {createWasmTester} from '../utils/wasmTester'; -describe('fibonacci_11', () => { +const N = 19; +const circuitName = 'fibonacci_' + N; +describe(circuitName, () => { let circuit: Awaited>; before(async () => { - circuit = await createWasmTester('fibonacci_11'); + instantiate(circuitName, 'test', { + file: 'fibonacci', + template: 'Fibonacci', + publicInputs: [], + templateParams: [N], + }); + circuit = await createWasmTester(circuitName, 'test'); await circuit.printConstraintCount(); }); @@ -14,7 +23,7 @@ describe('fibonacci_11', () => { in: [1, 1], }, { - out: fibonacci([1, 1], 11), + out: fibonacci([1, 1], N), } ); }); diff --git a/tests/float_add.test.ts b/tests/float_add.test.ts index 8032622..26f3108 100644 --- a/tests/float_add.test.ts +++ b/tests/float_add.test.ts @@ -1,3 +1,4 @@ +import {instantiate} from '../utils/instantiate'; import {createWasmTester} from '../utils/wasmTester'; // tests adapted from https://github.com/rdi-berkeley/zkp-mooc-lab @@ -5,7 +6,13 @@ describe('fp32', () => { let circuit: Awaited>; before(async () => { - circuit = await createWasmTester('fp32'); + instantiate('fp32', 'test', { + file: 'float_add', + template: 'FloatAdd', + publicInputs: [], + templateParams: [8, 23], + }); + circuit = await createWasmTester('fp32', 'test'); await circuit.printConstraintCount(401); }); @@ -102,7 +109,13 @@ describe('fp64', () => { let circuit: Awaited>; before(async () => { - circuit = await createWasmTester('fp64'); + instantiate('fp64', 'test', { + file: 'float_add', + template: 'FloatAdd', + publicInputs: [], + templateParams: [11, 52], + }); + circuit = await createWasmTester('fp64', 'test'); await circuit.printConstraintCount(819); }); diff --git a/tests/multiplier.test.ts b/tests/multiplier.test.ts index 01d2630..23d61f3 100644 --- a/tests/multiplier.test.ts +++ b/tests/multiplier.test.ts @@ -2,29 +2,33 @@ import {createWasmTester} from '../utils/wasmTester'; import {ProofTester} from '../utils/proofTester'; import type {CircuitSignals, FullProof} from '../types/circuit'; import {assert, expect} from 'chai'; -import {instantiate, clearInstance} from '../utils/instantiate'; +import {instantiate} from '../utils/instantiate'; // read inputs from file import input80 from '../inputs/multiplier_3/80.json'; -describe('multiplier_3', () => { - const INPUT: CircuitSignals = input80; +const N = 3; +const circuitName = 'multiplier_' + N; +describe(circuitName, () => { + const INPUT: CircuitSignals = { + in: [1, 2, 3], // TODO: N random ints + }; let circuit: Awaited>; before(async () => { - instantiate('multiplier_3', 'test', { + instantiate(circuitName, 'test', { file: 'multiplier', template: 'Multiplier', publicInputs: [], - templateParams: [3], + templateParams: [N], }); - circuit = await createWasmTester('multiplier_3', 'test'); - await circuit.printConstraintCount(2); // N - 1 + circuit = await createWasmTester(circuitName, 'test'); + await circuit.printConstraintCount(N); // N - 1 }); - after(() => { - clearInstance('multiplier_3', 'test'); - }); + // after(() => { + // clearInstance(circuitName, 'test'); + // }); it('should compute correctly', async () => { await circuit.expectCorrectAssert(INPUT, { diff --git a/tests/sudoku.test.ts b/tests/sudoku.test.ts index 61e4208..a7addc6 100644 --- a/tests/sudoku.test.ts +++ b/tests/sudoku.test.ts @@ -1,3 +1,4 @@ +import {instantiate} from '../utils/instantiate'; import {createWasmTester} from '../utils/wasmTester'; const INPUTS = { @@ -41,13 +42,20 @@ const INPUTS = { }, }; -['sudoku_9x9', 'sudoku_4x4'].map(circuitName => - describe(circuitName, () => { +[9, 4].map(N => + describe(`sudoku_${N}x${N}`, () => { + const circuitName = `sudoku_${N}x${N}`; // @ts-ignore const INPUT = INPUTS[circuitName]; let circuit: Awaited>; before(async () => { + instantiate(circuitName, 'test', { + file: 'sudoku', + template: 'Sudoku', + publicInputs: ['puzzle'], + templateParams: [Math.sqrt(N)], + }); circuit = await createWasmTester(circuitName); }); diff --git a/utils/instantiate.ts b/utils/instantiate.ts index 79050f5..58fcd79 100644 --- a/utils/instantiate.ts +++ b/utils/instantiate.ts @@ -25,7 +25,7 @@ export function instantiate(name: string, directory: string, circuitConfig?: Cir console.log(`Main component created at: ${targetPath}\n`); } -export function clearInstance(name: string, directory: string) { +export function clearTestInstance(name: string, directory: string) { // TODO: remove the file }