diff --git a/configs/config.go b/configs/config.go index 8147e80..1d55279 100644 --- a/configs/config.go +++ b/configs/config.go @@ -79,6 +79,7 @@ type Config struct { RedisPassword string `env:"REDIS_PASSWORD"` RedisDB int `env:"REDIS_DB" envDefault:"0"` ValidationMode string `env:"VALIDATION_MODE" envDefault:"minimal"` + CommitterStartFromBlock int64 `env:"COMMITTER_START_FROM_BLOCK" envDefault:"0"` } var Cfg Config diff --git a/internal/committer/committer.go b/internal/committer/committer.go index 0c99808..d82d504 100644 --- a/internal/committer/committer.go +++ b/internal/committer/committer.go @@ -102,6 +102,9 @@ func getLastTrackedBlockNumberAndBlockRangesFromS3() (int64, []types.BlockRange, log.Error().Err(err).Msg("Failed to get max block number from ClickHouse") return -1, nil, err } + if maxBlockNumber == -1 && config.Cfg.CommitterStartFromBlock > 0 { + maxBlockNumber = config.Cfg.CommitterStartFromBlock - 1 + } log.Debug().Int64("max_block_number", maxBlockNumber).Msg("Retrieved max block number from ClickHouse.(-1 means nothing committed yet, start from 0)") blockRanges, err := libs.GetBlockRangesFromS3(maxBlockNumber)