detect epoch changes in light client
This commit is contained in:
parent
6ab0fc4e14
commit
2985561012
@ -330,8 +330,14 @@ impl<T: ChainDataFetcher> Client<T> {
|
||||
The node may not be able to synchronize further.", e);
|
||||
}
|
||||
|
||||
let epoch_proof = self.engine.is_epoch_end(
|
||||
&verified_header,
|
||||
&|h| self.chain.block_header(BlockId::Hash(h)).map(|hdr| hdr.decode()),
|
||||
&|h| self.chain.pending_transition(h),
|
||||
);
|
||||
|
||||
let mut tx = self.db.transaction();
|
||||
let pending = match self.chain.insert(&mut tx, verified_header, None) {
|
||||
let pending = match self.chain.insert(&mut tx, verified_header, epoch_proof) {
|
||||
Ok(pending) => {
|
||||
good.push(hash);
|
||||
self.report.write().blocks_imported += 1;
|
||||
@ -344,8 +350,6 @@ impl<T: ChainDataFetcher> Client<T> {
|
||||
}
|
||||
};
|
||||
|
||||
// TODO: check epoch end and verify under epoch verifier.
|
||||
|
||||
self.db.write_buffered(tx);
|
||||
self.chain.apply_pending(pending);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user