serve epoch signals over network and check them

This commit is contained in:
Robert Habermeier
2017-08-23 15:37:35 +02:00
parent 7f3e718851
commit 2ff3dff6ea
16 changed files with 298 additions and 30 deletions

View File

@@ -508,14 +508,11 @@ impl<T: ChainDataFetcher> Client<T> {
let proof = match proof {
Proof::Known(known) => known,
Proof::WithState(state_dependent) => {
loop {
let proof = self.fetcher.epoch_transition(header).into_future().wait()?;
match state_dependent.check_proof(&*self.engine, &proof) {
Ok(()) => break proof,
Err(e) =>
debug!(target: "client", "Fetched bad epoch transition proof from network: {}", e),
}
}
self.fetcher.epoch_transition(
header.hash(),
self.engine.clone(),
state_dependent
).into_future().wait()?
}
};