revm_context/
journal_init.rs

1use super::journaled_state::JournaledState;
2use database_interface::EmptyDB;
3
4/// A clonable version of JournaledState that uses EmptyDB.
5pub type JournalInit = JournaledState<EmptyDB>;
6
7impl<DB> JournaledState<DB> {
8    pub fn into_init(self) -> JournalInit {
9        JournalInit {
10            database: EmptyDB::default(),
11            state: self.state,
12            transient_storage: self.transient_storage,
13            logs: self.logs,
14            depth: self.depth,
15            journal: self.journal,
16            spec: self.spec,
17            warm_preloaded_addresses: self.warm_preloaded_addresses,
18            precompiles: self.precompiles,
19        }
20    }
21
22    pub fn to_init(&self) -> JournalInit {
23        JournalInit {
24            database: EmptyDB::default(),
25            state: self.state.clone(),
26            transient_storage: self.transient_storage.clone(),
27            logs: self.logs.clone(),
28            depth: self.depth,
29            journal: self.journal.clone(),
30            spec: self.spec,
31            warm_preloaded_addresses: self.warm_preloaded_addresses.clone(),
32            precompiles: self.precompiles.clone(),
33        }
34    }
35}