// Account is a struct that gives information of the holdings of an address and a specific token. Is the data structure that generates the Value stored in the leaf of the MerkleTree
batchInfo:=NewBatchInfo(c.batchNum,serverProofInfo)// to accumulate metadata of the batch
varl2Txs[]*common.PoolL2Tx
varpoolL2Txs[]*common.PoolL2Tx
// var feesInfo
varl1UserTxsExtra,l1OperatorTxs[]*common.L1Tx
// 1. Decide if we forge L2Tx or L1+L2Tx
ifc.shouldL1L2Batch(){
// 2a: L1+L2 txs
// l1UserTxs, toForgeL1TxsNumber := c.synchronizer.GetNextL1UserTxs() // TODO once synchronizer is ready, uncomment
varl1UserTxs[]*common.L1Tx=nil// tmp, depends on synchronizer
l1UserTxsExtra,l1OperatorTxs,l2Txs,err=c.txsel.GetL1L2TxSelection(c.batchNum,l1UserTxs)// TODO once feesInfo is added to method return, add the var
varl1UserTxs[]*common.L1Tx=nil// tmp, depends on synchronizer
l1UserTxsExtra,l1OperatorTxs,poolL2Txs,err=c.txsel.GetL1L2TxSelection(c.batchNum,l1UserTxs)// TODO once feesInfo is added to method return, add the var
iferr!=nil{
returnerr
}
}else{
// 2b: only L2 txs
l2Txs,err=c.txsel.GetL2TxSelection(c.batchNum)// TODO once feesInfo is added to method return, add the var
poolL2Txs,err=c.txsel.GetL2TxSelection(c.batchNum)// TODO once feesInfo is added to method return, add the var