reth_storage_api/full.rs
1//! Helper trait for full rpc provider
2
3use reth_chainspec::{ChainSpecProvider, EthereumHardforks};
4
5use crate::{BlockReaderIdExt, StageCheckpointReader, StateProviderFactory};
6
7/// Helper trait to unify all provider traits required to support `eth` RPC server behaviour, for
8/// simplicity.
9pub trait FullRpcProvider:
10 StateProviderFactory
11 + ChainSpecProvider<ChainSpec: EthereumHardforks>
12 + BlockReaderIdExt
13 + StageCheckpointReader
14 + Clone
15 + Unpin
16 + 'static
17{
18}
19
20impl<T> FullRpcProvider for T where
21 T: StateProviderFactory
22 + ChainSpecProvider<ChainSpec: EthereumHardforks>
23 + BlockReaderIdExt
24 + StageCheckpointReader
25 + Clone
26 + Unpin
27 + 'static
28{
29}