arnaucube
arnaucube/arboPublic Self-hosted repository
arbo/testvectors/circom/test/circuits/smt-proof-processor_test.circom
testvectors/circom/test/circuits/smt-proof-processor_test.circomRaw
 1include "../../node_modules/circomlib/circuits/comparators.circom";
 2include "../../node_modules/circomlib/circuits/poseidon.circom";
 3include "../../node_modules/circomlib/circuits/smt/smtprocessor.circom";
 4
 5template SMTProcessorTest(nLevels) {
 6	signal input newKey;
 7	signal input newValue;
 8	signal private input oldKey;
 9	signal private input oldValue;
10	signal private input isOld0;
11	signal private input siblings[nLevels];
12	signal input oldRoot;
13	signal input newRoot;
14
15	component smtProcessor = SMTProcessor(nLevels);
16	smtProcessor.oldRoot <== oldRoot;
17	smtProcessor.newRoot <== newRoot;
18	for (var i=0; i<nLevels; i++) {
19		smtProcessor.siblings[i] <== siblings[i];
20	}
21	smtProcessor.oldKey <== oldKey;
22	smtProcessor.oldValue <== oldValue;
23	smtProcessor.isOld0 <== isOld0;
24	smtProcessor.newKey <== newKey;
25	smtProcessor.newValue <== newValue;
26	smtProcessor.fnc[0] <== 1;
27	smtProcessor.fnc[1] <== 0;
28}