reth_trie_common/bundle_state/
transition_state.rs1use super::TransitionAccount;
2use alloy_primitives::{
3 map::{AddressMap, HashMap},
4 Address,
5};
6
7#[derive(Clone, Default, Debug, PartialEq, Eq)]
9pub struct TransitionState {
10 pub transitions: AddressMap<TransitionAccount>,
12}
13
14impl TransitionState {
15 pub fn single(address: Address, transition: TransitionAccount) -> Self {
17 let mut transitions = HashMap::default();
18 transitions.insert(address, transition);
19 TransitionState { transitions }
20 }
21
22 pub fn take(&mut self) -> TransitionState {
27 core::mem::take(self)
28 }
29
30 pub fn clear(&mut self) {
32 self.transitions.clear();
33 }
34}