diff --git a/crates/rpc-types-mev/src/eth_calls.rs b/crates/rpc-types-mev/src/eth_calls.rs
index 9c928b1d0bd..1a666770fe9 100644
--- a/crates/rpc-types-mev/src/eth_calls.rs
+++ b/crates/rpc-types-mev/src/eth_calls.rs
@@ -18,9 +18,15 @@ pub struct EthCallBundle {
pub block_number: u64,
/// Either a hex encoded number or a block tag for which state to base this simulation on
pub state_block_number: BlockNumberOrTag,
+ /// the coinbase to use for this bundle simulation
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub coinbase: Option
,
/// the timestamp to use for this bundle simulation, in seconds since the unix epoch
#[serde(default, with = "alloy_serde::quantity::opt", skip_serializing_if = "Option::is_none")]
pub timestamp: Option,
+ /// the timeout to apply to execution of this bundle, in milliseconds
+ #[serde(default, with = "alloy_serde::quantity::opt", skip_serializing_if = "Option::is_none")]
+ pub timeout: Option,
/// gas limit of the block to use for this simulation
#[serde(default, with = "alloy_serde::quantity::opt", skip_serializing_if = "Option::is_none")]
pub gas_limit: Option,
@@ -96,12 +102,24 @@ impl EthCallBundle {
self
}
+ /// Sets the coinbase for the bundle.
+ pub const fn with_coinbase(mut self, coinbase: Address) -> Self {
+ self.coinbase = Some(coinbase);
+ self
+ }
+
/// Sets the timestamp for the bundle.
pub const fn with_timestamp(mut self, timestamp: u64) -> Self {
self.timestamp = Some(timestamp);
self
}
+ /// Sets the timeout for the bundle.
+ pub const fn with_timeout(mut self, timeout: u64) -> Self {
+ self.timeout = Some(timeout);
+ self
+ }
+
/// Sets the gas limit for the bundle.
pub const fn with_gas_limit(mut self, gas_limit: u64) -> Self {
self.gas_limit = Some(gas_limit);