l.log.Info("Got new L2 sync status","safe_head",syncStatus.SafeL2,"unsafe_head",syncStatus.UnsafeL2,"last_submitted",l.lastSubmittedBlock,"l1_head",syncStatus.HeadL1)
l.log.Warn("last submitted block lagged behind L2 safe head: batch submission will continue from the safe head now","last",l.lastSubmittedBlock,"safe",syncStatus.SafeL2)
// Empty the state after loading into it on every iteration.
syncStatus,err:=l.cfg.RollupNode.SyncStatus(ctx)
cancel()
iferr!=nil{
l.log.Warn("issue fetching L2 head","err",err)
continue
}
ifsyncStatus.HeadL1==(eth.L1BlockRef{}){
l.log.Info("Rollup node has no L1 head info yet")
continue
}
l.log.Info("Got new L2 sync status","safe_head",syncStatus.SafeL2,"unsafe_head",syncStatus.UnsafeL2,"last_submitted",l.lastSubmittedBlock,"l1_head",syncStatus.HeadL1)
l.log.Warn("last submitted block lagged behind L2 safe head: batch submission will continue from the safe head now","last",l.lastSubmittedBlock,"safe",syncStatus.SafeL2)
l.lastSubmittedBlock=syncStatus.SafeL2.ID()
}
ifch,err:=derive.NewChannelOut();err!=nil{
l.log.Error("Error creating channel","err",err)
continue
}else{
l.ch=ch
}
prevID:=l.lastSubmittedBlock
maxBlocksPerChannel:=uint64(100)
// Hacky min() here to ensure that we don't batch submit more than 100 blocks per channel.