From 0dab002529d0c166188b71d3ce20946242c95d74 Mon Sep 17 00:00:00 2001 From: Mengran Lan Date: Mon, 1 Jul 2024 14:55:40 +0800 Subject: [PATCH] update l1_block_number field in finalize batch events --- bridge-history-api/internal/logic/l1_event_parser.go | 5 +++-- bridge-history-api/internal/orm/batch_event.go | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bridge-history-api/internal/logic/l1_event_parser.go b/bridge-history-api/internal/logic/l1_event_parser.go index 1bd78cea4f..8f87775abd 100644 --- a/bridge-history-api/internal/logic/l1_event_parser.go +++ b/bridge-history-api/internal/logic/l1_event_parser.go @@ -271,8 +271,9 @@ func (e *L1EventParser) ParseL1BatchEventLogs(ctx context.Context, logs []types. return nil, err } l1BatchEvents = append(l1BatchEvents, &orm.BatchEvent{ - BatchStatus: int(btypes.BatchStatusTypeFinalized), - BatchIndex: event.BatchIndex.Uint64(), + BatchStatus: int(btypes.BatchStatusTypeFinalized), + BatchIndex: event.BatchIndex.Uint64(), + L1BlockNumber: vlog.BlockNumber, }) } } diff --git a/bridge-history-api/internal/orm/batch_event.go b/bridge-history-api/internal/orm/batch_event.go index cf837c0889..f41040c33e 100644 --- a/bridge-history-api/internal/orm/batch_event.go +++ b/bridge-history-api/internal/orm/batch_event.go @@ -75,6 +75,7 @@ func (c *BatchEvent) GetFinalizedBatchesLEBlockHeight(ctx context.Context, block func (c *BatchEvent) InsertOrUpdateBatchEvents(ctx context.Context, l1BatchEvents []*BatchEvent) error { var maxFinalizedBatchIndex uint64 var containsFinalizedEvent bool + var maxL1BlockNumber uint64 for _, l1BatchEvent := range l1BatchEvents { db := c.db db = db.WithContext(ctx) @@ -96,6 +97,9 @@ func (c *BatchEvent) InsertOrUpdateBatchEvents(ctx context.Context, l1BatchEvent if l1BatchEvent.BatchIndex > maxFinalizedBatchIndex { maxFinalizedBatchIndex = l1BatchEvent.BatchIndex } + if l1BatchEvent.L1BlockNumber > maxL1BlockNumber { + maxL1BlockNumber = l1BatchEvent.L1BlockNumber + } case btypes.BatchStatusTypeReverted: db = db.Where("batch_index = ?", l1BatchEvent.BatchIndex) db = db.Where("batch_hash = ?", l1BatchEvent.BatchHash) @@ -118,6 +122,7 @@ func (c *BatchEvent) InsertOrUpdateBatchEvents(ctx context.Context, l1BatchEvent db = db.Where("batch_index <= ?", maxFinalizedBatchIndex) db = db.Where("batch_status != ?", btypes.BatchStatusTypeFinalized) updateFields["batch_status"] = btypes.BatchStatusTypeFinalized + updateFields["l1_block_number"] = maxL1BlockNumber if err := db.Updates(updateFields).Error; err != nil { return fmt.Errorf("failed to update batch event, error: %w", err) }