diff --git a/ethcore/src/blockchain/blockchain.rs b/ethcore/src/blockchain/blockchain.rs index afa9042d4..60585d19f 100644 --- a/ethcore/src/blockchain/blockchain.rs +++ b/ethcore/src/blockchain/blockchain.rs @@ -830,7 +830,8 @@ impl BlockChain { CacheID::Extras(ExtrasIndex::BlockLogBlooms, h) => { block_logs.remove(&h); }, CacheID::Extras(ExtrasIndex::BlocksBlooms, h) => { blocks_blooms.remove(&h); }, CacheID::Extras(ExtrasIndex::BlockReceipts, h) => { block_receipts.remove(&h); }, - _ => panic!(), + // TODO: debris, temporary fix + CacheID::Extras(ExtrasIndex::BlockHash, _) => { }, } } cache_man.cache_usage.push_front(HashSet::new()); diff --git a/miner/src/transaction_queue.rs b/miner/src/transaction_queue.rs index 5d0551c94..53aa0fac9 100644 --- a/miner/src/transaction_queue.rs +++ b/miner/src/transaction_queue.rs @@ -628,6 +628,7 @@ impl TransactionQueue { let future_tx = self.by_hash.remove(&order.hash).unwrap(); try!(check_too_cheap(Self::replace_transaction(future_tx, state_nonce, &mut self.current, &mut self.by_hash))); } + // Also enforce the limit if let Err(e) = check_if_removed(&hash, self.current.enforce_limit(&mut self.by_hash)) { // If current transaction was removed because of limit we need to update last_nonces also.