Skip to content

Commit ea28e37

Browse files
authored
fix(store): stop doing header verification in GetRangeByHeight (#180)
1 parent 42060b2 commit ea28e37

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

store/store.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -260,14 +260,6 @@ func (s *Store[H]) GetRangeByHeight(
260260
if err != nil {
261261
return nil, err
262262
}
263-
264-
for _, h := range headers {
265-
err := from.Verify(h)
266-
if err != nil {
267-
return nil, err
268-
}
269-
from = h
270-
}
271263
return headers, nil
272264
}
273265

store/store_test.go

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,29 @@ func TestStore_GetRangeByHeight_ExpectedRange(t *testing.T) {
136136
assert.Equal(t, lastHeaderInRangeHeight, out[len(out)-1].Height())
137137
}
138138

139+
func TestStore_Append_BadHeader(t *testing.T) {
140+
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
141+
t.Cleanup(cancel)
142+
143+
suite := headertest.NewTestSuite(t)
144+
145+
ds := sync.MutexWrap(datastore.NewMapDatastore())
146+
store, err := NewStoreWithHead(ctx, ds, suite.Head())
147+
require.NoError(t, err)
148+
149+
err = store.Start(ctx)
150+
require.NoError(t, err)
151+
152+
head, err := store.Head(ctx)
153+
require.NoError(t, err)
154+
assert.EqualValues(t, suite.Head().Hash(), head.Hash())
155+
156+
in := suite.GenDummyHeaders(10)
157+
in[0].VerifyFailure = true
158+
err = store.Append(ctx, in...)
159+
require.Error(t, err)
160+
}
161+
139162
// TestStore_GetRange tests possible combinations of requests and ensures that
140163
// the store can handle them adequately (even malformed requests)
141164
func TestStore_GetRange(t *testing.T) {
@@ -159,7 +182,7 @@ func TestStore_GetRange(t *testing.T) {
159182
err = store.Append(ctx, in...)
160183
require.NoError(t, err)
161184

162-
var tests = []struct {
185+
tests := []struct {
163186
name string
164187
from uint64
165188
to uint64
@@ -212,7 +235,6 @@ func TestStore_GetRange(t *testing.T) {
212235
assert.Equal(t, lastHeaderInRangeHeight, out[len(out)-1].Height())
213236
})
214237
}
215-
216238
}
217239

218240
func TestStorePendingCacheMiss(t *testing.T) {

0 commit comments

Comments
 (0)