reth_rpc/eth/helpers/
spec.rs
1use alloy_primitives::U256;
2use reth_chainspec::{ChainSpecProvider, EthereumHardforks};
3use reth_network_api::NetworkInfo;
4use reth_rpc_eth_api::{helpers::EthApiSpec, RpcNodeCore};
5use reth_storage_api::{BlockNumReader, BlockReader, ProviderTx, StageCheckpointReader};
6
7use crate::EthApi;
8
9impl<Provider, Pool, Network, EvmConfig> EthApiSpec for EthApi<Provider, Pool, Network, EvmConfig>
10where
11 Self: RpcNodeCore<
12 Provider: ChainSpecProvider<ChainSpec: EthereumHardforks>
13 + BlockNumReader
14 + StageCheckpointReader,
15 Network: NetworkInfo,
16 >,
17 Provider: BlockReader,
18{
19 type Transaction = ProviderTx<Provider>;
20
21 fn starting_block(&self) -> U256 {
22 self.inner.starting_block()
23 }
24
25 fn signers(
26 &self,
27 ) -> &parking_lot::RwLock<Vec<Box<dyn reth_rpc_eth_api::helpers::EthSigner<Self::Transaction>>>>
28 {
29 self.inner.signers()
30 }
31}