Skip to main content

try_commit

Function try_commit 

Source
pub fn try_commit(
    double_cert: &DoubleCertificate,
    store: &dyn BlockStore,
    app: &dyn Application,
    last_committed_height: &mut Height,
    current_epoch: &Epoch,
) -> Result<CommitResult>
Expand description

Execute the two-chain commit rule: When we get C_v(C_v(B_k)), commit the inner QC’s block and all uncommitted ancestors.

For each committed block, runs the full application lifecycle: begin_block → deliver_tx (×N) → end_block → on_commit

§Safety

Caller MUST verify both inner_qc and outer_qc aggregate signatures and quorum counts before calling this function. This function trusts the DoubleCertificate completely and performs no cryptographic checks.