fix: trace_filter
properly matches when from_addresses
or to_addresses
aren't set
#5291
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.
ref: #4799
A follow up to #5279 that fixes a couple more cases.
In the previous PR, it handled the case where both
from_addresses
andto_addresses
were empty, but it still had a bug where one offrom_addresses
orto_addresses
(but not the other) was empty. The logic is that if one of them isn't specified, it shouldn't be considered when filtering the transactions.Fix the logic by specifying all 4 possible cases as a match and returning the correct value. Only if both
from_addresses
andto_addresses
are set does theTraceFilterMode
apply.I've added test cases to cover all possible variants. I wasn't sure if I should define a sub-module to group the trace filter tests, I couldn't find any examples of that being done elsewhere in the project - so I just prefixed each test with
test_filter_matcher
.