reth_rpc/eth/helpers/
pending_block.rs

1//! Support for building a pending block with transactions from local view of mempool.
2
3use crate::EthApi;
4use reth_rpc_convert::RpcConvert;
5use reth_rpc_eth_api::{
6    helpers::{pending_block::PendingEnvBuilder, LoadPendingBlock},
7    FromEvmError, RpcNodeCore,
8};
9use reth_rpc_eth_types::{builder::config::PendingBlockKind, EthApiError, PendingBlock};
10
11impl<N, Rpc> LoadPendingBlock for EthApi<N, Rpc>
12where
13    N: RpcNodeCore,
14    EthApiError: FromEvmError<N::Evm>,
15    Rpc: RpcConvert<Primitives = N::Primitives>,
16{
17    #[inline]
18    fn pending_block(&self) -> &tokio::sync::Mutex<Option<PendingBlock<Self::Primitives>>> {
19        self.inner.pending_block()
20    }
21
22    #[inline]
23    fn pending_env_builder(&self) -> &dyn PendingEnvBuilder<Self::Evm> {
24        self.inner.pending_env_builder()
25    }
26
27    #[inline]
28    fn pending_block_kind(&self) -> PendingBlockKind {
29        self.inner.pending_block_kind()
30    }
31}