d8f5d6b6f1
* Add support for deleting the trees * Prune the trees * Remove `Network` from `DiskWriteBatch` Removing the `Network` from `DiskWriteBatch` makes it easy to instantiate `DiskWriteBatch`es in `ZebraDb` that remove individual note commitment trees. The `Network` from `DiskWriteBatch` was used only for transparent addresses, so the refactor isn't large. After removing it from `DiskWriteBatch`, I passed it as a function argument instead. However, we should simplify the parameter lists because at least two functions have more than seven parameters now. * Support individual tree removal in `ZebraDb` * Refactor the tree removal task * Prune old comments * Remove redundant code * Batch the removals * delete ranges before relevant network upgrades * moves prev_tree inits * add iterator methods for reading note commitment trees * Sets up skeleton of sapling pipeline * Replaces .filter with .take_while Fills in pipeline Reuses zs_range_iter instead of repeating that code Updates logic to stop at initial tip height * uses std threads * delete_range excludes end key * fixes off by one bugs * Log warning when a send fails * Removes progress logs * Log join errors instead of panicking * Revert: Make the `db` field of `ZebraDb` private * Move `delete_range_sapling_tree` * Remove a redundant `else if` branch Rationale: The condition `n == 1` for the removed branch is true for a subset of values of `n` in the preceding condition `n >= 1`. * Use more specific error messages * Revert: Remove redundant methods for tree removal * Suggestions for Deduplicate note commitment trees stored in the finalized state (#7330) * Add TODOs to some `Height` methods * Add methods for deleting individual trees * Refactor the tasks for deleting trees --------- Co-authored-by: arya2 <aryasolhi@gmail.com> |
||
---|---|---|
.. | ||
benches | ||
proptest-regressions | ||
src | ||
Cargo.toml |