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
messageNoncestorage variable, and the hash is store in thesentMessagesmapping (this is not actually used AFAIK) - The
messageNonceis then incremented.
- (ie.
- The
OVM_L2CrossDomainMessengerthen passes thexDomainCalldatatoOVM_L2ToL1MessagePasser.passMessageToL1() - the
xDomainCalldatais hashed withmsg.sender(ie.ovmCaller), and written to thesentMessagesmapping.