pub async fn decide_from_proposal_2<TYPES: NodeType, I: NodeImplementation<TYPES>, V: Versions>(
proposal: &QuorumProposalWrapper<TYPES>,
consensus: OuterConsensus<TYPES>,
existing_upgrade_cert: Arc<RwLock<Option<UpgradeCertificate<TYPES>>>>,
public_key: &TYPES::SignatureKey,
with_epochs: bool,
membership: &EpochMembershipCoordinator<TYPES>,
storage: &I::Storage,
upgrade_lock: &UpgradeLock<TYPES, V>,
) -> LeafChainTraversalOutcome<TYPES>
Expand description
calculate the new decided leaf chain based on the rules of HotStuff 2
ยงPanics
If the leaf chain contains no decided leaf while reaching a decided view, which should be impossible.