From 963bfeeeed0b77a9b1f1779392f8780e67e62a86 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Mon, 26 Jan 2026 13:39:37 +0100 Subject: [PATCH] fix(rpc): set prevrandao to zero for eth_simulateV1 simulated blocks (#21399) Co-authored-by: Amp --- crates/rpc/rpc-eth-api/src/helpers/call.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/rpc/rpc-eth-api/src/helpers/call.rs b/crates/rpc/rpc-eth-api/src/helpers/call.rs index 6e7bbdd389..50a293f55c 100644 --- a/crates/rpc/rpc-eth-api/src/helpers/call.rs +++ b/crates/rpc/rpc-eth-api/src/helpers/call.rs @@ -116,6 +116,11 @@ pub trait EthCall: EstimateCall + Call + LoadPendingBlock + LoadBlock + FullEthA let SimBlock { block_overrides, state_overrides, calls } = block; + // Set prevrandao to zero for simulated blocks by default, + // matching spec behavior where MixDigest is zero-initialized. + // If user provides an override, it will be applied by apply_block_overrides. + evm_env.block_env.inner_mut().prevrandao = Some(B256::ZERO); + if let Some(block_overrides) = block_overrides { // ensure we don't allow uncapped gas limit per block if let Some(gas_limit_override) = block_overrides.gas_limit &&