Closed arhag closed 10 months ago
Partially done, but to complete we must first wait until at least https://github.com/AntelopeIO/leap/issues/2034 is complete and it would probably be best to wait until https://github.com/AntelopeIO/leap/issues/2046 is also complete.
I have finished this issue in my branch gh_2034.
@linh2931 @arhag I believe we can close this issue as completed by #2077
Depends on https://github.com/AntelopeIO/leap/issues/1881 and https://github.com/AntelopeIO/leap/issues/1941.
The block header extension should carry the new information needed for a proposal:
last_qc_block_num
: The block height of the most recent ancestor block that has a QC.is_last_qc_strong
: This is a boolean that determines if the QC justification for the block referenced by last QC block height is strong or weak.new_finalizer_policy
: The new finalizer policy proposed in the block (may be nullopt).new_proposer_policy
: The new proposer policy proposed in the block (may be nullopt).Example:
This should replace the extensions
finalizer_policy_extension
andproposal_info_extension
.Use the status of the
pending_quorum_certificate
to determine whether you have a valid QC and if so whether it is strong or weak. That determines the values oflast_qc_block_num
andis_last_qc_strong
.Use the most recent ancestor block that has a valid QC (whether the status is
strong
,weak_final
, orweak_achieved
) as the block referenced bylast_qc_block_num
.The actual QC does not need to be included yet in a block extension. That will be handled in a separate issue.