reth_chain_state/
noop.rs
1use crate::{
4 CanonStateNotifications, CanonStateSubscriptions, ForkChoiceNotifications,
5 ForkChoiceSubscriptions,
6};
7use reth_primitives_traits::NodePrimitives;
8use reth_storage_api::noop::NoopProvider;
9use tokio::sync::{broadcast, watch};
10
11impl<C: Send + Sync, N: NodePrimitives> CanonStateSubscriptions for NoopProvider<C, N> {
12 fn subscribe_to_canonical_state(&self) -> CanonStateNotifications<N> {
13 broadcast::channel(1).1
14 }
15}
16
17impl<C: Send + Sync, N: NodePrimitives> ForkChoiceSubscriptions for NoopProvider<C, N> {
18 type Header = N::BlockHeader;
19
20 fn subscribe_safe_block(&self) -> ForkChoiceNotifications<N::BlockHeader> {
21 let (_, rx) = watch::channel(None);
22 ForkChoiceNotifications(rx)
23 }
24
25 fn subscribe_finalized_block(&self) -> ForkChoiceNotifications<N::BlockHeader> {
26 let (_, rx) = watch::channel(None);
27 ForkChoiceNotifications(rx)
28 }
29}