Performing a Smart Deposit
A Smart Deposit is a deposit that moves funds from L1 to L2 and then triggers subsequent actions. For example, a user can deposit funds and transfer those funds to another recipient, such as an exchange.
depositWithMessage function enables a Smart Deposit.
depositWithMessage is similar to the
deposit function, with an additional 256-bit message, which can contain instructions for executing additional actions.
Upon completion, the
depositWithMessage function triggers a call to a callback function, named
on_receive, on the L2 contract that receives the deposit. The
on_receive function receives the deposit message as input.
on_receive must return
true for the deposit to succeed. If
false, or if the recipient contract does not include the
on_receive function, the
depositWithMessage function’s L1 handler fails. The user can recover their funds using the
on_receivefunction in the L2 contract that should receive deposits.
depositWithMessagefunction to transfer funds from L1 to L2.