Kris Nuttycombe
60e7e18365
Merge pull request #125 from zcash/incrementalmerkletree-no-std
...
Allow `no_std` use of `incrementalmerkletree`
2024-12-16 11:15:39 -07:00
Kris Nuttycombe
507f6775ac
Release incrementalmerkletree version 0.7.1
2024-12-16 10:13:55 -07:00
Kris Nuttycombe
0eecd6dae7
Allow `no_std` use of `incrementalmerkletree`
2024-12-16 10:13:55 -07:00
Kris Nuttycombe
d663a8f64f
Release incrementalmerkletree version 0.7.0, incrementalmerkletree-testing 0.1
2024-09-25 13:49:55 -06:00
Kris Nuttycombe
cfc4fcbac8
Extract incrementalmerkletree::testing module to a separate `incrementalmerkletree-testing` crate.
2024-09-25 13:37:03 -06:00
Kris Nuttycombe
6f6699da21
Use common workspace package stanza & workspace dependencies.
...
This requires us to upgrade our MSRV to 1.64
2024-09-25 13:37:03 -06:00
Kris Nuttycombe
8aa12e4fe3
Merge pull request #112 from ec2/ec2/for_each_checkpoint
2024-09-12 12:15:46 -06:00
Eric Tu
8ccb40d088
CHANGELOG
2024-09-12 11:48:22 -04:00
Eric Tu
16eff253ad
FnMut instead of Fn
2024-09-10 15:57:50 -04:00
Eric Tu
eb3843e0cf
for_each_checkpoint
2024-09-10 10:12:30 -04:00
Kris Nuttycombe
0f76ad8009
Merge pull request #111 from ec2/ec2/expose_max_checkpoint
...
Add max_checkpoints getter on ShardTree
2024-09-08 09:33:26 -06:00
Eric Tu
0e9d4d635a
Add max_checkpoints getter
2024-09-06 12:14:28 -04:00
Kris Nuttycombe
f3919df8f6
Merge pull request #110 from nuttycom/release/bridgetree-v0.5.0
...
release `bridgetree` version 0.5.0
2024-08-12 12:34:51 -06:00
Kris Nuttycombe
c28fcb98ef
Merge pull request #109 from nuttycom/release/shardtree-v0.4.0
...
Release `shardtree` version 0.4.0
2024-08-12 12:24:21 -06:00
Kris Nuttycombe
f312ffc118
release `bridgetree` version 0.5.0`
2024-08-12 12:03:37 -06:00
Kris Nuttycombe
ef7fcde5fa
Release shardtree version 0.4.0
2024-08-12 11:33:36 -06:00
Kris Nuttycombe
6b7143bf38
Merge pull request #108 from nuttycom/release/incrementalmerkletree-v0.6.0
...
Release incrementalmerkletree version 0.6.0
2024-08-12 10:56:58 -06:00
Kris Nuttycombe
1f86f1259a
Release incrementalmerkletree version 0.6.0
2024-08-12 10:18:42 -06:00
Kris Nuttycombe
337f59179e
Merge pull request #107 from nuttycom/shardtree/fix_inserted_parents
...
shardtree: Use annotated parent nodes with empty children for inserted frontier ommers.
2024-06-28 13:30:00 -06:00
Kris Nuttycombe
192cb3ffda
shardtree: Remove `Node::Pruned`
...
In 7e48886fd3
, `Node::Pruned` was
introduced in order to fix problems with `LocatedTree::max_position`
resulting from reinsertion of subtree information as children of
a previously pruned subtree represented by a `Node::Leaf` at its
root. This fix introduced a large amount of complexity that is
better resolved by fixing the `max_position` function in a different
way and generally minimizing its usage.
2024-06-27 16:30:57 -06:00
Kris Nuttycombe
88681ae335
shardtree: Reduce dependence upon `LocatedTree::max_position`
2024-06-27 16:30:57 -06:00
Kris Nuttycombe
b38b9d5d62
shardtree: Minor cleanups & documentation improvements.
2024-06-27 16:30:52 -06:00
Kris Nuttycombe
f5adcd5a2c
shardtree: Fix pruning of annotated `Parent` nodes with `Nil` children.
...
The current behavior of `unite` incorrectly discards annotation data.
2024-06-27 14:39:48 -06:00
Kris Nuttycombe
08d3e23977
Merge pull request #106 from zcash/shardtree-node-creation
...
shardtree: Use `Tree` constructors instead of struct creation
2024-06-26 09:23:36 -06:00
Jack Grigg
020a7d76d7
shardtree: Use `Tree` constructors instead of struct creation
...
This makes it easier for us to track where new tree nodes are created,
and how the node kinds are used within the `ShardTree` data model.
2024-06-26 14:08:25 +00:00
Kris Nuttycombe
8b4b1315d6
Merge pull request #105 from nuttycom/limitable_pruning
...
shardtree: Add `Reference` retention to make it possible to limit pruning.
2024-05-30 08:57:43 -06:00
Kris Nuttycombe
93512976dd
incrementalmerkletree: Documentation fix for `Checkpoint` retention.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2024-05-30 08:04:23 -06:00
Kris Nuttycombe
d40e178f8d
shardtree: Do not unify pruned nodes with empty nodes.
2024-05-28 19:22:45 -06:00
Kris Nuttycombe
7e48886fd3
shardtree: Add `Pruned` node type
...
In circumstances where insertion into a subtree results in pruning, and
then a subsequent insertion within the same range contains leaves that
must be retained, it is necessary to be able to distinguish the maximum
position among notes that have been observed but later pruned. This
fixes a bug wherein an insertion into an already-pruned tree could cause
the maximum position reported for the subtree to regress.
2024-05-28 19:22:45 -06:00
Kris Nuttycombe
ffc087424d
shardtree: Discard `REFERENCE` retention in leaf overwrites.
...
Also, disallow value-conflicted overwrites at the leaf level.
2024-05-28 17:13:31 -06:00
Kris Nuttycombe
e55ff2d7f2
incrementalmerkletree: add `Reference` retention type.
...
This new retention type is intended to be used when inserting frontiers
that should not automatically be pruned.
Also, improve documentation for the `Retention` type.
2024-05-28 17:10:38 -06:00
Kris Nuttycombe
57b6e8999f
shardtree: `Nil` nodes cannot replace any other sort of node in the tree.
2024-05-28 15:54:18 -06:00
Kris Nuttycombe
811d384bd4
shardtree: Improve tracing
2024-05-28 15:50:07 -06:00
Kris Nuttycombe
33fc3f6013
Merge pull request #104 from zcash/release-shardtree-v0.3.1
...
Release shardtree version 0.3.1
2024-04-03 16:07:56 -06:00
Kris Nuttycombe
7c862c16b3
Release shardtree version 0.3.1
2024-04-03 13:49:13 -06:00
Kris Nuttycombe
a5f5d71991
Merge pull request #103 from nuttycom/doc-fix
...
shardtree: Ensure `test-dependencies` feature enables `incrementalmerkletree/test-dependencies`
2024-04-03 13:40:46 -06:00
Kris Nuttycombe
52e956b8ec
shardtree: Ensure `test-dependencies` feature enables `incrementalmerkletree/test-dependencies`
...
This is intended to fix an issue with the `docs.rs` build.
2024-04-03 11:58:37 -06:00
Kris Nuttycombe
13a3c997a3
Merge pull request #102 from zcash/release-shardtree-v0.3.0
...
Release shardtree v0.3.0
2024-03-24 20:24:22 -06:00
Kris Nuttycombe
65b1537a8b
Merge pull request #101 from zcash/release-incrementalmerkletree-v0.5.1
...
Release incrementalmerkletree version 0.5.1
2024-03-24 20:11:33 -06:00
Kris Nuttycombe
17429d08ad
Release incrementalmerkletree version 0.5.1
2024-03-24 18:39:29 -06:00
Kris Nuttycombe
22ee3d8f4e
Release shardtree version 0.3.0
2024-03-24 18:29:25 -06:00
Kris Nuttycombe
ac9ecaca12
shardtree: Add `InsertionError::MarkedRetentionInvalid`
2024-03-24 18:26:00 -06:00
Kris Nuttycombe
e1a7a80212
Merge pull request #100 from nuttycom/random_frontier
...
incrementalmerkletree: Implement random frontier generation with consistent prior roots.
2024-03-19 14:34:10 -06:00
Kris Nuttycombe
111d843584
incrementalmerkletree: Implement random frontier generation with consistent prior roots.
2024-03-19 13:09:15 -06:00
Kris Nuttycombe
2411de7cec
Merge pull request #99 from nuttycom/random_frontier
...
Add `Frontier::random_of_size` to facilitate testing.
2024-03-18 08:54:32 -06:00
Kris Nuttycombe
af162429cc
Add `Frontier::random_of_size` to facilitate testing.
2024-03-16 09:09:07 -06:00
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