Skip to main content

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 compute_state_root_for_eth_simulate(&self) -> bool {
37        self.inner.compute_state_root_for_eth_simulate()
38    }
39
40    #[inline]
41    fn evm_memory_limit(&self) -> u64 {
42        self.inner.evm_memory_limit()
43    }
44}
45
46impl<N, Rpc> EstimateCall for EthApi<N, Rpc>
47where
48    N: RpcNodeCore,
49    EthApiError: FromEvmError<N::Evm>,
50    Rpc: RpcConvert<Primitives = N::Primitives, Error = EthApiError, Evm = N::Evm>,
51{
52}