From 4e03981f4aa840fb349e3d14b027e3dcce29daa2 Mon Sep 17 00:00:00 2001 From: ToniRamirezM Date: Thu, 9 Mar 2023 14:47:09 +0100 Subject: [PATCH 1/4] fix claim pre execution --- aggregator/mocks/mock_dbtx.go | 2 +- aggregator/mocks/mock_etherman.go | 2 +- aggregator/mocks/mock_ethtxmanager.go | 2 +- aggregator/mocks/mock_profitabilitychecker.go | 2 +- aggregator/mocks/mock_prover.go | 2 +- aggregator/mocks/mock_state.go | 2 +- etherman/mock_etherscan.go | 2 +- etherman/mock_ethgasstation.go | 2 +- ethtxmanager/mock_etherman_test.go | 2 +- ethtxmanager/mock_state_test.go | 2 +- gasprice/mock_etherman.go | 2 +- gasprice/mock_pool.go | 2 +- jsonrpc/mock_dbtx_test.go | 2 +- jsonrpc/mock_pool_test.go | 2 +- jsonrpc/mock_state_test.go | 2 +- jsonrpc/mock_storage_test.go | 2 +- pool/pool.go | 35 +++++-------------- sequencer/broadcast/mocks/mock_state.go | 2 +- sequencer/mock_db_manager.go | 2 +- sequencer/mock_dbtx.go | 2 +- sequencer/mock_pool.go | 2 +- sequencer/mock_state.go | 2 +- sequencer/mock_worker.go | 2 +- state/runtime/executor/errors.go | 5 +++ synchronizer/interfaces.go | 2 +- synchronizer/mock_dbtx.go | 2 +- synchronizer/mock_etherman.go | 2 +- synchronizer/mock_ethtxmanager.go | 2 +- synchronizer/mock_pool.go | 6 ++-- synchronizer/mock_state.go | 2 +- synchronizer/synchronizer.go | 2 +- synchronizer/synchronizer_test.go | 2 +- 32 files changed, 46 insertions(+), 58 deletions(-) diff --git a/aggregator/mocks/mock_dbtx.go b/aggregator/mocks/mock_dbtx.go index a6b5615555..a71023a193 100644 --- a/aggregator/mocks/mock_dbtx.go +++ b/aggregator/mocks/mock_dbtx.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/aggregator/mocks/mock_etherman.go b/aggregator/mocks/mock_etherman.go index 4551ec41d8..f9ceca418e 100644 --- a/aggregator/mocks/mock_etherman.go +++ b/aggregator/mocks/mock_etherman.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/aggregator/mocks/mock_ethtxmanager.go b/aggregator/mocks/mock_ethtxmanager.go index 9c156346ba..048e8e5cc6 100644 --- a/aggregator/mocks/mock_ethtxmanager.go +++ b/aggregator/mocks/mock_ethtxmanager.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/aggregator/mocks/mock_profitabilitychecker.go b/aggregator/mocks/mock_profitabilitychecker.go index daa2cf920b..34657c51af 100644 --- a/aggregator/mocks/mock_profitabilitychecker.go +++ b/aggregator/mocks/mock_profitabilitychecker.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/aggregator/mocks/mock_prover.go b/aggregator/mocks/mock_prover.go index 1894fa4d42..3ecd3f7534 100644 --- a/aggregator/mocks/mock_prover.go +++ b/aggregator/mocks/mock_prover.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/aggregator/mocks/mock_state.go b/aggregator/mocks/mock_state.go index 65e22e61d7..f6e277304e 100644 --- a/aggregator/mocks/mock_state.go +++ b/aggregator/mocks/mock_state.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/etherman/mock_etherscan.go b/etherman/mock_etherscan.go index 4ade68954a..253b5add42 100644 --- a/etherman/mock_etherscan.go +++ b/etherman/mock_etherscan.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package etherman diff --git a/etherman/mock_ethgasstation.go b/etherman/mock_ethgasstation.go index ab968c2d2d..5cb1c86178 100644 --- a/etherman/mock_ethgasstation.go +++ b/etherman/mock_ethgasstation.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package etherman diff --git a/ethtxmanager/mock_etherman_test.go b/ethtxmanager/mock_etherman_test.go index b021bde967..f329465686 100644 --- a/ethtxmanager/mock_etherman_test.go +++ b/ethtxmanager/mock_etherman_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package ethtxmanager diff --git a/ethtxmanager/mock_state_test.go b/ethtxmanager/mock_state_test.go index 48aaf907f3..153422cd09 100644 --- a/ethtxmanager/mock_state_test.go +++ b/ethtxmanager/mock_state_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package ethtxmanager diff --git a/gasprice/mock_etherman.go b/gasprice/mock_etherman.go index 39bc0dbb32..4cb05739f6 100644 --- a/gasprice/mock_etherman.go +++ b/gasprice/mock_etherman.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package gasprice diff --git a/gasprice/mock_pool.go b/gasprice/mock_pool.go index d38aa99d90..9957087ddf 100644 --- a/gasprice/mock_pool.go +++ b/gasprice/mock_pool.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package gasprice diff --git a/jsonrpc/mock_dbtx_test.go b/jsonrpc/mock_dbtx_test.go index 01a73ae3ba..b2bc43632b 100644 --- a/jsonrpc/mock_dbtx_test.go +++ b/jsonrpc/mock_dbtx_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package jsonrpc diff --git a/jsonrpc/mock_pool_test.go b/jsonrpc/mock_pool_test.go index 9749495e98..79f64ee2e3 100644 --- a/jsonrpc/mock_pool_test.go +++ b/jsonrpc/mock_pool_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package jsonrpc diff --git a/jsonrpc/mock_state_test.go b/jsonrpc/mock_state_test.go index 4f0a186246..e3aeeeaeea 100644 --- a/jsonrpc/mock_state_test.go +++ b/jsonrpc/mock_state_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package jsonrpc diff --git a/jsonrpc/mock_storage_test.go b/jsonrpc/mock_storage_test.go index c40bd465e9..411d901993 100644 --- a/jsonrpc/mock_storage_test.go +++ b/jsonrpc/mock_storage_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package jsonrpc diff --git a/pool/pool.go b/pool/pool.go index 113a65030e..1af7320418 100644 --- a/pool/pool.go +++ b/pool/pool.go @@ -7,7 +7,6 @@ import ( "math/big" "time" - "github.com/0xPolygonHermez/zkevm-node/log" "github.com/0xPolygonHermez/zkevm-node/state" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/math" @@ -68,28 +67,11 @@ func (p *Pool) AddTx(ctx context.Context, tx types.Transaction) error { return err } - poolTx := Transaction{ - Transaction: tx, - Status: TxStatusPending, - IsClaims: false, - ReceivedAt: time.Now(), - IsWIP: false, - } - - poolTx.IsClaims = poolTx.IsClaimTx(p.l2BridgeAddr, p.cfg.FreeClaimGasLimit) - - // Execute transaction to calculate its zkCounters - zkCounters, err := p.PreExecuteTx(ctx, tx) - if err != nil { - return err - } - - poolTx.ZKCounters = zkCounters - return p.storage.AddTx(ctx, poolTx) + return p.StoreTx(ctx, tx) } -// ReorgTx adds a reorged transaction to the pool with the pending state -func (p *Pool) ReorgTx(ctx context.Context, tx types.Transaction) error { +// StoreTx adds a transaction to the pool with the pending state +func (p *Pool) StoreTx(ctx context.Context, tx types.Transaction) error { poolTx := Transaction{ Transaction: tx, Status: TxStatusPending, @@ -100,13 +82,14 @@ func (p *Pool) ReorgTx(ctx context.Context, tx types.Transaction) error { poolTx.IsClaims = poolTx.IsClaimTx(p.l2BridgeAddr, p.cfg.FreeClaimGasLimit) - // Execute transaction to calculate its zkCounters - zkCounters, err := p.PreExecuteTx(ctx, tx) - if err != nil { - log.Warnf("ignoring error while preexecuting tx: %+v", poolTx) + if !poolTx.IsClaims { + // Execute transaction to calculate its zkCounters + zkCounters, err := p.PreExecuteTx(ctx, tx) + if err != nil { + poolTx.ZKCounters = zkCounters + } } - poolTx.ZKCounters = zkCounters return p.storage.AddTx(ctx, poolTx) } diff --git a/sequencer/broadcast/mocks/mock_state.go b/sequencer/broadcast/mocks/mock_state.go index cc3d8b9a06..a557f07a35 100644 --- a/sequencer/broadcast/mocks/mock_state.go +++ b/sequencer/broadcast/mocks/mock_state.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks diff --git a/sequencer/mock_db_manager.go b/sequencer/mock_db_manager.go index 3b030cd796..706f27817b 100644 --- a/sequencer/mock_db_manager.go +++ b/sequencer/mock_db_manager.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package sequencer diff --git a/sequencer/mock_dbtx.go b/sequencer/mock_dbtx.go index 41cfe68ae7..fa16827b43 100644 --- a/sequencer/mock_dbtx.go +++ b/sequencer/mock_dbtx.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package sequencer diff --git a/sequencer/mock_pool.go b/sequencer/mock_pool.go index 115ce5ad62..830cc7dcd6 100644 --- a/sequencer/mock_pool.go +++ b/sequencer/mock_pool.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package sequencer diff --git a/sequencer/mock_state.go b/sequencer/mock_state.go index 8ebab06d79..b9aabe49d7 100644 --- a/sequencer/mock_state.go +++ b/sequencer/mock_state.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package sequencer diff --git a/sequencer/mock_worker.go b/sequencer/mock_worker.go index 70f7dc218f..2d22180ff2 100644 --- a/sequencer/mock_worker.go +++ b/sequencer/mock_worker.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package sequencer diff --git a/state/runtime/executor/errors.go b/state/runtime/executor/errors.go index cc774e0ae3..902e5ebf9f 100644 --- a/state/runtime/executor/errors.go +++ b/state/runtime/executor/errors.go @@ -226,6 +226,11 @@ func IsExecutorOutOfCountersError(error pb.ExecutorError) bool { return int32(error) >= EXECUTOR_ERROR_COUNTERS_OVERFLOW_KECCAK && int32(error) <= ROM_ERROR_OUT_OF_COUNTERS_POSEIDON } +// IsExecutorUnespecifiedError indicates an unespecified error in the executor +func IsExecutorUnespecifiedError(error pb.ExecutorError) bool { + return int32(error) == EXECUTOR_ERROR_UNSPECIFIED +} + // IsIntrinsicError indicates if the error is due to a intrinsic check func IsIntrinsicError(error pb.RomError) bool { return int32(error) >= ROM_ERROR_INTRINSIC_INVALID_SIGNATURE && int32(error) <= ROM_ERROR_INTRINSIC_TX_GAS_OVERFLOW diff --git a/synchronizer/interfaces.go b/synchronizer/interfaces.go index a90b8d2885..f63d27259b 100644 --- a/synchronizer/interfaces.go +++ b/synchronizer/interfaces.go @@ -61,5 +61,5 @@ type ethTxManager interface { type poolInterface interface { DeleteReorgedTransactions(ctx context.Context, txs []*types.Transaction) error - ReorgTx(ctx context.Context, tx types.Transaction) error + StoreTx(ctx context.Context, tx types.Transaction) error } diff --git a/synchronizer/mock_dbtx.go b/synchronizer/mock_dbtx.go index d022a95582..d5a243d834 100644 --- a/synchronizer/mock_dbtx.go +++ b/synchronizer/mock_dbtx.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package synchronizer diff --git a/synchronizer/mock_etherman.go b/synchronizer/mock_etherman.go index 90ea1eff4d..e9f6360fcf 100644 --- a/synchronizer/mock_etherman.go +++ b/synchronizer/mock_etherman.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package synchronizer diff --git a/synchronizer/mock_ethtxmanager.go b/synchronizer/mock_ethtxmanager.go index 83adfaa984..dac2cc349f 100644 --- a/synchronizer/mock_ethtxmanager.go +++ b/synchronizer/mock_ethtxmanager.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package synchronizer diff --git a/synchronizer/mock_pool.go b/synchronizer/mock_pool.go index 161e718cd5..c142da4e62 100644 --- a/synchronizer/mock_pool.go +++ b/synchronizer/mock_pool.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package synchronizer @@ -29,8 +29,8 @@ func (_m *poolMock) DeleteReorgedTransactions(ctx context.Context, txs []*types. return r0 } -// ReorgTx provides a mock function with given fields: ctx, tx -func (_m *poolMock) ReorgTx(ctx context.Context, tx types.Transaction) error { +// StoreTx provides a mock function with given fields: ctx, tx +func (_m *poolMock) StoreTx(ctx context.Context, tx types.Transaction) error { ret := _m.Called(ctx, tx) var r0 error diff --git a/synchronizer/mock_state.go b/synchronizer/mock_state.go index eab3bd299d..9fe666828e 100644 --- a/synchronizer/mock_state.go +++ b/synchronizer/mock_state.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package synchronizer diff --git a/synchronizer/synchronizer.go b/synchronizer/synchronizer.go index fa02133f50..8f76f9d731 100644 --- a/synchronizer/synchronizer.go +++ b/synchronizer/synchronizer.go @@ -1143,7 +1143,7 @@ func (s *ClientSynchronizer) reorgPool(dbTx pgx.Tx) error { // Add txs to the pool for _, tx := range txs { - err = s.pool.ReorgTx(s.ctx, *tx) + err = s.pool.StoreTx(s.ctx, *tx) if err != nil { log.Errorf("error storing tx into the pool again. TxHash: %s. BatchNumber: %d, error: %v", tx.Hash().String(), batchNumber, err) return err diff --git a/synchronizer/synchronizer_test.go b/synchronizer/synchronizer_test.go index 3284c893a6..4a78e52903 100644 --- a/synchronizer/synchronizer_test.go +++ b/synchronizer/synchronizer_test.go @@ -200,7 +200,7 @@ func TestTrustedStateReorg(t *testing.T) { Once() m.Pool. - On("ReorgTx", ctx, *txs[0]). + On("StoreTx", ctx, *txs[0]). Return(nil). Once() From 89b383f91db1c5baf1247c7c600525723ec43229 Mon Sep 17 00:00:00 2001 From: ToniRamirezM Date: Thu, 9 Mar 2023 15:44:28 +0100 Subject: [PATCH 2/4] fix --- pool/pool.go | 10 ++++------ state/state.go | 23 ++++++++++++++--------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/pool/pool.go b/pool/pool.go index 1af7320418..ed236142cb 100644 --- a/pool/pool.go +++ b/pool/pool.go @@ -82,12 +82,10 @@ func (p *Pool) StoreTx(ctx context.Context, tx types.Transaction) error { poolTx.IsClaims = poolTx.IsClaimTx(p.l2BridgeAddr, p.cfg.FreeClaimGasLimit) - if !poolTx.IsClaims { - // Execute transaction to calculate its zkCounters - zkCounters, err := p.PreExecuteTx(ctx, tx) - if err != nil { - poolTx.ZKCounters = zkCounters - } + // Execute transaction to calculate its zkCounters + zkCounters, err := p.PreExecuteTx(ctx, tx) + if err != nil { + poolTx.ZKCounters = zkCounters } return p.storage.AddTx(ctx, poolTx) diff --git a/state/state.go b/state/state.go index 290cf23687..de23795144 100644 --- a/state/state.go +++ b/state/state.go @@ -1204,12 +1204,7 @@ func (s *State) PreProcessTransaction(ctx context.Context, tx *types.Transaction return nil, err } - nonce, err := s.GetNonce(ctx, sender, lastL2BlockNumber, nil) - if err != nil { - return nil, err - } - - response, err := s.internalProcessUnsignedTransaction(ctx, tx, sender, &lastL2BlockNumber, false, &nonce, dbTx) + response, err := s.internalProcessUnsignedTransaction(ctx, tx, sender, &lastL2BlockNumber, false, true, dbTx) if err != nil && !errors.Is(err, runtime.ErrExecutionReverted) { return nil, err } @@ -1220,7 +1215,7 @@ func (s *State) PreProcessTransaction(ctx context.Context, tx *types.Transaction // ProcessUnsignedTransaction processes the given unsigned transaction. func (s *State) ProcessUnsignedTransaction(ctx context.Context, tx *types.Transaction, senderAddress common.Address, l2BlockNumber *uint64, noZKEVMCounters bool, dbTx pgx.Tx) *runtime.ExecutionResult { result := new(runtime.ExecutionResult) - response, err := s.internalProcessUnsignedTransaction(ctx, tx, senderAddress, l2BlockNumber, noZKEVMCounters, nil, dbTx) + response, err := s.internalProcessUnsignedTransaction(ctx, tx, senderAddress, l2BlockNumber, noZKEVMCounters, false, dbTx) if err != nil { result.Err = err } @@ -1241,12 +1236,22 @@ func (s *State) ProcessUnsignedTransaction(ctx context.Context, tx *types.Transa } // ProcessUnsignedTransaction processes the given unsigned transaction. -func (s *State) internalProcessUnsignedTransaction(ctx context.Context, tx *types.Transaction, senderAddress common.Address, l2BlockNumber *uint64, noZKEVMCounters bool, forcedNonce *uint64, dbTx pgx.Tx) (*ProcessBatchResponse, error) { +func (s *State) internalProcessUnsignedTransaction(ctx context.Context, tx *types.Transaction, senderAddress common.Address, l2BlockNumber *uint64, noZKEVMCounters bool, forceNonce bool, dbTx pgx.Tx) (*ProcessBatchResponse, error) { lastBatches, l2BlockStateRoot, err := s.PostgresStorage.GetLastNBatchesByL2BlockNumber(ctx, l2BlockNumber, two, dbTx) if err != nil { return nil, err } + var pForcedNonce *uint64 + + if forceNonce && l2BlockNumber != nil { + forcedNonce, err := s.GetNonce(ctx, senderAddress, *l2BlockNumber, nil) + if err != nil { + return nil, err + } + pForcedNonce = &forcedNonce + } + // Get latest batch from the database to get globalExitRoot and Timestamp lastBatch := lastBatches[0] @@ -1256,7 +1261,7 @@ func (s *State) internalProcessUnsignedTransaction(ctx context.Context, tx *type previousBatch = lastBatches[1] } - batchL2Data, err := EncodeUnsignedTransaction(*tx, s.cfg.ChainID, forcedNonce) + batchL2Data, err := EncodeUnsignedTransaction(*tx, s.cfg.ChainID, pForcedNonce) if err != nil { log.Errorf("error encoding unsigned transaction ", err) return nil, err From 2042213b6b278e378f8ba9369faa5c704dd775e6 Mon Sep 17 00:00:00 2001 From: ToniRamirezM Date: Thu, 9 Mar 2023 16:13:20 +0100 Subject: [PATCH 3/4] re fix --- state/state.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/state/state.go b/state/state.go index de23795144..bb6b2e79ee 100644 --- a/state/state.go +++ b/state/state.go @@ -1245,11 +1245,12 @@ func (s *State) internalProcessUnsignedTransaction(ctx context.Context, tx *type var pForcedNonce *uint64 if forceNonce && l2BlockNumber != nil { - forcedNonce, err := s.GetNonce(ctx, senderAddress, *l2BlockNumber, nil) + forcedNonce, err := s.tree.GetNonce(ctx, senderAddress, l2BlockStateRoot.Bytes()) if err != nil { return nil, err } - pForcedNonce = &forcedNonce + tmpNonce := forcedNonce.Uint64() + pForcedNonce = &tmpNonce } // Get latest batch from the database to get globalExitRoot and Timestamp From 973fd9e07351b65fcabd79fb11d65a766f5a93e6 Mon Sep 17 00:00:00 2001 From: ToniRamirezM Date: Thu, 9 Mar 2023 16:32:44 +0100 Subject: [PATCH 4/4] re fix --- pool/pool.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pool/pool.go b/pool/pool.go index ed236142cb..d4673ae6aa 100644 --- a/pool/pool.go +++ b/pool/pool.go @@ -7,6 +7,7 @@ import ( "math/big" "time" + "github.com/0xPolygonHermez/zkevm-node/log" "github.com/0xPolygonHermez/zkevm-node/state" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/math" @@ -85,8 +86,9 @@ func (p *Pool) StoreTx(ctx context.Context, tx types.Transaction) error { // Execute transaction to calculate its zkCounters zkCounters, err := p.PreExecuteTx(ctx, tx) if err != nil { - poolTx.ZKCounters = zkCounters + log.Debugf("PreExecuteTx error (this can be ignored): %v", err) } + poolTx.ZKCounters = zkCounters return p.storage.AddTx(ctx, poolTx) }