Skip to content

interop: use the pending time instead of the unsafe time for executing descriptors #604

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 3, 2025

Conversation

joshklop
Copy link
Contributor

Description

Previously, the ingress filter assigned the latest timestamp to exec descriptors.

This unnecessarily delayed executing messages by one block when the supervisor used a stringent access list policy, as in the reference implementation.

This commit fixes the issue by using the pending timestamp instead of the unsafe timestamp.

Fixes #603

Testing

I didn't add a regression test. If one is desired, please let me know where the best place for one might be and I'll happily add it.

@joshklop joshklop requested a review from a team as a code owner May 12, 2025 21:09
@joshklop joshklop requested a review from axelKingsley May 12, 2025 21:09
@tynes tynes moved this to In Review in Protocol Team May 13, 2025
@tynes tynes added this to the Interop RC Beta milestone May 13, 2025
@joshklop joshklop force-pushed the joshklop/fix-interop-current-block branch from 649eb6c to 926a2ff Compare May 13, 2025 16:20
@joshklop joshklop force-pushed the joshklop/fix-interop-current-block branch from 926a2ff to 2e452cf Compare May 13, 2025 21:59
Copy link
Contributor

@axelKingsley axelKingsley left a comment

Choose a reason for hiding this comment

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

Close enough now that I'm happy to approve, but consider the suggestions I've attached. Thanks for driving this!

@joshklop joshklop force-pushed the joshklop/fix-interop-current-block branch from 2e452cf to ec3f4bb Compare May 27, 2025 13:17
…g descriptors

Previously, the ingress filter [assigned] the [latest timestamp] to exec descriptors.

This unnecessarily delayed executing messages by one block when the supervisor used
a stringent [access list policy], as in the [reference implementation].

This commit fixes the issue by using the pending timestamp instead of the unsafe timestamp.

[assigned]: https://github.com/ethereum-optimism/op-geth/blob/e605d07bde55b02f9e0309c330fb87500d80d06f/core/txpool/ingress_filters.go#L48-L58
[latest timestamp]: https://github.com/ethereum-optimism/op-geth/blob/e605d07bde55b02f9e0309c330fb87500d80d06f/eth/interop.go#L20-L31
[access list policy]: https://specs.optimism.io/interop/supervisor.html#access-list-checks
[reference implementation]: https://github.com/ethereum-optimism/optimism/blob/23c1fef1f0fe6b626c987eecbfa91fd5e0b66fb0/op-supervisor/supervisor/types/types.go#L344-L346
@joshklop joshklop force-pushed the joshklop/fix-interop-current-block branch from ec3f4bb to 23442bd Compare May 27, 2025 13:23
@joshklop joshklop merged commit 590da9f into optimism Jun 3, 2025
11 checks passed
@joshklop joshklop deleted the joshklop/fix-interop-current-block branch June 3, 2025 13:55
@github-project-automation github-project-automation bot moved this from In Review to Done in Protocol Team Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Interop ingress filter should assign the pending timestamp to exec descriptors
3 participants