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:
- See if theÂ
unsafe
 L2 block number is past theÂsafe
 block number:Âunsafe
 data needs to be submitted.
- Iterate over all unsafe L2 blocks, skip any that were previously submitted.
- Open a channel, buffer all the L2 block data to be submitted, while applying the encoding and compression as defined in the derivation spec.
- Pull frames from the channel to fill data transactions with, until the channel is empty.
- 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.
Â