Commit Graph

16 Commits

Author SHA1 Message Date
600fd212cc Add AddBatch CaseB
CASE B: ALMOST CASE A, Almost empty Tree --> if Tree has numLeafs < minLeafsThreshold
==============================================================================
- Get the Leafs (key & value) (iterate the tree from the current root getting
the leafs)
- Create a new empty Tree
- Do CASE A for the new Tree, giving the already existing key&values (leafs)
from the original Tree + the new key&values to be added from the AddBatch call

       R                 R
      / \               /  \
     A   *             /    \
        / \           /      \
       B   C         *        *
                    / |      / \
                   /  |     /   \
                  /   |    /     \
           L:    A    B   G       D
                         / \
                        /   \
                       /     \
                      C      *
                            / \
                           /   \
                          /     \
                         ...     ... (nLeafs < minLeafsThreshold)
2021-04-25 17:55:34 +02:00
6f43980c0f Add Tree.emptyHash & nLeafs methods 2021-04-25 17:55:34 +02:00
02b141d12e Start to impl AddBatch efficient algorithm Case A
In case that the tree is empty, build the full tree from bottom to top
(from all the leaf to the root).
2021-04-25 17:54:52 +02:00
8ede441191 Add Graphviz generation methods 2021-04-17 09:33:00 +02:00
c26b23c544 Add Mutex, integrate tx into Tree struct 2021-04-12 21:26:26 +02:00
8af921667f Add tree.Update(k, v) method 2021-04-03 19:58:34 +02:00
f8ac4be02b Tests migrate from stretchr/testify to frankban/quicktest 2021-04-03 19:40:18 +02:00
f1665b1a15 Add Iterate, Dump, ImportDump methods to Tree 2021-04-02 15:31:38 +02:00
cf572f628e Add tree.AddBatch (using db.Tx) 2021-04-01 16:36:58 +02:00
4cd2ff6182 Add tree.Get 2021-03-31 23:05:10 +02:00
bde87ca844 Add proof verification 2021-03-31 20:34:36 +02:00
8c63b5d192 Add proof generation 2021-03-31 20:04:30 +02:00
43cb6041c9 Add Tree.Add compatible with circomlib 2021-03-30 22:41:34 +02:00
7cfa466b25 Add GithubActions: lint & test 2021-03-30 22:03:26 +02:00
e1d2173dc9 Add HashFunction interface (w/ Poseidon & Sha256) 2021-03-30 21:59:24 +02:00
7af0dae297 Init: README.md & LICENSE 2021-03-30 21:56:05 +02:00