[TODO] Remove ChainState: (3) Improve tracking of Consensus tip with ChainIndexer tip #921
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.
https://app.clickup.com/t/1zvm0j2
The purpose of
ChainIndexeris to index the consensus blocks. As such we want to reliably synchronise the updating of the chain indexer tip with the updating of the consensus tip. This is already being accomplished to some extent via twin calls such as these:and
However there are instances where this is not being done as rigorously:
This PR fixes that by updating the chain indexer tip within
SetConsensusTip.In fact it may be a good idea to only update the chain indexer tip from within
SetConsensusTip. Tests may be an exception.Having a
ChainIndexertip that reliably tracks theConsensusTipwould make it easier to get rid of the corresponding field held withinChainState. Some preliminary tests have shown that the substitution works and these changes make the approach safer.