From 70d9e78d77c2c1161b3f305763233be425363ef8 Mon Sep 17 00:00:00 2001 From: lightsing Date: Mon, 10 Mar 2025 15:53:58 +0800 Subject: [PATCH] fix: pre EIP-7702 does not need to load code --- crates/revm/src/journaled_state.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/revm/src/journaled_state.rs b/crates/revm/src/journaled_state.rs index 78d3e7dc28..1d9cf8db89 100644 --- a/crates/revm/src/journaled_state.rs +++ b/crates/revm/src/journaled_state.rs @@ -644,7 +644,15 @@ impl JournaledState { db: &mut DB, ) -> Result> { let spec = self.spec; - let account = self.load_code(address, db)?; + #[cfg(not(feature = "scroll"))] + let eip7702_enabled = spec_id.is_enabled_in(SpecId::PRAGUE); + #[cfg(feature = "scroll")] + let eip7702_enabled = spec.is_enabled_in(SpecId::EUCLID_V2); + let account = if eip7702_enabled { + self.load_code(address, db)? + } else { + self.load_account(address, db)? + }; let is_empty = account.state_clear_aware_is_empty(spec); let mut account_load = AccountLoad { @@ -672,6 +680,7 @@ impl JournaledState { ) -> Result, EVMError> { let account_load = self.load_account(address, db)?; let acc = &mut account_load.data.info; + println!("acc = {:?}", acc); if acc.code.is_none() { if acc.code_hash == KECCAK_EMPTY { let empty = Bytecode::default();