From 57b4b15a5151dc22347ab06c220d8685dd0e8718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toni=20Ram=C3=ADrez?= <58293609+ToniRamirezM@users.noreply.github.com> Date: Thu, 23 Jan 2025 12:58:57 +0100 Subject: [PATCH] fix: seq-sender latestVirtualTime (#270) --- sequencesender/ethtx.go | 9 +++++---- sequencesender/ethtx_test.go | 2 +- sequencesender/sequencesender.go | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sequencesender/ethtx.go b/sequencesender/ethtx.go index a88cff602..3234992e4 100644 --- a/sequencesender/ethtx.go +++ b/sequencesender/ethtx.go @@ -203,12 +203,13 @@ func (s *SequenceSender) syncEthTxResults(ctx context.Context) (uint64, error) { } // syncAllEthTxResults syncs all tx results from L1 -func (s *SequenceSender) syncAllEthTxResults(ctx context.Context) error { +func (s *SequenceSender) syncAllEthTxResults(ctx context.Context) (time.Time, error) { + latestVirtualTime := time.Now().Local().Add(-s.cfg.LastBatchVirtualizationTimeMaxWaitPeriod.Duration) // Get all results results, err := s.ethTxManager.ResultsByStatus(ctx, nil) if err != nil { log.Warnf("error getting results for all tx: %v", err) - return err + return latestVirtualTime, err } // Check and update tx status @@ -227,7 +228,7 @@ func (s *SequenceSender) syncAllEthTxResults(ctx context.Context) error { } txSequence = s.ethTransactions[result.ID] } - + latestVirtualTime = txSequence.SentL1Timestamp s.updateEthTxResult(txSequence, result) } s.mutexEthTx.Unlock() @@ -239,7 +240,7 @@ func (s *SequenceSender) syncAllEthTxResults(ctx context.Context) error { } log.Infof("%d tx results synchronized", numResults) - return nil + return latestVirtualTime, nil } // copyTxData copies tx data in the internal structure diff --git a/sequencesender/ethtx_test.go b/sequencesender/ethtx_test.go index 06afb6404..1bc21535a 100644 --- a/sequencesender/ethtx_test.go +++ b/sequencesender/ethtx_test.go @@ -542,7 +542,7 @@ func Test_syncAllEthTxResults(t *testing.T) { logger: log.GetDefaultLogger(), } - err = ss.syncAllEthTxResults(context.Background()) + _, err = ss.syncAllEthTxResults(context.Background()) if tt.expectErr != nil { require.Equal(t, tt.expectErr, err) } else { diff --git a/sequencesender/sequencesender.go b/sequencesender/sequencesender.go index 432b37779..6f602b421 100644 --- a/sequencesender/sequencesender.go +++ b/sequencesender/sequencesender.go @@ -138,7 +138,7 @@ func (s *SequenceSender) Start(ctx context.Context) { } // Sync all monitored sent L1 tx - err = s.syncAllEthTxResults(ctx) + s.latestVirtualTime, err = s.syncAllEthTxResults(ctx) if err != nil { s.logger.Fatalf("failed to sync monitored tx results, error: %v", err) }