Kris Nuttycombe
4ea60ea18b
Merge pull request #98 from nuttycom/shardtree/insert_frontier
...
shardtree: Add `ShardTree::insert_frontier`
2024-03-11 16:51:19 -06:00
Kris Nuttycombe
17f2bcd037
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-03-11 16:51:06 -06:00
Kris Nuttycombe
fa147c89c6
shardtree: Add `ShardTree::store_mut`
2024-03-11 13:03:03 -06:00
Kris Nuttycombe
25cb18973e
shardtree: Add `ShardTree::insert_frontier`
2024-03-11 13:02:34 -06:00
Kris Nuttycombe
07564eace4
Merge pull request #97 from nuttycom/shardtree_store_ref
...
shardtree: Add an accessor for a `ShardTree`'s underlying `ShardStore`
2024-03-11 11:31:32 -06:00
Kris Nuttycombe
214d76e40a
shardtree: Add an accessor for a `ShardTree`'s underlying `ShardStore`
2024-03-09 17:12:19 -07:00
Kris Nuttycombe
643e4ee5c9
Merge pull request #96 from nuttycom/frontier_size
...
incrementalmerkletree: Add `Frontier::tree_size`
2024-03-09 17:08:33 -07:00
Kris Nuttycombe
353db2efa2
incrementalmerkletree: Add `Frontier::tree_size`
2024-03-09 11:26:28 -07:00
Kris Nuttycombe
4d797cce13
Merge pull request #94 from nuttycom/shardtree/release-0.2.0
...
shardtree: Release version 0.2.0
2023-11-07 11:26:48 -07:00
Kris Nuttycombe
769fd2be45
shardtree: Release version 0.2.0
2023-11-07 09:57:48 -07:00
Kris Nuttycombe
302c91aa96
Merge pull request #93 from nuttycom/shardtree/root_at_checkpoint_id
...
shardtree: Add `root_at_checkpoint_id` methods.
2023-11-07 08:54:07 -07:00
Kris Nuttycombe
39ce028701
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2023-11-07 07:44:07 -07:00
Kris Nuttycombe
b2c5cd9fc4
shardtree: Correct erroneous `ShardStore::get_checkpoint_at_depth` documentation
2023-11-07 07:44:07 -07:00
Kris Nuttycombe
8d301a14dd
shardtree: Add `witness_at_checkpoint_id` methods.
...
It is useful to be able to refer to a specific checkpoint, rather than
just a checkpoint depth, when computing a witness.
2023-11-07 07:44:07 -07:00
Kris Nuttycombe
9359c8d1b8
shardtree: Add `root_at_checkpoint_id` methods.
...
It can be useful to refer to a specific checkpoint, rather than just a
checkpoint depth, for which one wishes to compute the root.
2023-11-07 07:44:05 -07:00
Kris Nuttycombe
e2058845ef
Add Cargo.lock file to avoid MSRV upgrade forced by `proptest` updates.
2023-11-07 07:35:27 -07:00
str4d
2ce18583d4
Merge pull request #92 from zcash/shardtree-0.1.0
...
`incrementalmerkletree 0.5.0`, `bridgetree 0.4.0`, `shardtree 0.1.0`
2023-09-08 18:00:18 +01:00
Jack Grigg
2dece0181a
shardtree 0.1.0
2023-09-08 16:36:50 +00:00
Jack Grigg
a73e51998e
bridgetree 0.4.0
2023-09-08 16:34:39 +00:00
Jack Grigg
8c81d0bc4b
incrementalmerkletree 0.5.0
2023-09-08 16:31:11 +00:00
str4d
9e7f5f0d28
Merge pull request #91 from zcash/pre-release-cleanups
...
Pre-release cleanups
2023-07-29 20:06:31 +01:00
Jack Grigg
3f8999816f
shardtree: Migrate to `bitflags 2`
2023-07-27 23:17:06 +00:00
Jack Grigg
6628520585
shardtree: Remove unused dependencies
2023-07-27 23:17:06 +00:00
Jack Grigg
70930d8496
incrementalmerkletree: Fix changelog
2023-07-27 22:57:56 +00:00
Jack Grigg
f5fd2a0a3e
Add docs.rs feature flag labels to `incrementalmerkletree` and `shardtree`
2023-07-27 22:57:09 +00:00
Jack Grigg
e7a38c0ee9
shardtree: Initial empty changelog
2023-07-27 22:30:38 +00:00
Jack Grigg
60caaeb99e
shardtree: Update docs with content from readme
2023-07-27 22:28:55 +00:00
Jack Grigg
60c21dae6c
shardtree: Add a readme
2023-07-27 22:28:24 +00:00
Jack Grigg
4fd57fc862
shardtree: Use edition 2021 and set MSRV
2023-07-27 22:08:07 +00:00
str4d
da97e6c399
Merge pull request #90 from zcash/shardtree-docs
...
`shardtree`: Improve documentation
2023-07-25 19:35:35 +01:00
Jack Grigg
5753ce005d
shardtree: Remove unnecessary methods from the public API
2023-07-25 17:19:43 +00:00
Jack Grigg
06199d6f45
shardtree: Improve documentation
2023-07-25 17:19:38 +00:00
str4d
9edfda1958
Merge pull request #89 from zcash/cleanups
...
Cleanups ahead of publishing `shardtree` crate
2023-07-25 17:28:17 +01:00
Jack Grigg
0a6964ad05
shardtree: Move `ShardStore`-related types into module
2023-07-25 15:54:44 +00:00
Jack Grigg
fb894cdbb7
shardtree: Add `std::error::Error` bound to `ShardStore::Error`
2023-07-25 15:54:44 +00:00
Jack Grigg
1bd0a7c941
shardtree: Move error types into module
2023-07-25 15:54:44 +00:00
ebfull
2a667f5009
Merge pull request #88 from zcash/shardtree-insert_tree-checkpoints
...
shardtree: Pass checkpoints alongside tree to `ShardTree::insert_tree`
2023-07-25 09:27:20 -06:00
Jack Grigg
8d699c9667
shardtree: Pass checkpoints alongside tree to `ShardTree::insert_tree`
...
There are no `ShardTree` APIs that allow for checkpointing at arbitrary
positions, which makes sense as the relevant leaf may have been pruned.
For this API to be a viable substitute for `ShardTree::batch_insert`, it
therefore needs to support marking any checkpoints associated with the
inserted tree.
2023-07-25 13:50:27 +00:00
str4d
16d244210a
Merge pull request #87 from zcash/proptest-shardtree-insert_tree
...
`shardtree`: Fix bugs in `ShardTree::insert_tree`
2023-07-25 00:58:46 +01:00
Jack Grigg
4666e9e370
shardtree: Don't insert empty subtrees in `ShardTree::insert_tree`
...
`ShardTree::max_leaf_position` relies on the invariant that the last
shard in the subtrees vector is never created without a leaf then being
added to it. `LocatedTree::decompose_to_level` can return a trailing
empty subtree for some inputs, and given that it is always correct to
not insert an empty subtree into `self`, we maintain the invariant by
skipping empty subtrees.
2023-07-24 18:14:24 +00:00
Jack Grigg
1eda8b2e24
shardtree: Derive correct shard root addrs in `ShardTree::insert_tree`
...
`LocatedTree::decompose_to_level` will return the tree as-is if it is
smaller than a shard, so we can't assume that the address of `subtree`
is a valid shard address.
2023-07-24 18:13:05 +00:00
Jack Grigg
f23b5f314f
shardtree: Pin `tempfile < 3.7.0` in dev-dependencies to keep MSRV
2023-07-24 17:22:28 +00:00
Jack Grigg
8a62290ffe
shardtree: Add tests comparing `insert_tree` to `batch_insert`
2023-07-24 17:22:28 +00:00
Jack Grigg
faabef3106
shardtree: Extract an `arb_leaves` strategy from `arb_shardtree`
2023-07-24 02:16:12 +00:00
str4d
bae25ad89c
Merge pull request #86 from zcash/shardtree-arc-wielder
...
shardtree: Switch from `Rc` to `Arc` to make trees `Send`
2023-07-17 23:01:17 +01:00
Jack Grigg
5b4dce85ca
shardtree: Switch from `Rc` to `Arc` to make trees `Send`
2023-07-17 21:02:33 +00:00
str4d
099abbfc40
Merge pull request #85 from zcash/caching
...
Add `CachingShardStore` for batching writes to a backend `ShardStore`
2023-07-17 22:00:43 +01:00
Jack Grigg
7ec75fdd91
shardtree: Clarify documentation for `ShardStore::remove_checkpoint`
...
`CachingShardStore` relies on this method being a no-op when the
checkpoint doesn't exist.
2023-07-17 20:56:53 +00:00
Jack Grigg
f5160a4790
shardtree: Pin `dashmap < 5.5.0` in dev-dependencies to keep MSRV
2023-07-14 19:26:32 +00:00
Jack Grigg
2715a24943
Add `CachingShardStore` for batching writes to a backend `ShardStore`
2023-07-14 19:26:32 +00:00