Commit Graph

12 Commits

Author SHA1 Message Date
Sean Bowe a7cbb8475f Abstract `uncommitted` and depth personalization for IncrementalMerkleTree. 2018-05-07 13:46:06 -06:00
Jack Grigg 4fe053e6e8
Move explicit instantiation of IncrementalMerkleTree::emptyroots into header
Fixes a -Wundefined-var-template warning with clang.
2018-03-28 18:29:19 +02:00
Jack Grigg 5d6e1aa60f
Add total number of commitments to getblockchaininfo 2016-12-15 15:50:26 +13:00
Sean Bowe 5f0a73ce11 Improve accuracy of constraint system violation diagnostics. 2016-11-05 11:27:23 -06:00
Sean Bowe 2668a1bc13 Remove the rest of libzerocash. 2016-07-10 20:25:02 -06:00
Taylor Hornby bf2e3122ac Remove the Merkle tree hash function's fixed point. 2016-05-16 20:20:36 -06:00
Sean Bowe 26007222e8 Distinguish the failure cases of wfcheck in tree. 2016-05-03 11:23:54 -06:00
Sean Bowe 6f1b70300d Small nit fixes 2016-04-30 11:59:39 -06:00
Sean Bowe 9b92a9d5fb Make appending algorithm more succinct. 2016-04-28 16:07:52 -06:00
Sean Bowe d0c4b0e850 Add more well-formedness checks/tests to tree. 2016-04-28 16:07:52 -06:00
Sean Bowe 01e4ff0f74 Improve well-formedness checks and add additional serialization/deserialization tests. 2016-04-28 16:07:52 -06:00
Sean Bowe e1ff849d8d New implementation of incremental merkle tree
This is a new implementation of the incremental merkle tree used by our
scheme to witness commitments to spendable value. It serves as a fixed-sized
accumulator.

This new construction has a much simpler API surface area, avoids memory
safety issues, remains pruned at all times, avoids serialization edge cases,
has more efficient insertion, and is abstract over the depth and hash
function used at the type level.

Further, it lays the groundwork for efficient "fast-forwarding" of witnesses
into the tree as the treestate is updated.
2016-04-28 16:07:52 -06:00