diff --git a/crates/ethereum/evm/src/precompile_replay.rs b/crates/ethereum/evm/src/precompile_replay.rs index 51a13405c..e466c4db9 100644 --- a/crates/ethereum/evm/src/precompile_replay.rs +++ b/crates/ethereum/evm/src/precompile_replay.rs @@ -76,10 +76,12 @@ impl PrecompileProvider for ReplayPrecompile { } fn contains(&self, address: &Address) -> bool { - self.precompiles.contains(address) + self.precompiles.contains(address) || self.cache.read().get(address).is_some() } fn warm_addresses(&self) -> Box + '_> { - Box::new(self.precompiles.warm_addresses()) + let addresses: Vec
= + self.precompiles.warm_addresses().chain(self.cache.read().keys().cloned()).collect(); + Box::new(addresses.into_iter()) } }