-
Notifications
You must be signed in to change notification settings - Fork 32
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
Lr/eqc voting #3851
Merged
Merged
Lr/eqc voting #3851
Changes from 76 commits
Commits
Show all changes
77 commits
Select commit
Hold shift + click to select a range
d941ba9
Initial commit
lukaszrzasik 0ea759a
Propose the same block at the end of the epoch
lukaszrzasik e6c6492
No VID and DAC required for the additional last block proposals
lukaszrzasik 0db0add
Merge branch 'main' into lr/epoch-end
lukaszrzasik d074292
Guard against division by 0
lukaszrzasik 8505870
Traverse the leaves to check an eQC
lukaszrzasik cff7d76
Merge branch 'main' into lr/epoch-end
lukaszrzasik 5304ca5
Remove unneeded async in function definition
lukaszrzasik c6603af
Remove trace
lukaszrzasik de41a5a
Merge branch 'main' into lr/epoch-end
lukaszrzasik 680bab3
Merge branch 'main' into lr/epoch-end
lukaszrzasik bca2f2b
Make sure proposal is for the same block if justify QC references the…
lukaszrzasik 4ac1db5
Merge branch 'main' into lr/epoch-end
lukaszrzasik 4073351
Initial commit
lukaszrzasik 7f7986d
Gate epoch proposal logic
lukaszrzasik 2f3b23b
Gate epochs voting logic
lukaszrzasik eecb9f8
Create helper method to check if QC is part of 3-chain
lukaszrzasik e733582
Merge branch 'main' into lr/epoch-end
lukaszrzasik 8a03eeb
Merge branch 'lr/epoch-end' into lr/increment-epoch
lukaszrzasik 4a51e13
Merge branch 'main' into lr/epoch-end
lukaszrzasik 1c8daf0
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 1489fa0
Update epoch on `ViewChange` event
lukaszrzasik fab49f2
Merge branch 'main' into lr/epoch-end
lukaszrzasik 073cca6
Merge branch 'lr/epoch-end' into lr/increment-epoch
lukaszrzasik 8afbf58
Adjust tests
lukaszrzasik 615d14e
Update view and epoch when QC is formed
lukaszrzasik 224748b
Fixes after review
lukaszrzasik bd0d841
Get rid of nasty nested if-elses
lukaszrzasik 6cec489
Fix fmt
lukaszrzasik 687c5c7
Merge branch 'lr/epoch-end' into lr/increment-epoch
lukaszrzasik 8cde052
Update VID that we reuse at the end of the epoch
lukaszrzasik 7593cc6
Fix fmt
lukaszrzasik 5b1be9f
Merge branch 'main' into lr/epoch-end
lukaszrzasik 884a445
Merge branch 'lr/epoch-end' into lr/increment-epoch
lukaszrzasik cd4d315
Do not create VID and DAC dependencies when voting for the last block
lukaszrzasik 3ded97f
Merge branch 'main' into lr/epoch-end
lukaszrzasik 744ac1a
Merge branch 'lr/epoch-end' into lr/increment-epoch
lukaszrzasik f8b3a4a
Simplify how we get a header
lukaszrzasik 7dc1ca6
Merge branch 'lr/epoch-end' into lr/increment-epoch
lukaszrzasik 11bd731
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 42672fd
NetworkEventTaskState uses OuterConsensus
lukaszrzasik c19e706
Refactor some of the eQC related methods in `Consensus`
lukaszrzasik 6b3f9cb
Add back a debugging trace
lukaszrzasik cc3a2a6
Last eQC vote is broadcast
lukaszrzasik d8640b2
Do not check if we are the leader when receiving last votes for eQC
lukaszrzasik df0730f
Merge branch 'main' into lr/increment-epoch
lukaszrzasik a3842e8
Add more traces
lukaszrzasik c5173fd
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 50d9306
Correctly update epoch when voting and forming QC
lukaszrzasik 33e78e5
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 307e2c5
Send ViewChange event when voting after shared state's been updated
lukaszrzasik 4a764ee
Adjust tests
lukaszrzasik 6db7096
Remove an obsolete DA ViewChange code
lukaszrzasik 1bd66cb
Fetch proposal if missing when changing view after forming QC
lukaszrzasik c76f674
Merge branch 'lr/increment-epoch' into lr/eqc-voting
lukaszrzasik e1c5a1d
Fix deadlock
lukaszrzasik 5294a83
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 8e179fd
Merge branch 'lr/increment-epoch' into lr/eqc-voting
lukaszrzasik e150806
Update epoch only when receiving or forming an eQC
lukaszrzasik 34b271a
update logging (#3844)
ss-es 4a1651d
[Tech debt] Remove `async-std` (#3845)
rob-maron e09dd6f
Fix fmt
lukaszrzasik a653525
Merge branch 'main' into lr/increment-epoch
lukaszrzasik de5a488
Simplify code
lukaszrzasik ab4293a
Move a helper function to types crate
lukaszrzasik 4075e5d
Merge branch 'lr/increment-epoch' into lr/eqc-voting
lukaszrzasik 7c46afc
Add epoch safety check
lukaszrzasik 0330ca4
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 4ad900f
Merge branch 'lr/increment-epoch' into lr/eqc-voting
lukaszrzasik 8928fb0
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 0c70cc6
Rename storage method
lukaszrzasik 3abcbc4
Clean up the code
lukaszrzasik bda9546
Merge branch 'lr/increment-epoch' into lr/eqc-voting
lukaszrzasik 5f181c3
Compare to genesis view
lukaszrzasik f022612
Merge branch 'main' into lr/increment-epoch
lukaszrzasik 355f5a6
Merge branch 'lr/increment-epoch' into lr/eqc-voting
lukaszrzasik c7fb70e
Merge branch 'main' into lr/eqc-voting
lukaszrzasik File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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.
Do we also need all this logic in the
validate_proposal_liveness
path, I suppose we can't actually do it there because we are missing the previous proposal but don't we need something to check the epochs?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 think we cannot check the epochs there. We can only calculate the epoch based on the block number. I don't think we have an access to the parent's block number if we don't have the parent leaf. Did I miss something?
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 don't think so, I was just trying to be sure we didn't. I also don't think we can do the check in the liveness path, and we won't vote in that case either