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