diff --git a/crates/primitives/src/db.rs b/crates/primitives/src/db.rs index 0456b03432..e0db9bda01 100644 --- a/crates/primitives/src/db.rs +++ b/crates/primitives/src/db.rs @@ -91,6 +91,13 @@ impl Database for WrapDatabaseRef { } } +impl DatabaseCommit for WrapDatabaseRef { + #[inline] + fn commit(&mut self, changes: HashMap) { + self.0.commit(changes) + } +} + /// Wraps a `dyn DatabaseRef` to provide a [`Database`] implementation. #[doc(hidden)] #[deprecated = "use `WrapDatabaseRef` instead"] diff --git a/crates/primitives/src/db/components.rs b/crates/primitives/src/db/components.rs index aa35dc2742..c6348b920a 100644 --- a/crates/primitives/src/db/components.rs +++ b/crates/primitives/src/db/components.rs @@ -7,9 +7,11 @@ pub use state::{State, StateRef}; use crate::{ db::{Database, DatabaseRef}, - AccountInfo, Address, Bytecode, B256, U256, + Account, AccountInfo, Address, Bytecode, HashMap, B256, U256, }; +use super::DatabaseCommit; + #[derive(Debug)] pub struct DatabaseComponents { pub state: S, @@ -73,3 +75,9 @@ impl DatabaseRef for DatabaseComponents { .map_err(Self::Error::BlockHash) } } + +impl DatabaseCommit for DatabaseComponents { + fn commit(&mut self, changes: HashMap) { + self.state.commit(changes); + } +}