Commit Graph

  • 30c592a0b3 Add tests that verify `ShardTree` state post-truncation. Kris Nuttycombe 2023-06-29 14:52:57 -0600
  • 3c4a660c86 Add `shardtree::LocatedTree::take_root` Kris Nuttycombe 2023-06-22 19:18:57 -0600
  • 00eb47f391 Replace `put_root` with single-node insertion. Kris Nuttycombe 2023-06-22 14:46:30 -0600
  • accb8d7d8d Refactor to make shardtree tests reusable for checking ShardStore impls. Kris Nuttycombe 2023-06-21 16:55:03 -0600
  • f5889dffa5 Address comments from code review. Kris Nuttycombe 2023-06-16 17:04:05 -0600
  • 6d6f3fd4e3
    Merge pull request #78 from nathan-at-least/api-docs-for-location-and-node-relations Kris Nuttycombe 2023-06-16 16:31:25 -0600
  • d9fbd00e91 Wrap long lines & fix emmer/ommer typo. Kris Nuttycombe 2023-06-16 16:29:06 -0600
  • 964e71b79d Clarify the ommer-path context for `ommers`. Nate Wilcox 2023-06-09 18:08:17 -0600
  • cb8ef79648 Generalize remaining tests to arbitrary checkpoint id types. Kris Nuttycombe 2023-06-16 13:53:24 -0600
  • 33ad80814f Generalize `check_remove_mark` and `check_checkpoint_rewind` Kris Nuttycombe 2023-06-16 12:28:17 -0600
  • 405f1100da Generalize `check_witnesses` Kris Nuttycombe 2023-06-15 16:17:35 -0600
  • 527f561816 Generalize `check_append` and `check_root_hashes`. Kris Nuttycombe 2023-06-15 16:17:35 -0600
  • 614079271a Improve error reporting from the `Tree` impl for `ShardTree` Kris Nuttycombe 2023-06-15 16:17:35 -0600
  • 456102b2ad Make the `Tree` impl for `ShardTree` available under `test-dependencies` Kris Nuttycombe 2023-06-15 18:26:41 -0600
  • 6dd0c175b0 Bugfix: shard roots should be at level SHARD_HEIGHT, not SHARD_HEIGHT - 1 Kris Nuttycombe 2023-06-14 11:33:54 -0600
  • dbc46b1157 Add shardtree::Checkpoint::from_parts Kris Nuttycombe 2023-06-05 09:19:49 -0600
  • 7617a5574f Add ability to truncate `ShardTree` to a checkpoint by identifier. Kris Nuttycombe 2023-06-02 16:48:29 -0600
  • e2d59d42e1 Do comment line-wrapping at ~100 columns. Nate Wilcox 2023-06-02 14:26:15 -0600
  • c0b8c4d783 Fix all `cargo doc` warnings about dangling refs. Nate Wilcox 2023-06-02 14:16:05 -0600
  • 6e5c50d149 Add shardtree::testing::arb_prunable_tree Kris Nuttycombe 2023-05-25 07:51:43 -0600
  • 4a871a5840 Add LocatedTree::from_parts Kris Nuttycombe 2023-05-24 21:27:55 -0600
  • a397ba9d46 There is no longer a distinction between `ShardTree::empty` and `ShardTree::load`. Kris Nuttycombe 2023-05-23 13:00:40 -0600
  • 1721d46571 Wrap ShardTree errors explicitly, instead of relying on `From` impls. Kris Nuttycombe 2023-05-23 10:05:26 -0600
  • 290b66d5c8 Add caching of the "cap" to root & witness computation. Kris Nuttycombe 2023-05-16 12:32:36 -0600
  • f8c13d17de Add insertion of legacy incremental witness data to `ShardTree` Kris Nuttycombe 2023-05-12 13:43:32 -0600
  • f5b06c8e8b Add construction of `LocatedPrunableTree` from `IncrementalWitness` Kris Nuttycombe 2023-05-10 20:40:21 -0600
  • d350d43fd7 Add "shardtree cap" support to `ShardStore` and `ShardTree`. Kris Nuttycombe 2023-05-10 20:40:21 -0600
  • 19c514b8cf Add insertion of frontier nodes into a `ShardTree` Kris Nuttycombe 2023-05-10 14:04:47 -0600
  • aab7c969b3 Add a mechanism to insert the nodes from a `Frontier` into a `LocatedPrunableTree` Kris Nuttycombe 2023-05-10 13:47:15 -0600
  • 75cd519646
    Merge pull request #77 from zcash/release-incrementalmerkletree-v0.4.0 Kris Nuttycombe 2023-06-06 10:05:52 -0600
  • e8dcfe5b4c Update changelog for bridgetree-v0.3.0 release bridgetree-v0.3.0 Kris Nuttycombe 2023-06-06 09:20:39 -0600
  • 4c79a7d065 Release incrementalmerkletree-v0.4.0 and bridgetree-v0.3.0 incrementalmerkletree-v0.4.0 Kris Nuttycombe 2023-06-05 17:05:59 -0600
  • 66cf091b97 Merge branch 'release-bridgetree-v0.2.1' into HEAD Kris Nuttycombe 2023-06-05 19:39:43 -0600
  • b2077aa105
    Merge pull request #76 from nuttycom/narrow_hashable_constraint Kris Nuttycombe 2023-06-05 18:09:48 -0600
  • a1dec495de Release of `bridgetree` v0.2.1 bridgetree-v0.2.1 Kris Nuttycombe 2023-06-05 17:07:01 -0600
  • 87007ec69b Remove the `Debug` bound from `Hashable` Kris Nuttycombe 2023-06-05 16:52:54 -0600
  • be1f673cd8 Add crate-level `incrementalmerkletree` docs defining navigational abstractions w/ an ASCII diagram. Nate Wilcox 2023-06-02 13:49:46 -0600
  • 69c9690bb6
    Merge pull request #74 from nuttycom/docfix Kris Nuttycombe 2023-05-30 13:37:22 -0600
  • 2f65d483ee
    Update shardtree/src/lib.rs Kris Nuttycombe 2023-05-30 12:40:11 -0600
  • 51c3997ee6 Fix incorrect documentation and `cargo doc` issues. Kris Nuttycombe 2023-05-24 14:50:52 -0600
  • 62f0c9039b
    Merge pull request #73 from nuttycom/frontier_witness Kris Nuttycombe 2023-05-24 14:10:46 -0600
  • beb6ead57f
    Merge pull request #72 from nuttycom/no_initial_checkpoint Kris Nuttycombe 2023-05-24 12:57:02 -0600
  • b43902f0e6 Add the ability to compute a `MerklePath` from a Frontier Kris Nuttycombe 2023-05-24 11:27:41 -0600
  • 2b8e2d62fa Address comments from code review. Kris Nuttycombe 2023-05-24 09:30:14 -0600
  • 4efe39eaa6 Remove initial checkpoints. Kris Nuttycombe 2023-05-19 08:14:55 -0600
  • a26844a451
    Merge pull request #71 from nuttycom/shardstore_return_owned_types Kris Nuttycombe 2023-05-22 12:08:11 -0600
  • 5691b70947 Restore the relevant part of a deleted comment. Kris Nuttycombe 2023-05-22 10:29:40 -0600
  • e2fa0a44c7 Make all `ShardStore` methods return `Result` Kris Nuttycombe 2023-05-10 20:37:55 -0600
  • f292a271ac Return owned types from `ShardStore` getter methods. Kris Nuttycombe 2023-05-10 20:37:55 -0600
  • c862687576 Don't require an initial checkpoint ID for `bridgetree` construction. Kris Nuttycombe 2023-05-18 11:17:51 -0600
  • 15623973e4
    Merge pull request #67 from nuttycom/shardstore_checkpoint_api Kris Nuttycombe 2023-05-11 12:34:52 -0600
  • dbb2a8f9c5 Make hash and checkpoint ID type parameters associated types of `ShardStore` Kris Nuttycombe 2023-05-11 12:04:37 -0600
  • 666e72482a Address Clippy lints. Kris Nuttycombe 2023-05-10 16:55:08 -0600
  • 247b38f336 Invert the relationship between shardtree errors and storage errors. Kris Nuttycombe 2023-05-05 19:01:05 -0600
  • 0e502e3832 Add `Display` impl for `shardtree::InsertionError` Kris Nuttycombe 2023-05-05 16:19:53 -0600
  • 10e5ee59a4 Distinguish between creating a new empty tree and loading data for an existing tree. Kris Nuttycombe 2023-05-05 09:25:58 -0600
  • e15440bd37 Add checkpoint management APIs to `ShardStore`. Kris Nuttycombe 2023-05-03 13:35:40 -0600
  • ed78bc2e56 Add dedicated `MemoryShardStore` type. Kris Nuttycombe 2023-05-02 09:15:02 -0600
  • 62acf235a7
    Merge pull request #68 from nuttycom/u64_positions Kris Nuttycombe 2023-05-10 20:34:59 -0600
  • 951d61b27b
    Merge pull request #66 from nuttycom/shardstore_blanket_mut_impl Kris Nuttycombe 2023-05-10 20:34:49 -0600
  • 34d9aa25bc Use `u64` for the internal state of `Position` and `Address::index` Kris Nuttycombe 2023-05-10 16:38:01 -0600
  • 465f2ff0d8 Add a blanket implementation of ShardStore for mutable references to ShardStores. Kris Nuttycombe 2023-04-28 10:46:52 -0600
  • b4bebd497e
    Merge pull request #65 from nuttycom/improve_enumerate Kris Nuttycombe 2023-05-04 13:20:30 -0600
  • 667c57a835 Avoid a few usize-u8 comparisons. Kris Nuttycombe 2023-05-04 12:49:16 -0600
  • ea1686e8f8
    Merge pull request #64 from nuttycom/typed_merkle_path Kris Nuttycombe 2023-04-11 09:40:27 -0600
  • 69d444c439 Apply suggestions from code review Kris Nuttycombe 2023-04-10 14:49:47 -0600
  • 873a72ff98 Return `MerklePath` from `ShardTree::witness` Kris Nuttycombe 2023-04-06 19:48:10 -0600
  • d2d945edcb Expose `MerklePath` type without a feature flag. Kris Nuttycombe 2023-04-06 17:07:00 -0600
  • be81d67cef
    Merge pull request #62 from nuttycom/add_librustzcash_types Kris Nuttycombe 2023-04-04 10:37:16 -0600
  • ebbd2e3d2d Apply suggestions from code review. Kris Nuttycombe 2023-03-31 16:24:15 -0600
  • 9c0c9aa245 Merge remote-tracking branch 'upstream/master' into add_librustzcash_types Kris Nuttycombe 2023-03-31 16:02:59 -0600
  • 02341ece26 Ensure that `BridgeTree` state is checkpointed when constructing from a frontier. Kris Nuttycombe 2023-03-27 09:54:21 -0600
  • 739441a892
    Merge pull request #63 from nuttycom/bridgetree_checkpoint_id Kris Nuttycombe 2023-03-24 09:00:25 -0600
  • f7931ec31f Apply suggestions from code review. Kris Nuttycombe 2023-03-24 08:38:11 -0600
  • 0d1c3e6512
    Merge pull request #59 from nuttycom/fix_premature_tracking Kris Nuttycombe 2023-03-24 08:29:38 -0600
  • 978da59c67 Merge branch 'bridgetree_checkpoint_id' into add_librustzcash_types Kris Nuttycombe 2023-03-23 16:18:32 -0600
  • 650edd0fc7 Make `bridgetree` polymorphic in checkpoint identifier type. Kris Nuttycombe 2023-03-22 16:43:11 -0600
  • 53139f4f9c
    Merge pull request #50 from nuttycom/shardtree Kris Nuttycombe 2023-03-23 13:12:00 -0600
  • 30a1b7b62b Fix clippy complaints. Kris Nuttycombe 2023-03-16 17:19:08 -0600
  • 71557cc0e3 Expose operations on `legacy-api` types required for serialization & testing. Kris Nuttycombe 2023-03-16 11:53:48 -0600
  • 7cb2bdcc8f Add legacy `CommitmentTree` and `IncrementalWitness` types. Kris Nuttycombe 2023-02-16 08:43:29 -0700
  • 4e3c6a6378 Move frontier types from `bridgetree` to `incrementalmerkletree` Kris Nuttycombe 2023-02-15 17:03:19 -0700
  • ff8095b7ed Remove `serde` serialization & deserialization Kris Nuttycombe 2023-02-15 16:32:30 -0700
  • 3077e94301 Merge branch 'fix_premature_tracking' Kris Nuttycombe 2023-03-21 12:14:54 -0600
  • 22c2c019cc Do not eagerly track marked nodes in the current bridge. Kris Nuttycombe 2023-02-24 15:20:37 -0700
  • 257402db53 Address comments from review. Kris Nuttycombe 2023-03-20 16:11:07 -0600
  • d7a04122ea Fix clippy complaints. Kris Nuttycombe 2023-03-13 11:42:57 -0600
  • ac6e8e8212 Use direct recursion in shardtree instead of reduce/try_reduce Kris Nuttycombe 2023-03-09 16:29:24 -0700
  • 664cead68b Use `bitflags` crate instead of hand-rolled `RetentionFlags` bit flags. Kris Nuttycombe 2023-03-09 13:51:56 -0700
  • 37be939c0f Apply suggestions from code review Kris Nuttycombe 2023-03-09 13:36:53 -0700
  • fa7c6673fd Make `LocatedTree` and `LocatedPrunableTree` type aliases public. Kris Nuttycombe 2023-02-06 16:04:16 -0700
  • 0cb1cec21f Add `shardtree` witness operation & implement property tests. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • a7bb8bb749 Add `shardtree` batch insertion. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • e209f3bf20 Add `shardtree` checkpointing & root computation. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • ebe3efa135 Add ShardTree types & implement append operation. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • dc5a3ed0e7 Add types & operations for individual shards. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • 34f6bd7ce5 Add a `LocatedTree` type that pairs tree roots with address information. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • 8644372c4e Add types and methods to support tree pruning. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • 8864a84d19 Introduce a simple binary tree type. Kris Nuttycombe 2023-01-13 08:40:57 -0700
  • 0ae9b499cc Introduce the `shardtree` crate: a sparse Merkle tree type. Kris Nuttycombe 2022-12-14 15:24:59 -0700