@@ -14,6 +14,7 @@ import (
14
14
v1 "github.com/attestantio/go-eth2-client/api/v1"
15
15
"github.com/attestantio/go-eth2-client/spec/phase0"
16
16
"github.com/base-org/blob-archiver/common/storage"
17
+ "github.com/base-org/blob-archiver/validator/flags"
17
18
"github.com/ethereum-optimism/optimism/op-service/retry"
18
19
"github.com/ethereum/go-ethereum/log"
19
20
)
@@ -29,14 +30,21 @@ const (
29
30
retryAttempts = 10
30
31
)
31
32
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 {
33
41
return & ValidatorService {
34
42
log : l ,
35
43
headerClient : headerClient ,
36
44
beaconAPI : beaconAPI ,
37
45
blobAPI : blobAPI ,
38
46
closeApp : app ,
39
- numBlocks : numBlocks ,
47
+ cfg : cfg ,
40
48
}
41
49
}
42
50
@@ -47,7 +55,7 @@ type ValidatorService struct {
47
55
beaconAPI BlobSidecarClient
48
56
blobAPI BlobSidecarClient
49
57
closeApp context.CancelCauseFunc
50
- numBlocks int
58
+ cfg flags. ValidatorConfig
51
59
}
52
60
53
61
// 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 {
64
72
}
65
73
66
74
end := header .Data .Header .Message .Slot - finalizedL1Offset
67
- start := end - phase0 .Slot (a .numBlocks )
75
+ start := end - phase0 .Slot (a .cfg . NumBlocks )
68
76
69
77
go a .checkBlobs (ctx , start , end )
70
78
@@ -126,7 +134,9 @@ func (a *ValidatorService) checkBlobs(ctx context.Context, start phase0.Slot, en
126
134
var result CheckBlobResult
127
135
128
136
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
+
130
140
id := strconv .FormatUint (uint64 (slot ), 10 )
131
141
132
142
l := a .log .New ("format" , format , "slot" , slot )
0 commit comments