Skip to content
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

Interop: handle deposits with cross-L2 messages in derivation #10887

Closed
Tracked by #10896
protolambda opened this issue Apr 1, 2024 · 3 comments
Closed
Tracked by #10896

Interop: handle deposits with cross-L2 messages in derivation #10887

protolambda opened this issue Apr 1, 2024 · 3 comments

Comments

@protolambda
Copy link
Contributor

Deposits may not perform cross-L2 messages newer than the most recent sequencing-window, to ensure the synchronous validation of the deposit cross-L2 message can be verified within reasonable time and safely reproduced.

@tynes tynes transferred this issue from another repository Jun 17, 2024
@tynes tynes transferred this issue from ethereum-optimism/temp-export Jun 17, 2024
@tynes tynes added this to the Interop: Devnet 1 milestone Jun 17, 2024
@tynes
Copy link
Contributor

tynes commented Jun 21, 2024

In practice does this look like making the sequencing window legible to the EVM so that we can revert in EVM?

Right now there is a standardness of the sequencing window but it isn't legible from within EVM. We would need to set it via the SystemConfig or hardcode it to be a certain value as part of the hardfork. If hardcoded, then we can hardcode the same value to be used in the require statement, preventing too new of cross chain messages when its a deposit tx.

I made a design doc about making it dynamic - ethereum-optimism/design-docs#14

Its less work to hardcode it to a specific value but impacts things like L3s since the sequencing window is defined by base layer blocks and not time. If we made it dynamic, there there may be unknown side effects/edge cases

@ajsutton
Copy link
Contributor

Not entirely sure I have all the details in my head, but we could also expose whether the current tx is a deposit transaction (which we need to for devnet 0 workaround to disable cross-L2 deposits) and then the L2Inbox contract could call the SystemConfig to get the current sequencer window.

@protolambda
Copy link
Contributor Author

Closing this in favor of discussion in #10867 which is closely related and describes the current proposed solution for deposit handling in the comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

3 participants