Starting on L2:
- Any account on L2 may call
OVM_L2CrossDomainMessenger.sendMessage()
with the information for the L1 message (akaxDomainCalldata
)- (ie.
_target
,msg.sender
,_message
) - This data is hashed with the
messageNonce
storage variable, and the hash is store in thesentMessages
mapping (this is not actually used AFAIK) - The
messageNonce
is then incremented.
- (ie.
- The
OVM_L2CrossDomainMessenger
then passes thexDomainCalldata
toOVM_L2ToL1MessagePasser.passMessageToL1()
- the
xDomainCalldata
is hashed withmsg.sender
(ie.ovmCaller
), and written to thesentMessages
mapping.