Merge pull request #735 from ethcore/transaction_queue_race

Fixing possible race in transaction queue
This commit is contained in:
Arkadiy Paronyan 2016-03-15 12:47:30 +01:00
commit 828d20629b

View File

@ -516,11 +516,10 @@ impl TransactionQueue {
return; return;
} }
let base_nonce = fetch_nonce(&address); Self::replace_transaction(tx, state_nonce, &mut self.current, &mut self.by_hash);
Self::replace_transaction(tx, base_nonce, &mut self.current, &mut self.by_hash);
self.last_nonces.insert(address, nonce); self.last_nonces.insert(address, nonce);
// But maybe there are some more items waiting in future? // But maybe there are some more items waiting in future?
self.move_matching_future_to_current(address, nonce + U256::one(), base_nonce); self.move_matching_future_to_current(address, nonce + U256::one(), state_nonce);
self.current.enforce_limit(&mut self.by_hash); self.current.enforce_limit(&mut self.by_hash);
} }