diff --git a/crates/engine/tree/src/tree/state.rs b/crates/engine/tree/src/tree/state.rs index b8a33adb8b0..a1b8d13d0ad 100644 --- a/crates/engine/tree/src/tree/state.rs +++ b/crates/engine/tree/src/tree/state.rs @@ -344,6 +344,20 @@ impl TreeState { pub const fn canonical_block_number(&self) -> BlockNumber { self.canonical_head().number } + + /// Returns a reference to the [`StateTrieOverlayManager`] that tracks flattened trie overlays + /// for all current in-memory blocks. + /// + /// **Added by StreamingFast for Firehose/op-reth.** + /// `OpFirehoseEngineValidator` (in `reth-optimism-firehose`) is an external re-implementation + /// of `BasicEngineValidator` that adds Firehose live-tracing hooks. Because it lives outside + /// this crate it cannot access `pub(crate)` fields directly. This accessor lets it call + /// `.with_state_trie_overlay_manager(state.tree_state().state_trie_overlays().clone())` + /// in its `overlay_builder_for_parent` helper — the exact same pattern `BasicEngineValidator` + /// uses internally — so there is no behavioral divergence between the two validators. + pub fn state_trie_overlays(&self) -> &StateTrieOverlayManager { + &self.state_trie_overlays + } } #[cfg(test)]