-
Notifications
You must be signed in to change notification settings - Fork 10
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
Finalizer transition requires QCs on both finalizer policy sets #391
Conversation
…active and pending finalizer policies. quorum_certificate_sig => qc_sig_t quorum_certificate => qc_t pending_quorum_certificate => open_qc_sig_t Added open_qc_t which has the active finalizer policy signature and the optional pending finalizer policy signature.
… be more explicit
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.
Will add more comments while reviewing.
Note:start |
…t contain a relevant vote
… in_progress_qc_t.
…ogress_qc_t to aggregating_qc_t.
Require a QC (quorum certificate) on both finalizer policy sets (active and pending) before considering a QC to have reached quorum on a block with a pending finalizer policy change.
Includes refactoring:
quorum_certificate.?pp
=>qc.?pp
quorum_certificate
=>qc_t
valid_quorum_certificate
=>qc_sig_t
vote_status
=>vote_result_t
to differentiate fromvote_status_t
pending_quorum_certificate
=>aggregating_qc_sig_t
Useaggregating
instead ofpending
to avoid confusion with pending finalizer policyaggregating_qc_t
manages the twoaggregating_qc_sig_t
, one for active policy sig and optionally one for pending policy sig.block_state
into QC typesAdds
last_pending_finalizer_policy_start_num
for tracking when pending finalizer policy first became pending.Resolves #376