circomlib/rolluptx.circom
rolluptx.circomRaw
1/*
2fnc[0] fn[1] Function S1 S2 S3 S4
30 0 NOP 0 0 0 0
40 1 TRANSFER 0 1 0 1
51 0 ENTRY 0 1 0 1
61 1 EXIT 1 0 1 1
7
8*/
9
10template rollupTx(nLevels) {
11 signal input fromIdx; // 24
12 signal input toIdx; // 24
13 signal input fpTxAmount; // 24
14
15 signal input fnc[2]; // 2
16
17 signal oldRoot;
18 signal newRoot;
19
20 signal input sigR8;
21 signal input sigS;
22
23// State 1
24 signal input Ax1;
25 signal input Ay1;
26 signal input St1;
27 signal input siblings1[nlevels];
28
29 // Required for inserts and delete
30 signal input isOld0_1; // 1
31 signal input oldKey;
32 signal input oldValue;
33
34// State 2
35 signal input Ax2;
36 signal input Ay2;
37 signal input St2;
38 signal input siblings2[nlevels];
39 signal input isOld0_1; // 1
40 signal input oldKey;
41 signal input oldValue;
42
43}