Skip to main content

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}