reth_rpc/eth/helpers/
call.rs

1//! Contains RPC handler implementations specific to endpoints that call/execute within evm.
2
3use crate::EthApi;
4use reth_evm::{SpecFor, TxEnvFor};
5use reth_rpc_convert::RpcConvert;
6use reth_rpc_eth_api::{
7    helpers::{estimate::EstimateCall, Call, EthCall},
8    FromEvmError, RpcNodeCore,
9};
10use reth_rpc_eth_types::EthApiError;
11
12impl<N, Rpc> EthCall for EthApi<N, Rpc>
13where
14    N: RpcNodeCore,
15    EthApiError: FromEvmError<N::Evm>,
16    Rpc: RpcConvert<
17        Primitives = N::Primitives,
18        Error = EthApiError,
19        TxEnv = TxEnvFor<N::Evm>,
20        Spec = SpecFor<N::Evm>,
21    >,
22{
23}
24
25impl<N, Rpc> Call for EthApi<N, Rpc>
26where
27    N: RpcNodeCore,
28    EthApiError: FromEvmError<N::Evm>,
29    Rpc: RpcConvert<
30        Primitives = N::Primitives,
31        Error = EthApiError,
32        TxEnv = TxEnvFor<N::Evm>,
33        Spec = SpecFor<N::Evm>,
34    >,
35{
36    #[inline]
37    fn call_gas_limit(&self) -> u64 {
38        self.inner.gas_cap()
39    }
40
41    #[inline]
42    fn max_simulate_blocks(&self) -> u64 {
43        self.inner.max_simulate_blocks()
44    }
45}
46
47impl<N, Rpc> EstimateCall for EthApi<N, Rpc>
48where
49    N: RpcNodeCore,
50    EthApiError: FromEvmError<N::Evm>,
51    Rpc: RpcConvert<
52        Primitives = N::Primitives,
53        Error = EthApiError,
54        TxEnv = TxEnvFor<N::Evm>,
55        Spec = SpecFor<N::Evm>,
56    >,
57{
58}