Adding returnedMessages primitive into L2ToL2CrossDomainMessenger#203
Adding returnedMessages primitive into L2ToL2CrossDomainMessenger#203tynes merged 15 commits intoethereum-optimism:mainfrom
Conversation
|
Just to be clear that the |
oh nice catch, since we don't yet have a |
|
I am generally in favor of this approach and would be open to getting it merged, I think it can be a powerful primitive. It doesn't solve the problem of sending to a chain not in the dependency set but that might be impossible to solve (?) Left a set of comments that are generally minor/aesthetic |
Description
Adds a way for the
L2ToL2CrossDomainMessengerto "send-back" failed messages.These failed messages are stored on the origin domain's
L2ToL2CrossDomainMessenger.This enables smart contracts to handle "failed" messages.
e.g. a future
L2toL2StandardBridgewill be able to safely recover stuck funds by validating that a message was indeed NOT successful on the other domain.For this proposal, we've also prepared a detailed Notion document, found here, that goes through the rationale and need of the
returnedMessagesmapping and accompanying functionality and required modifications.We've also prepared an example of the technical PR
We believe this would be an important primitive for Interop and the canonical bridge.
Would love to hear your thoughts and any feedback you might have on this proposal :)
Tests
N/A
Additional context
https://defi-wonderland.notion.site/L2-L2-Stuck-Messages-71a4cdb5a06c48fb94d0b98d89c46a03
previous PR: #184
Metadata
N/A
This proposal was developed as an internal research project at @defi-wonderland lead by @0xng.