Skip to content

Commit

Permalink
feat: Add more missing eth_callBundle arguments (#1667)
Browse files Browse the repository at this point in the history
* feat: Add more missing eth_callBundle arguments

Previously #978 missed `coinbase` and `timeout`.

* fixup(clippy): Apply missing `const` to new methods.
  • Loading branch information
ryanschneider authored Nov 19, 2024
1 parent 86812db commit 9ecb8a6
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions crates/rpc-types-mev/src/eth_calls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<Address>,
/// 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<u64>,
/// 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<u64>,
/// 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<u64>,
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 9ecb8a6

Please sign in to comment.