//! Contains RPC handler implementations specific to blocks. use reth_provider::{BlockReaderIdExt, HeaderProvider}; use reth_rpc_eth_api::helpers::{EthBlocks, LoadBlock, LoadPendingBlock, SpawnBlocking}; use reth_rpc_eth_types::EthStateCache; use crate::EthApi; impl EthBlocks for EthApi where Self: LoadBlock, Provider: HeaderProvider, { #[inline] fn provider(&self) -> impl reth_provider::HeaderProvider { self.inner.provider() } } impl LoadBlock for EthApi where Self: LoadPendingBlock + SpawnBlocking, Provider: BlockReaderIdExt, { #[inline] fn provider(&self) -> impl BlockReaderIdExt { self.inner.provider() } #[inline] fn cache(&self) -> &EthStateCache { self.inner.cache() } }