Eirik Ogilvie-Wigley
7d379f18c5
Rename test objects to include sprout or sapling
2018-08-01 10:52:58 -06:00
Eirik Ogilvie-Wigley
8ea8ef9850
Rename Witnesses to include sprout or sapling
2018-08-01 10:41:36 -06:00
Eirik Ogilvie-Wigley
4fc309f0f5
Rename Merkle Trees to include sprout or sapling
2018-08-01 10:31:09 -06:00
Jack Grigg
70a7535ae8
Expose note position in IncrementalMerkleWitness
2018-07-24 14:54:07 +02:00
Jack Grigg
a6bbb26e08
Replace boost::array with std::array
2018-05-26 00:12:57 +12:00
Sean Bowe
2b002a7e60
Add implementation of Sapling merkle tree
2018-05-07 13:46:06 -06:00
Sean Bowe
a7cbb8475f
Abstract uncommitted and depth personalization for IncrementalMerkleTree.
2018-05-07 13:46:06 -06:00
Jack Grigg
68a1a592ca
Remove nType and nVersion from Zcash-specific code
2018-04-17 13:09:47 +01: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
d58ed91af0
Optimise serialization of MerklePath, avoiding ambiguity of std::vector<bool>
...
The serialization enforces a maximum supported Merkle tree depth of 64.
Closes #2831 .
2018-03-28 18:26:08 +02:00
syd
4e4aa5b6ec
Get rid of underscore prefixes for include guards.
...
This is because they may conflict with reserved names. Also took
this opportunity to make the guards in the zcash subdir a bit
more uniform by having them all conform to ZC_<...>_H_
This closes #1272
2017-11-28 14:57:58 -05: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
Simon
19bec4d9bb
Fixes CID 1352715 uninitialized scalar field.
2016-10-20 11:25:36 -07:00
Jack Grigg
5abaca1af6
Fix the failing test!
2016-09-01 13:00:02 +12:00
Jack Grigg
ac91ebbe92
Add test showing that the witness cache isn't being serialised
2016-09-01 12:47:44 +12:00
Sean Bowe
7f3c7a683b
Flush to disk more consistently by accounting memory usage of serials/anchors in cache.
2016-06-27 10:52:34 -06:00
Taylor Hornby
bf2e3122ac
Remove the Merkle tree hash function's fixed point.
2016-05-16 20:20:36 -06:00
Sean Bowe
5961dcb6da
Change ciphertext length to match protocol spec, and refactor the use of constants.
2016-05-05 21:02:03 -06:00
Sean Bowe
6f1b70300d
Small nit fixes
2016-04-30 11:59:39 -06:00
Sean Bowe
482aefbd0d
Test old tree along with new tree as much as possible.
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