-
Notifications
You must be signed in to change notification settings - Fork 59
add silent payments prevouts_summarys table
#804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -124,8 +124,10 @@ header_states CLASS::get_validated_fork(size_t& fork_point, | |
| out.reserve(one); | ||
| code ec{}; | ||
|
|
||
| // Disable filter constraint if filtering is disabled. | ||
| // Disable optional constraints when the indexes are disabled. | ||
| const auto filter = filter_enabled(); | ||
| const auto silent = silent_enabled(); | ||
| const auto silent_start = silent_start_height(); | ||
|
|
||
| /////////////////////////////////////////////////////////////////////////// | ||
| std::shared_lock interlock{ candidate_reorganization_mutex_ }; | ||
|
|
@@ -134,7 +136,8 @@ header_states CLASS::get_validated_fork(size_t& fork_point, | |
| auto height = add1(fork_point); | ||
| auto link = to_candidate(height); | ||
| while (is_block_validated(ec, link, height, top_checkpoint) && | ||
| (!filter || is_filtered_body(link))) | ||
| (!filter || is_filtered_body(link)) && | ||
| (!silent || height < silent_start || is_silent_indexed(link))) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that both filter and silent index states should not be checked here. The filter check may be an impl artifact. See // Valid must be set after set_prevouts and set_filter_body.
if (!bypass && !query.set_block_valid(link))
return error::validate8;The block cannot be in a validated state without the filter having been set. If for some reason these are set and validation did not get set, then these would just get set again - but logically I don't believe that's possible due to node design without a hard fault/stop. Please remove both of these and verify behavior. |
||
| { | ||
| out.emplace_back(link, ec); | ||
| link = to_candidate(++height); | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.