arbo/testvectors/circom/test/circuits/smt-proof-verifier_test.circom
testvectors/circom/test/circuits/smt-proof-verifier_test.circomRaw
1include "../../node_modules/circomlib/circuits/comparators.circom";
2include "../../node_modules/circomlib/circuits/poseidon.circom";
3include "../../node_modules/circomlib/circuits/smt/smtverifier.circom";
4
5template SMTVerifierTest(nLevels) {
6 signal input key;
7 signal input value;
8 signal input fnc;
9 signal private input oldKey;
10 signal private input oldValue;
11 signal private input isOld0;
12 signal private input siblings[nLevels];
13 signal input root;
14
15 component smtV = SMTVerifier(nLevels);
16 smtV.enabled <== 1;
17 smtV.fnc <== fnc;
18 smtV.root <== root;
19 for (var i=0; i<nLevels; i++) {
20 smtV.siblings[i] <== siblings[i];
21 }
22 smtV.oldKey <== oldKey;
23 smtV.oldValue <== oldValue;
24 smtV.isOld0 <== isOld0;
25 smtV.key <== key;
26 smtV.value <== value;
27}