diff --git a/common/test_helper.go b/common/test_helper.go index 06195f6..6063e3e 100644 --- a/common/test_helper.go +++ b/common/test_helper.go @@ -73,12 +73,12 @@ func createContainer(ctx context.Context) (testcontainers.Container, *pgxpool.Po } container, err := testcontainers.GenericContainer(ctx, req) if err != nil { - return container, nil, "", fmt.Errorf("failed to start container: %v", err) + return container, nil, "", fmt.Errorf("failed to start container: %w", err) } p, err := container.MappedPort(ctx, "5432") if err != nil { - return container, nil, "", fmt.Errorf("failed to get container external port: %v", err) + return container, nil, "", fmt.Errorf("failed to get container external port: %w", err) } log.Println("postgres container ready and running at port: ", p.Port()) @@ -88,7 +88,7 @@ func createContainer(ctx context.Context) (testcontainers.Container, *pgxpool.Po dbAddr := fmt.Sprintf("localhost:%s", p.Port()) db, err := pgxpool.New(ctx, fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=disable", DbUser, DbPass, dbAddr, DbName)) if err != nil { - return container, db, dbAddr, fmt.Errorf("failed to establish database connection: %v", err) + return container, db, dbAddr, fmt.Errorf("failed to establish database connection: %w", err) } return container, db, dbAddr, nil diff --git a/internal/metrics/tx_mapper_db.go b/internal/metrics/tx_mapper_db.go index 892890c..dc7f449 100644 --- a/internal/metrics/tx_mapper_db.go +++ b/internal/metrics/tx_mapper_db.go @@ -279,7 +279,7 @@ func (tm *TxMapperDB) UpdateValidatorStatus(ctx context.Context) error { Offset: int32(jumpBy), }) if err != nil { - if err == pgx.ErrNoRows { + if errors.Is(err, pgx.ErrNoRows) { break } return err @@ -587,7 +587,7 @@ func (tm *TxMapperDB) validateValidatorRegistryEvent( }) if err != nil { - if err == pgx.ErrNoRows { + if errors.Is(err, pgx.ErrNoRows) { // No previous nonce means the message is valid regarding nonce nonceBefore = pgtype.Int8{Int64: -1, Valid: true} } else { diff --git a/internal/syncer/transaction_submitted_syncer.go b/internal/syncer/transaction_submitted_syncer.go index 878978d..f0d4d61 100644 --- a/internal/syncer/transaction_submitted_syncer.go +++ b/internal/syncer/transaction_submitted_syncer.go @@ -2,6 +2,7 @@ package syncer import ( "context" + "errors" "fmt" "math/big" @@ -51,11 +52,11 @@ func NewTransactionSubmittedSyncer( func (ets *TransactionSubmittedSyncer) Sync(ctx context.Context, header *types.Header) error { // TODO: handle reorgs syncedUntil, err := ets.dbQuery.QueryTransactionSubmittedEventsSyncedUntil(ctx) - if err != nil && err != pgx.ErrNoRows { - return fmt.Errorf("failed to query transaction submitted events sync status, %v", err) + if err != nil && !errors.Is(err, pgx.ErrNoRows) { + return fmt.Errorf("failed to query transaction submitted events sync status, %w", err) } var start uint64 - if err == pgx.ErrNoRows { + if errors.Is(err, pgx.ErrNoRows) { start = ets.syncStartBlockNumber } else { start = uint64(syncedUntil.BlockNumber + 1) @@ -86,7 +87,7 @@ func (ets *TransactionSubmittedSyncer) syncRange( } header, err := ets.ethClient.HeaderByNumber(ctx, new(big.Int).SetUint64(end)) if err != nil { - return fmt.Errorf("failed to get execution block header by number, %v", err) + return fmt.Errorf("failed to get execution block header by number, %w", err) } tx, err := ets.db.Begin(ctx) if err != nil { @@ -139,14 +140,14 @@ func (s *TransactionSubmittedSyncer) fetchEvents( } it, err := s.contract.SequencerFilterer.FilterTransactionSubmitted(&opts) if err != nil { - return nil, fmt.Errorf("failed to query transaction submitted events, %v", err) + return nil, fmt.Errorf("failed to query transaction submitted events, %w", err) } events := []*sequencerBindings.SequencerTransactionSubmitted{} for it.Next() { events = append(events, it.Event) } if it.Error() != nil { - return nil, fmt.Errorf("failed to iterate query transaction submitted events, %v", it.Error()) + return nil, fmt.Errorf("failed to iterate query transaction submitted events, %w", it.Error()) } return events, nil } diff --git a/internal/syncer/validator_registry.go b/internal/syncer/validator_registry.go index 496c6c8..6f32d8e 100644 --- a/internal/syncer/validator_registry.go +++ b/internal/syncer/validator_registry.go @@ -2,6 +2,7 @@ package syncer import ( "context" + "errors" "fmt" "math/big" @@ -46,11 +47,11 @@ func NewValidatorRegistrySyncer( func (vts *ValidatorRegistrySyncer) Sync(ctx context.Context, header *types.Header) error { // TODO: handle reorgs syncedUntil, err := vts.dbQuery.QueryValidatorRegistryEventsSyncedUntil(ctx) - if err != nil && err != pgx.ErrNoRows { - return fmt.Errorf("failed to query validator registry sync status, %v", err) + if err != nil && !errors.Is(err, pgx.ErrNoRows) { + return fmt.Errorf("failed to query validator registry sync status, %w", err) } var start uint64 - if err == pgx.ErrNoRows { + if errors.Is(err, pgx.ErrNoRows) { start = vts.syncStartBlockNumber } else { start = uint64(syncedUntil.BlockNumber + 1) @@ -82,7 +83,7 @@ func (ets *ValidatorRegistrySyncer) syncRange( header, err := ets.ethClient.HeaderByNumber(ctx, new(big.Int).SetUint64(end)) if err != nil { - return fmt.Errorf("failed to get execution block header by number, %v", err) + return fmt.Errorf("failed to get execution block header by number, %w", err) } tx, err := ets.db.Begin(ctx) if err != nil { @@ -136,14 +137,14 @@ func (s *ValidatorRegistrySyncer) fetchEvents( } it, err := s.contract.ValidatorregistryFilterer.FilterUpdated(&opts) if err != nil { - return nil, fmt.Errorf("failed to query validator registry updated events, %v", err) + return nil, fmt.Errorf("failed to query validator registry updated events, %w", err) } events := []*validatorRegistryBindings.ValidatorregistryUpdated{} for it.Next() { events = append(events, it.Event) } if it.Error() != nil { - return nil, fmt.Errorf("failed to iterate query validator registry updated events, %v", it.Error()) + return nil, fmt.Errorf("failed to iterate query validator registry updated events, %w", it.Error()) } return events, nil }