12. Batch Submitter

💡
Batcher submitter → the entity submitting the L2 sequencer data to L1.
💡
Data submitted must match the derivation specification rules in order to be valid from a verifier perspective.
 
The most minimal batcher implementation can be defined as a loop of the following operations:
  1. See if the unsafe L2 block number is past the safe block number: unsafe data needs to be submitted.
  1. Iterate over all unsafe L2 blocks, skip any that were previously submitted.
  1. Open a channel, buffer all the L2 block data to be submitted, while applying the encoding and compression as defined in the derivation spec.
  1. Pull frames from the channel to fill data transactions with, until the channel is empty.
  1. Submit the data transactions to L1
 
💡
The L2 view of safe/unsafe does not instantly update after data is submitted, nor when it gets confirmed on L1, so special care may have to be taken to not duplicate data submissions.
 

12. Batch Submitter

💡
Batcher submitter → the entity submitting the L2 sequencer data to L1.
💡
Data submitted must match the derivation specification rules in order to be valid from a verifier perspective.
 
The most minimal batcher implementation can be defined as a loop of the following operations:
  1. See if the unsafe L2 block number is past the safe block number: unsafe data needs to be submitted.
  1. Iterate over all unsafe L2 blocks, skip any that were previously submitted.
  1. Open a channel, buffer all the L2 block data to be submitted, while applying the encoding and compression as defined in the derivation spec.
  1. Pull frames from the channel to fill data transactions with, until the channel is empty.
  1. Submit the data transactions to L1
 
💡
The L2 view of safe/unsafe does not instantly update after data is submitted, nor when it gets confirmed on L1, so special care may have to be taken to not duplicate data submissions.
Â