CHIA-1945 Avoid computing a transactions filter with just reward coins when the filter is not requested from get_block_header #18969
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.
Purpose:
We tend to use
get_block_header
in paths where we don't care about the transactions filter, by passing empty additions and removals, yet when a transaction block contains reward coins, we end up computing a non-empty one. Now make it explicit that we care about the transactions filter by sending a tuple of additions and removals.Current Behavior:
We generate a non-empty transactions filter when we get called with a transaction block that has reward coins, even if we pass empty additions and removals, which we usually do to signal not caring about the filter.
New Behavior:
We generate an empty transactions filter unless we're passed a tuple of additions and removals, in which case we account for them, as well as reward coins, in the computation of the transactions filter.