diff --git a/crates/rpc/rpc/src/eth/api/call.rs b/crates/rpc/rpc/src/eth/api/call.rs index b8c09e5e6..3fb92855f 100644 --- a/crates/rpc/rpc/src/eth/api/call.rs +++ b/crates/rpc/rpc/src/eth/api/call.rs @@ -242,14 +242,19 @@ where at: Option, ) -> EthResult { let block_id = at.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); - let (mut cfg, block, at) = self.evm_env_at(block_id).await?; + let (cfg, block, at) = self.evm_env_at(block_id).await?; let state = self.state_at(at)?; + let mut env = build_call_evm_env(cfg, block, request.clone())?; + // we want to disable this in eth_call, since this is common practice used by other node // impls and providers - cfg.disable_block_gas_limit = true; + env.cfg.disable_block_gas_limit = true; - let mut env = build_call_evm_env(cfg, block, request.clone())?; + // The basefee should be ignored for eth_createAccessList + // See: + // + env.block.basefee = U256::ZERO; let mut db = SubState::new(State::new(state));