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_rpc_convert::RpcConvert;
5use reth_rpc_eth_api::{
6    helpers::{estimate::EstimateCall, Call, EthCall},
7    FromEvmError, RpcNodeCore,
8};
9use reth_rpc_eth_types::EthApiError;
10
11impl<N, Rpc> EthCall for EthApi<N, Rpc>
12where
13    N: RpcNodeCore,
14    EthApiError: FromEvmError<N::Evm>,
15    Rpc: RpcConvert<Primitives = N::Primitives, Error = EthApiError, Evm = N::Evm>,
16{
17}
18
19impl<N, Rpc> Call for EthApi<N, Rpc>
20where
21    N: RpcNodeCore,
22    EthApiError: FromEvmError<N::Evm>,
23    Rpc: RpcConvert<Primitives = N::Primitives, Error = EthApiError, Evm = N::Evm>,
24{
25    #[inline]
26    fn call_gas_limit(&self) -> u64 {
27        self.inner.gas_cap()
28    }
29
30    #[inline]
31    fn max_simulate_blocks(&self) -> u64 {
32        self.inner.max_simulate_blocks()
33    }
34
35    #[inline]
36    fn evm_memory_limit(&self) -> u64 {
37        self.inner.evm_memory_limit()
38    }
39}
40
41impl<N, Rpc> EstimateCall for EthApi<N, Rpc>
42where
43    N: RpcNodeCore,
44    EthApiError: FromEvmError<N::Evm>,
45    Rpc: RpcConvert<Primitives = N::Primitives, Error = EthApiError, Evm = N::Evm>,
46{
47}