diff --git a/crates/evm/src/block/state_changes.rs b/crates/evm/src/block/state_changes.rs index 5587317d..d30951f7 100644 --- a/crates/evm/src/block/state_changes.rs +++ b/crates/evm/src/block/state_changes.rs @@ -5,7 +5,7 @@ use alloc::boxed::Box; use alloy_consensus::BlockHeader; use alloy_eips::eip4895::{Withdrawal, Withdrawals}; use alloy_hardforks::EthereumHardforks; -use alloy_primitives::{map::HashMap, Address}; +use alloy_primitives::{map::AddressMap, Address}; use revm::{ context::Block, state::{Account, AccountStatus, EvmState}, @@ -22,11 +22,11 @@ pub fn post_block_balance_increments( block_env: impl Block, ommers: &[H], withdrawals: Option<&Withdrawals>, -) -> HashMap +) -> AddressMap where H: BlockHeader, { - let mut balance_increments = HashMap::with_capacity_and_hasher( + let mut balance_increments = AddressMap::with_capacity_and_hasher( withdrawals.map_or(ommers.len(), |w| w.len()), Default::default(), ); @@ -69,9 +69,9 @@ pub fn post_block_withdrawals_balance_increments( spec: impl EthereumHardforks, block_timestamp: u64, withdrawals: &[Withdrawal], -) -> HashMap { +) -> AddressMap { let mut balance_increments = - HashMap::with_capacity_and_hasher(withdrawals.len(), Default::default()); + AddressMap::with_capacity_and_hasher(withdrawals.len(), Default::default()); insert_post_block_withdrawals_balance_increments( spec, block_timestamp, @@ -90,7 +90,7 @@ pub fn insert_post_block_withdrawals_balance_increments( spec: impl EthereumHardforks, block_timestamp: u64, withdrawals: Option<&[Withdrawal]>, - balance_increments: &mut HashMap, + balance_increments: &mut AddressMap, ) { // Process withdrawals if spec.is_shanghai_active_at_timestamp(block_timestamp) { @@ -109,7 +109,7 @@ pub fn insert_post_block_withdrawals_balance_increments( /// to load accounts from. No balance increment is done in the function. /// Zero balance increments are ignored and won't create state entries. pub fn balance_increment_state( - balance_increments: &HashMap, + balance_increments: &AddressMap, state: &mut DB, ) -> Result where diff --git a/crates/evm/src/precompiles.rs b/crates/evm/src/precompiles.rs index 7538ac4c..ec4591f9 100644 --- a/crates/evm/src/precompiles.rs +++ b/crates/evm/src/precompiles.rs @@ -4,7 +4,7 @@ use crate::{Database, EvmInternals}; use alloc::{borrow::Cow, boxed::Box, string::String, sync::Arc}; use alloy_consensus::transaction::Either; use alloy_primitives::{ - map::{HashMap, HashSet}, + map::{AddressMap, AddressSet}, Address, Bytes, U256, }; use core::fmt::Debug; @@ -90,7 +90,7 @@ impl PrecompilesMap { // apply the transformation to each precompile let entries = dyn_precompiles.inner.drain(); let mut new_map = - HashMap::with_capacity_and_hasher(entries.size_hint().0, Default::default()); + AddressMap::with_capacity_and_hasher(entries.size_hint().0, Default::default()); for (addr, precompile) in entries { if filter(&addr, &precompile) { let transformed = f(&addr, precompile); @@ -562,9 +562,9 @@ impl core::fmt::Debug for DynPrecompile { #[derive(Clone, Default)] pub struct DynPrecompiles { /// Precompiles - inner: HashMap, + inner: AddressMap, /// Addresses of precompile - addresses: HashSet
, + addresses: AddressSet, } impl DynPrecompiles {