Add TxType before processing L2 tx

This commit is contained in:
Arnau B
2020-12-15 17:39:07 +01:00
parent 8e1bfd150d
commit fcd6f56cec
2 changed files with 28 additions and 19 deletions

View File

@@ -752,6 +752,17 @@ func (s *Synchronizer) rollupSync(ethBlock *common.Block) (*common.RollupData, e
// Insert all the txs forged in this batch (l1UserTxs,
// L1CoordinatorTxs, PoolL2Txs) into stateDB so that they are
// processed.
// Add TxID, TxType, Position, BlockNum and BatchNum to L2 txs
for i := range forgeBatchArgs.L2TxsData {
nTx, err := common.NewL2Tx(&forgeBatchArgs.L2TxsData[i])
if err != nil {
return nil, tracerr.Wrap(err)
}
forgeBatchArgs.L2TxsData[i] = *nTx
}
// Transform L2 txs to PoolL2Txs
poolL2Txs := common.L2TxsToPoolL2Txs(forgeBatchArgs.L2TxsData) // NOTE: This is a big ugly, find a better way
// ProcessTxs updates poolL2Txs adding: Nonce (and also TokenID, but we don't use it).
@@ -767,6 +778,22 @@ func (s *Synchronizer) rollupSync(ethBlock *common.Block) (*common.RollupData, e
if err != nil {
return nil, tracerr.Wrap(err)
}
// Transform processed PoolL2 txs to L2 and store in BatchData
if poolL2Txs != nil {
l2Txs, err := common.PoolL2TxsToL2Txs(poolL2Txs) // NOTE: This is a big uggly, find a better way
if err != nil {
return nil, tracerr.Wrap(err)
}
for i := range l2Txs {
l2Txs[i].Position = position
l2Txs[i].EthBlockNum = blockNum
l2Txs[i].BatchNum = batchNum
position++
}
batchData.L2Txs = l2Txs
}
// Set the BatchNum in the forged L1UserTxs
for i := range l1UserTxs {
l1UserTxs[i].BatchNum = &batchNum
@@ -780,25 +807,6 @@ func (s *Synchronizer) rollupSync(ethBlock *common.Block) (*common.RollupData, e
}
batchData.ExitTree = processTxsOut.ExitInfos
l2Txs, err := common.PoolL2TxsToL2Txs(poolL2Txs) // NOTE: This is a big uggly, find a better way
if err != nil {
return nil, tracerr.Wrap(err)
}
for i := range l2Txs {
tx := &l2Txs[i]
tx.Position = position
tx.EthBlockNum = blockNum
tx.BatchNum = batchNum
nTx, err := common.NewL2Tx(tx)
if err != nil {
return nil, tracerr.Wrap(err)
}
batchData.L2Txs = append(batchData.L2Txs, *nTx)
position++
}
for i := range processTxsOut.CreatedAccounts {
createdAccount := &processTxsOut.CreatedAccounts[i]
createdAccount.Nonce = 0

View File

@@ -485,6 +485,7 @@ func TestSync(t *testing.T) {
// Block 3
syncBlock, discards, err = s.Sync2(ctx, nil)
assert.NoError(t, err)
require.Nil(t, err)
require.Nil(t, discards)
require.NotNil(t, syncBlock)