Refactor HistoryTree into NonEmptyHistoryTree and HistoryTree #2582
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
While working on #2135 I had to use
Option<HistoryTree>
in a lot of places since the history tree is only created in the Heartwood activation block. I also had to add the same logic in multiple places to create the tree when that block is reached.Specifications
N/A
Designs
N/A
Solution
This renames
HistoryTree
intoNonEmptyHistoryTree
and adds aHistoryTree
which is basically aOption<HistoryTree>
, and adds a method to push a block and create the tree when needed.Review
This will block the upcoming #2135 PR.
@teor2345 and @dconnolly will be more familiar with the code being refactored.
Reviewer Checklist
Follow Up Work
Will be used by the upcoming #2135 PR.
This change is