@@ -14,6 +14,7 @@ import (
1414 v1 "github.com/attestantio/go-eth2-client/api/v1"
1515 "github.com/attestantio/go-eth2-client/spec/phase0"
1616 "github.com/base-org/blob-archiver/common/storage"
17+ "github.com/base-org/blob-archiver/validator/flags"
1718 "github.com/ethereum-optimism/optimism/op-service/retry"
1819 "github.com/ethereum/go-ethereum/log"
1920)
@@ -29,14 +30,21 @@ const (
2930 retryAttempts = 10
3031)
3132
32- func NewValidator (l log.Logger , headerClient client.BeaconBlockHeadersProvider , beaconAPI BlobSidecarClient , blobAPI BlobSidecarClient , app context.CancelCauseFunc , numBlocks int ) * ValidatorService {
33+ var (
34+ formatSettingToHeader = map [string ]Format {
35+ "json" : FormatJson ,
36+ "ssz" : FormatSSZ ,
37+ }
38+ )
39+
40+ func NewValidator (l log.Logger , headerClient client.BeaconBlockHeadersProvider , beaconAPI BlobSidecarClient , blobAPI BlobSidecarClient , app context.CancelCauseFunc , cfg flags.ValidatorConfig ) * ValidatorService {
3341 return & ValidatorService {
3442 log : l ,
3543 headerClient : headerClient ,
3644 beaconAPI : beaconAPI ,
3745 blobAPI : blobAPI ,
3846 closeApp : app ,
39- numBlocks : numBlocks ,
47+ cfg : cfg ,
4048 }
4149}
4250
@@ -47,7 +55,7 @@ type ValidatorService struct {
4755 beaconAPI BlobSidecarClient
4856 blobAPI BlobSidecarClient
4957 closeApp context.CancelCauseFunc
50- numBlocks int
58+ cfg flags. ValidatorConfig
5159}
5260
5361// Start starts the validator service. This will fetch the current range of blocks to validate and start the validation
@@ -64,7 +72,7 @@ func (a *ValidatorService) Start(ctx context.Context) error {
6472 }
6573
6674 end := header .Data .Header .Message .Slot - finalizedL1Offset
67- start := end - phase0 .Slot (a .numBlocks )
75+ start := end - phase0 .Slot (a .cfg . NumBlocks )
6876
6977 go a .checkBlobs (ctx , start , end )
7078
@@ -126,7 +134,9 @@ func (a *ValidatorService) checkBlobs(ctx context.Context, start phase0.Slot, en
126134 var result CheckBlobResult
127135
128136 for slot := start ; slot <= end ; slot ++ {
129- for _ , format := range []Format {FormatJson , FormatSSZ } {
137+ for _ , setting := range a .cfg .ValidateFormats {
138+ format := formatSettingToHeader [setting ]
139+
130140 id := strconv .FormatUint (uint64 (slot ), 10 )
131141
132142 l := a .log .New ("format" , format , "slot" , slot )
0 commit comments