@@ -16,32 +16,42 @@ import (
16
16
"github.com/cometbft/cometbft/state/txindex/null"
17
17
)
18
18
19
- // EventSinksFromConfig constructs a slice of indexer.EventSink using the provided
19
+ // IndexerFromConfig constructs a slice of indexer.EventSink using the provided
20
20
// configuration.
21
- //
22
- //nolint:lll
23
- func IndexerFromConfig (cfg * config.Config , dbProvider config.DBProvider , chainID string ) (txindex.TxIndexer , indexer.BlockIndexer , error ) {
21
+ func IndexerFromConfig (cfg * config.Config , dbProvider config.DBProvider , chainID string ) (
22
+ txIdx txindex.TxIndexer , blockIdx indexer.BlockIndexer , err error ,
23
+ ) {
24
+ txidx , blkidx , _ , err := IndexerFromConfigWithDisabledIndexers (cfg , dbProvider , chainID )
25
+ return txidx , blkidx , err
26
+ }
27
+
28
+ // IndexerFromConfigWithDisabledIndexers constructs a slice of indexer.EventSink using the provided
29
+ // configuration. If all indexers are disabled in the configuration, it returns null indexers.
30
+ // Otherwise, it creates the appropriate indexers based on the configuration.
31
+ func IndexerFromConfigWithDisabledIndexers (cfg * config.Config , dbProvider config.DBProvider , chainID string ) (
32
+ txIdx txindex.TxIndexer , blockIdx indexer.BlockIndexer , allIndexersDisabled bool , err error ,
33
+ ) {
24
34
switch cfg .TxIndex .Indexer {
25
35
case "kv" :
26
36
store , err := dbProvider (& config.DBContext {ID : "tx_index" , Config : cfg })
27
37
if err != nil {
28
- return nil , nil , err
38
+ return nil , nil , false , err
29
39
}
30
40
31
- return kv .NewTxIndex (store ), blockidxkv .New (dbm .NewPrefixDB (store , []byte ("block_events" ))), nil
41
+ return kv .NewTxIndex (store ), blockidxkv .New (dbm .NewPrefixDB (store , []byte ("block_events" ))), false , nil
32
42
33
43
case "psql" :
34
44
conn := cfg .TxIndex .PsqlConn
35
45
if conn == "" {
36
- return nil , nil , errors .New ("the psql connection settings cannot be empty" )
46
+ return nil , nil , false , errors .New ("the psql connection settings cannot be empty" )
37
47
}
38
48
es , err := psql .NewEventSink (cfg .TxIndex .PsqlConn , chainID )
39
49
if err != nil {
40
- return nil , nil , fmt .Errorf ("creating psql indexer: %w" , err )
50
+ return nil , nil , false , fmt .Errorf ("creating psql indexer: %w" , err )
41
51
}
42
- return es .TxIndexer (), es .BlockIndexer (), nil
52
+ return es .TxIndexer (), es .BlockIndexer (), false , nil
43
53
44
54
default :
45
- return & null.TxIndex {}, & blockidxnull.BlockerIndexer {}, nil
55
+ return & null.TxIndex {}, & blockidxnull.BlockerIndexer {}, true , nil
46
56
}
47
57
}
0 commit comments