Skip to content

Commit 86d8a2d

Browse files
committed
nit
1 parent 34a7890 commit 86d8a2d

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

pkg/store/store_adapter.go

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ type StoreAdapter[H EntityWithDAHint[H]] struct {
151151
onDeleteFn func(context.Context, uint64) error
152152
}
153153

154-
// NewStoreAdapter creates a new StoreAdapter wrapping the given store getter.
154+
// NewStoreAdapter creates a new StoreAdapter wrapping the given store getter and backing Store.
155155
// The genesis is used to determine the initial height for efficient Tail lookups.
156-
func NewStoreAdapter[H EntityWithDAHint[H]](getter StoreGetter[H], gen genesis.Genesis) *StoreAdapter[H] {
156+
func NewStoreAdapter[H EntityWithDAHint[H]](getter StoreGetter[H], store Store, gen genesis.Genesis) *StoreAdapter[H] {
157157
// Create LRU cache for pending items - ignore error as size is constant and valid
158158
pendingCache, _ := lru.New[uint64, H](defaultPendingCacheSize)
159159
daHintsCache, _ := lru.New[uint64, uint64](defaultPendingCacheSize)
@@ -166,6 +166,7 @@ func NewStoreAdapter[H EntityWithDAHint[H]](getter StoreGetter[H], gen genesis.G
166166

167167
adapter := &StoreAdapter[H]{
168168
getter: getter,
169+
store: store,
169170
genesisInitialHeight: max(gen.InitialHeight, 1),
170171
pending: pendingCache,
171172
daHints: daHintsCache,
@@ -252,7 +253,6 @@ func (a *StoreAdapter[H]) Head(ctx context.Context, _ ...header.HeadOption[H]) (
252253
// Tail returns the lowest item in the store.
253254
// For ev-node, this is typically the genesis/initial height.
254255
// If pruning has occurred, it walks up from initialHeight to find the first available item.
255-
// TODO(@julienrbrt): Optimize this when pruning is enabled.
256256
func (a *StoreAdapter[H]) Tail(ctx context.Context) (H, error) {
257257
var zero H
258258

@@ -270,12 +270,10 @@ func (a *StoreAdapter[H]) Tail(ctx context.Context) (H, error) {
270270
// genesis initial height, but if pruning metadata is available we can
271271
// skip directly past fully-pruned ranges.
272272
startHeight := a.genesisInitialHeight
273-
if a.store != nil {
274-
if meta, err := a.store.GetMetadata(ctx, LastPrunedBlockHeightKey); err == nil && len(meta) == heightLength {
275-
if lastPruned, err := decodeHeight(meta); err == nil {
276-
if candidate := lastPruned + 1; candidate > startHeight {
277-
startHeight = candidate
278-
}
273+
if meta, err := a.store.GetMetadata(ctx, LastPrunedBlockHeightKey); err == nil && len(meta) == heightLength {
274+
if lastPruned, err := decodeHeight(meta); err == nil {
275+
if candidate := lastPruned + 1; candidate > startHeight {
276+
startHeight = candidate
279277
}
280278
}
281279
}
@@ -732,15 +730,11 @@ type DataStoreAdapter = StoreAdapter[*types.P2PData]
732730
// NewHeaderStoreAdapter creates a new StoreAdapter for headers.
733731
// The genesis is used to determine the initial height for efficient Tail lookups.
734732
func NewHeaderStoreAdapter(store Store, gen genesis.Genesis) *HeaderStoreAdapter {
735-
adapter := NewStoreAdapter(NewHeaderStoreGetter(store), gen)
736-
adapter.store = store
737-
return adapter
733+
return NewStoreAdapter(NewHeaderStoreGetter(store), store, gen)
738734
}
739735

740736
// NewDataStoreAdapter creates a new StoreAdapter for data.
741737
// The genesis is used to determine the initial height for efficient Tail lookups.
742738
func NewDataStoreAdapter(store Store, gen genesis.Genesis) *DataStoreAdapter {
743-
adapter := NewStoreAdapter(NewDataStoreGetter(store), gen)
744-
adapter.store = store
745-
return adapter
739+
return NewStoreAdapter(NewDataStoreGetter(store), store, gen)
746740
}

0 commit comments

Comments
 (0)