Skip to content

Conversation

akundaz
Copy link
Contributor

@akundaz akundaz commented Jun 10, 2025

📝 Summary

Add the minTimestamp and maxTimestamp fields to the bundle params.

💡 Motivation and Context

On Ethereum Mainnet we have two fields minTimestamp and maxTimestamp which are not on our L2 bundles. These fields were originally introduced on Ethereum L1 because PoW meant non-consistent block times, but they were then kept after The Merge because of missed slots. While we don’t want to use these features from a protocol perspective because we should not be trusting the wall clock on builder nodes, some searchers may still want this feature so we should allow for and simply add an asterisk that they are subject to builder node clock.


✅ I have completed the following steps:

  • Run make lint
  • Run make test
  • Added tests (if applicable)

@akundaz akundaz self-assigned this Jun 10, 2025
@ferranbt
Copy link
Contributor

You also have to modify the block building step to take into account the timestamp https://github.com/flashbots/op-rbuilder/blob/main/crates/op-rbuilder/src/builders/context.rs#L375

@akundaz
Copy link
Contributor Author

akundaz commented Jun 10, 2025

You also have to modify the block building step to take into account the timestamp https://github.com/flashbots/op-rbuilder/blob/main/crates/op-rbuilder/src/builders/context.rs#L375

TransactionConditional::matches_block_attributes already includes a call to TransactionConditional::matches_timestamp -- so isn't this already handled?

@ferranbt
Copy link
Contributor

Yes! Forgot I did it that way so that we did not have to change it for timestamps :)

Copy link
Contributor

@ferranbt ferranbt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! One question would be, what if both block number and timestamp are set? What is the expected behaviour?

@akundaz akundaz force-pushed the ash-zpqtvunrqqpq branch 2 times, most recently from ca90943 to dd39a98 Compare June 11, 2025 12:22
@akundaz akundaz force-pushed the ash-zpqtvunrqqpq branch from dd39a98 to 0725406 Compare June 11, 2025 13:24
@akundaz akundaz merged commit 75db54f into main Jun 11, 2025
2 checks passed
@akundaz akundaz deleted the ash-zpqtvunrqqpq branch June 11, 2025 14:55
@akundaz
Copy link
Contributor Author

akundaz commented Jun 11, 2025

LGTM! One question would be, what if both block number and timestamp are set? What is the expected behaviour?

They're basically separate filters, so a transaction needs to satisfy both in order to get included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants