Kris Nuttycombe
9a77e51cc4
shardtree: Rework rewind & checkpoint depth handling.
2024-09-27 08:44:14 -06:00
Kris Nuttycombe
cfc4fcbac8
Extract incrementalmerkletree::testing module to a separate `incrementalmerkletree-testing` crate.
2024-09-25 13:37:03 -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
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
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
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
faabef3106
shardtree: Extract an `arb_leaves` strategy from `arb_shardtree`
2023-07-24 02:16:12 +00:00
Jack Grigg
5b4dce85ca
shardtree: Switch from `Rc` to `Arc` to make trees `Send`
2023-07-17 21:02:33 +00:00
Jack Grigg
2d28ed6d19
shardtree: Move methods behind `legacy-api` feature flag into a submodule
...
This doesn't affect the public API, as `impl` blocks for a struct can be
anywhere within the crate.
2023-07-10 17:39:06 +00:00
Jack Grigg
4152961f77
Move `testing` submodule into a separate file
...
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-07-05 19:23:21 +00:00