ArbL2ToL1Hook
sends the encoded function call with the messageId
to the ArbSys
precompile on the L2. After waiting for the withdrawal period, you can use the getOutboxProof()
on the L2 to get a merkle proof of the message. From here, you have two options:
ArbL2ToL1Ism
’s verify function via the mailbox.process()
call with the proof and the other encoded data which in turn calls the outbox.executeTransaction()
checking for the message sender and message data validity.outbox.executeTransaction()
with the proof and the other encoded data. However, you’ll need to make a second call to the ArbL2ToL1Ism
’s verify function to deliver the message. This option also you delivery of message values to the recipient contract.arbSys.getOutboxProof()
and calling the outbox.executeTransaction()
function.