mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-07 03:16:45 +01:00
Add TxType before processing L2 tx
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user