Common error handling

This commit is contained in:
Tomasz Drwięga
2016-03-17 15:49:29 +01:00
committed by arkpar
parent 2aae862330
commit 808f959a94
6 changed files with 29 additions and 19 deletions

View File

@@ -951,9 +951,13 @@ impl ChainSync {
transactions.push(tx);
}
let chain = io.chain();
let fetch_nonce = |a: &Address| chain.nonce(a);
let res = self.miner.import_transactions(transactions, fetch_nonce);
if res.is_ok() {
let fetch_account = |a: &Address| AccountDetails {
nonce: chain.nonce(a),
balance: chain.balance(a),
};
let res = self.miner.import_transactions(transactions, fetch_account);
let any_transaction_imported = res.into_iter().any(|r| r.is_ok());
if any_transaction_imported {
self.miner.update_sealing(io.chain());
}
Ok(())