From 2eb4306efe04238896fff5517afffba548d3293b Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Wed, 29 Mar 2023 18:14:13 +0200 Subject: [PATCH] fix(rpc): disable basefee during eth_createAccessList (#2028) --- crates/rpc/rpc/src/eth/api/call.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/rpc/rpc/src/eth/api/call.rs b/crates/rpc/rpc/src/eth/api/call.rs index b8c09e5e6d..3fb92855f2 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));