pub async fn validate_proposal_safety_and_liveness<TYPES: NodeType, I: NodeImplementation<TYPES>, V: Versions>(
    proposal: Proposal<TYPES, QuorumProposal2<TYPES>>,
    parent_leaf: Leaf2<TYPES>,
    validation_info: &ValidationInfo<TYPES, I, V>,
    event_stream: Sender<Arc<HotShotEvent<TYPES>>>,
    sender: TYPES::SignatureKey,
) -> Result<()>
Expand description

Validate the state and safety and liveness of a proposal then emit a QuorumProposalValidated event.

§Errors

If any validation or state update fails.