Commit Graph

12 Commits

Author SHA1 Message Date
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