github.com/KYVENetwork/cometbft/v38@v38.0.3/state/indexer/block.go (about) 1 package indexer 2 3 import ( 4 "context" 5 6 "github.com/KYVENetwork/cometbft/v38/libs/log" 7 "github.com/KYVENetwork/cometbft/v38/libs/pubsub/query" 8 "github.com/KYVENetwork/cometbft/v38/types" 9 ) 10 11 //go:generate ../../scripts/mockery_generate.sh BlockIndexer 12 13 // BlockIndexer defines an interface contract for indexing block events. 14 type BlockIndexer interface { 15 // Has returns true if the given height has been indexed. An error is returned 16 // upon database query failure. 17 Has(height int64) (bool, error) 18 19 // Index indexes FinalizeBlock events for a given block by its height. 20 Index(types.EventDataNewBlockEvents) error 21 22 // Search performs a query for block heights that match a given FinalizeBlock 23 // event search criteria. 24 Search(ctx context.Context, q *query.Query) ([]int64, error) 25 26 SetLogger(l log.Logger) 27 }