Skip to main content

certificate_rule_admits

Function certificate_rule_admits 

Source
pub(crate) fn certificate_rule_admits<T: NodeType>(
    parent: &Certificate1<T>,
    tc: &TimeoutEvidence<T>,
    epoch: EpochNumber,
) -> bool
Expand description

Whether a proposal of epoch naming parent may follow tc under the certificate rule.

The timeout certificate must be of the proposal’s epoch, and the parent no earlier than the certificate’s lock, ordered by epoch, then view. A parent over the same block as the lock passes at any view: a re-vote certifies a block again at a later view, and the first block of the next epoch names the block’s own certificate. So does any parent if the lock is of an earlier epoch than the proposal, which lets the first view of an epoch recover from a timeout.