reth_rpc_eth_types/
settings.rs1use crate::{builder::config::PendingBlockKind, RPC_DEFAULT_GAS_CAP};
4use reth_rpc_server_types::constants::{
5 DEFAULT_ETH_PROOF_WINDOW, DEFAULT_MAX_BLOCKING_IO_REQUEST, DEFAULT_MAX_SIMULATE_BLOCKS,
6 DEFAULT_PROOF_PERMITS, RPC_DEFAULT_SEND_RAW_TX_SYNC_TIMEOUT_SECS,
7};
8use std::time::Duration;
9
10#[derive(Debug, Clone, Eq, PartialEq)]
16pub struct EthApiSettings {
17 pub proof_permits: usize,
19 pub max_batch_size: usize,
21 pub max_blocking_io_requests: usize,
23 pub cache_computed_bals: bool,
25 pub gas_cap: u64,
27 pub max_simulate_blocks: u64,
29 pub compute_state_root_for_eth_simulate: bool,
31 pub eth_proof_window: u64,
33 pub pending_block_kind: PendingBlockKind,
35 pub send_raw_transaction_sync_timeout: Duration,
37 pub evm_memory_limit: u64,
39 pub force_blob_sidecar_upcasting: bool,
41}
42
43impl Default for EthApiSettings {
44 fn default() -> Self {
45 Self {
46 proof_permits: DEFAULT_PROOF_PERMITS,
47 max_batch_size: 1,
48 max_blocking_io_requests: DEFAULT_MAX_BLOCKING_IO_REQUEST,
49 cache_computed_bals: false,
50 gas_cap: RPC_DEFAULT_GAS_CAP.into(),
51 max_simulate_blocks: DEFAULT_MAX_SIMULATE_BLOCKS,
52 compute_state_root_for_eth_simulate: false,
53 eth_proof_window: DEFAULT_ETH_PROOF_WINDOW,
54 pending_block_kind: PendingBlockKind::default(),
55 send_raw_transaction_sync_timeout: RPC_DEFAULT_SEND_RAW_TX_SYNC_TIMEOUT_SECS,
56 evm_memory_limit: (1 << 32) - 1,
57 force_blob_sidecar_upcasting: false,
58 }
59 }
60}