in bft-lib/src/simulated_context.rs [161:185]
fn commit(&mut self, state: &State, certificate: Option<&dyn CommitCertificate<State>>) {
info!("{:?} Delivering commit for state: {:?}", self.author, state);
let ledger_state = self
.pending_ledger_states
.remove(state)
.expect("Committed states should be known");
info!(
"{:?} Previous ledger state: {:?}",
self.author, self.last_committed_ledger_state
);
info!("{:?} New ledger state: {:?}", self.author, ledger_state);
assert!(self
.last_committed_ledger_state
.happened_just_before(&ledger_state));
if let Some(qc) = certificate {
if let Some(state2) = qc.committed_state() {
assert_eq!(state, state2);
info!(
"{:?} Received commit certificate for state: {:?}",
self.author, state
);
}
}
self.last_committed_ledger_state = ledger_state
}