Skip to main content

verify_timeout_evidence

Function verify_timeout_evidence 

Source
fn verify_timeout_evidence<T: NodeType>(
    tc: &TimeoutEvidence<T>,
    stake_table: &[<T::SignatureKey as SignatureKey>::StakeTableEntry],
    threshold: U256,
    epoch_height: u64,
    upgrade_lock: &UpgradeLock<T>,
    memberships: &EpochMembershipCoordinator<T>,
) -> Result<()>
Expand description

Check that a timeout certificate has the form its view requires, names that view in its data, and carries a quorum’s signatures.

TimeoutEvidence::is_valid_cert checks the same, except that it skips the signatures at the genesis view. Every timeout certificate is formed from signed votes, at the genesis view as at any other, so none is exempt here. A certificate that carries a lock has its lock certificate checked against the lock’s own epoch’s committee.