-
Notifications
You must be signed in to change notification settings - Fork 790
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
Block pipeline #3727
base: develop
Are you sure you want to change the base?
Block pipeline #3727
Conversation
else | ||
{ | ||
// If there is no previous block, the balance must already be 0 and therefore cannot be a send | ||
if (block->previous ().is_zero ()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not know if this check is complete or makes sense.
At this point, the block could be even a receive, since at this point we wouldn't know that a receive doesn't have a corresponding send block.
It coudl also be a change block. I am not sure what this check gives us.
#include <nano/secure/ledger.hpp> | ||
#include <nano/secure/store.hpp> | ||
|
||
void nano::block_pipeline::block_position_filter::sink (std::shared_ptr<nano::block> block, std::shared_ptr<nano::block> previous) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This filter mentions that it checks something to do with epoch going backwards.
I do not understand what the means.
However, I see no reference to any epoch blocks, is that a sign that something is missing?
Also I see no reference to work difficulties and epoch v2 is about work difficulty.
This simply seems to check that legacy blocks never follows a state block.
nano/lib/stats.cpp
Outdated
break; | ||
case nano::stat::detail::determinate_signer_filter_reject: | ||
res = "determinate_signer_filter_reject"; | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could add a default case with an debug_assert(0) to catch any missed cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we turned on warning to error conversion for missing case statements the CI could catch it at compile time.
47bf309
to
9c7ea8a
Compare
16951be
to
5e78000
Compare
…essing steps in to small components focused on a specific part of processing blocks.
5e78000
to
66de849
Compare
# Conflicts: # nano/lib/stats.cpp # nano/lib/stats.hpp # nano/node/blockprocessor.cpp # submodules/cpptoml # submodules/diskhash # submodules/flatbuffers # submodules/gtest # submodules/lmdb # submodules/miniupnp # submodules/phc-winner-argon2
… may miss a trigger notification while being processed by the unchecked_map thread.
…ck sequence. This test stops block processing so no blocks will be inserted which means a sequence of block would have gaps that the pipeline would reject for gaps.
3686907
to
32dea05
Compare
…ying it with .flush ().
# Conflicts: # nano/lib/stats.cpp # nano/lib/stats.hpp
# Conflicts: # nano/secure/ledger.cpp # nano/secure/ledger.hpp
1f608a3
to
39b7d7e
Compare
39b7d7e
to
065845e
Compare
Copy accounts locally within signature verification.
da886a1
to
80205a0
Compare
…te logic path or tracking a separate container.
214fed2
to
d374ccf
Compare
…ng it separately in epoch_restrictions_filter.
This is a refactor of the block processor which breaks the block processing steps in to small components focused on a specific part of processing blocks.