mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-18 02:41:31 -05:00
37 lines
880 B
Rust
37 lines
880 B
Rust
//! Helper trait for full rpc provider
|
|
|
|
use reth_chainspec::{ChainSpecProvider, EthereumHardforks};
|
|
|
|
use crate::{
|
|
BlockReaderIdExt, HeaderProvider, StageCheckpointReader, StateProviderFactory,
|
|
TransactionsProvider,
|
|
};
|
|
|
|
/// Helper trait to unify all provider traits required to support `eth` RPC server behaviour, for
|
|
/// simplicity.
|
|
pub trait FullRpcProvider:
|
|
StateProviderFactory
|
|
+ ChainSpecProvider<ChainSpec: EthereumHardforks>
|
|
+ BlockReaderIdExt
|
|
+ HeaderProvider
|
|
+ TransactionsProvider
|
|
+ StageCheckpointReader
|
|
+ Clone
|
|
+ Unpin
|
|
+ 'static
|
|
{
|
|
}
|
|
|
|
impl<T> FullRpcProvider for T where
|
|
T: StateProviderFactory
|
|
+ ChainSpecProvider<ChainSpec: EthereumHardforks>
|
|
+ BlockReaderIdExt
|
|
+ HeaderProvider
|
|
+ TransactionsProvider
|
|
+ StageCheckpointReader
|
|
+ Clone
|
|
+ Unpin
|
|
+ 'static
|
|
{
|
|
}
|