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.
Description
Refactor the validators to ensure that each validation step only completes once. Before this PR some validation steps where done twice.
The stateless validator also now checks accounting balance and this is not only checked when the block is added to the main chain.
Motivation and Context
There was a lot of duplicate checking between the stateless and stateful validators. This is now ensured that each check is only ran once. It was also checked to ensure that state-full and stateless is always ran. Blocks are checked by the stateless before going into the orphan pool. After this the block is checked and might be moved to main chain. Only then is state-full validation performed.
We can now be sure that all blocks in the orphan pool was checked and it correct.
How Has This Been Tested?
Types of changes
Checklist:
development
branch.cargo-fmt --all
before pushing.