diff --git a/tx-submitter/entry.go b/tx-submitter/entry.go index b44be5628..bc5675fcd 100644 --- a/tx-submitter/entry.go +++ b/tx-submitter/entry.go @@ -193,6 +193,10 @@ func Main() func(ctx *cli.Context) error { return fmt.Errorf("failed to connect leveldb: %w", err) } eventInfoStorage := event.NewEventInfoStorage(ldb) + err = eventInfoStorage.Load() + if err != nil { + return err + } eventIndexer := event.NewEventIndexer(l1Client, new(big.Int).SetUint64(cfg.L1StakingDeployedBlockNumber), filter, cfg.EventIndexStep, eventInfoStorage) // new rotator rotator := services.NewRotator(common.HexToAddress(cfg.L2SequencerAddress), common.HexToAddress(cfg.L2GovAddress), eventIndexer) diff --git a/tx-submitter/event/indexer.go b/tx-submitter/event/indexer.go index 0ba87ab5b..ab9058395 100644 --- a/tx-submitter/event/indexer.go +++ b/tx-submitter/event/indexer.go @@ -91,6 +91,9 @@ func (ei *EventIndexer) index(client *ethclient.Client, fromBlock, toBlock *big. endBlock := toBlock.Uint64() startBlock := endBlock - ei.indexStep lastProcessedBlock := fromBlock.Uint64() + if startBlock < lastProcessedBlock { + startBlock = lastProcessedBlock + } logFilter := ei.GetFilter() // Find the last unprocessed log @@ -123,6 +126,7 @@ func (ei *EventIndexer) index(client *ethclient.Client, fromBlock, toBlock *big. } } } + log.Info("backward indexing", "block_num", startBlock, "target_num", lastProcessedBlock) // update query range endBlock = startBlock if endBlock <= lastProcessedBlock+ei.indexStep { diff --git a/tx-submitter/services/rollup.go b/tx-submitter/services/rollup.go index a8d6e108f..9b0b6e964 100644 --- a/tx-submitter/services/rollup.go +++ b/tx-submitter/services/rollup.go @@ -1348,7 +1348,7 @@ func (r *Rollup) InitFeeMetricsSum() error { return fmt.Errorf("get data from leveldb faild, key: %s, %w", rollupSumKey, err) } } - log.Info("rollupFeeSum: %f", rollupFeeSum) + log.Info(fmt.Sprintf("rollupFeeSum: %f", rollupFeeSum)) finalizeFeeSum, err := r.ldb.GetFloat(finalizeSumKey) if err != nil { log.Warn("read finalizeFeeSum from leveldb failed", "error", err) @@ -1361,7 +1361,7 @@ func (r *Rollup) InitFeeMetricsSum() error { return fmt.Errorf("get data from leveldb faild, key: %s, %w", finalizeSumKey, err) } } - log.Info("finalizeFeeSum: %f", finalizeFeeSum) + log.Info(fmt.Sprintf("finalizeFeeSum: %f", finalizeFeeSum)) collectedL1FeeSum, err := r.ldb.GetFloat(collectedL1FeeSumKey) if err != nil { log.Warn("read collectedL1FeeSum from leveldb failed", "error", err) @@ -1375,7 +1375,7 @@ func (r *Rollup) InitFeeMetricsSum() error { } } r.collectedL1FeeSum = collectedL1FeeSum - log.Info("collectedL1FeeSum: %f", collectedL1FeeSum) + log.Info(fmt.Sprintf("collectedL1FeeSum: %f", collectedL1FeeSum)) r.rollupFeeSum = rollupFeeSum r.finalizeFeeSum = finalizeFeeSum