arnaucube
arnaucube/circomlibPublic Self-hosted repository
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}