specs icon indicating copy to clipboard operation
specs copied to clipboard

Adding returnedMessages primitive into L2ToL2CrossDomainMessenger

Open skeletor-spaceman opened this issue 9 months ago • 2 comments

Description

Adds a way for the L2ToL2CrossDomainMessenger to "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 L2toL2StandardBridge will 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 returnedMessages mapping 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: https://github.com/ethereum-optimism/specs/pull/184

Metadata

N/A

This proposal was developed as an internal research project at @defi-wonderland lead by @0xng.

skeletor-spaceman avatar May 22 '24 10:05 skeletor-spaceman