[Core Protocol] <Finalizing message sending from L2 to L1> #357
Replies: 2 comments 1 reply
-
The sendMessage() function returns a message's nonce after sending the message on L2. This nonce is a unique number that identifies messages. When you call the L2CrossDomainMessenger relayMessage() function on L1, you need to provide this nonce as an argument.The relayMessage() function can find the correct message and pass it to the target contract. |
Beta Was this translation helpful? Give feedback.
-
Here is the description of how to act on L1 after the message is called on L2: At the end, after the proof of message is done on L2, the actual contract and function that must be called on L1 is: |
Beta Was this translation helpful? Give feedback.
-
Did you check the documentation?
Did you read the specs?
Did you check for duplicate questions?
Issue Description
Trying to send messages from L2 to L1 via the L2CrossDomainMessenger contract, wondering how finalize it on L1.
Here is a description of the steps in order to send messages from L2 to L1.
Steps 2-3 from the description is not clear. Do I need to call functions like proveWithdrawalTransaction() and / or finalizeWithdrawalTransaction() in OptimismPortalProxy? Not sure how to get arguments for those function calls.
What about the
L2CrossDomainMessenger
's relayMessage() function call that settles sent messages? Seems like the nonce parameter there is the one that fits considering that the sendMessage() function outputs the message nonce?Thanks for the answers!
Additional Information
No response
Feedback
No response
Beta Was this translation helpful? Give feedback.
All reactions