Avoid using indexer object when direct indexing is off

This commit is contained in:
Prathamesh Musale 2022-07-25 11:07:40 +05:30
parent 209f7d37c2
commit 155e6d2010

View File

@ -170,7 +170,8 @@ func New(stack *node.Node, ethServ *eth.Ethereum, cfg *ethconfig.Config, params
var db sql.Database var db sql.Database
var err error var err error
quitCh := make(chan bool) quitCh := make(chan bool)
if params.IndexerConfig != nil { indexerConfigAvailable := params.IndexerConfig != nil
if indexerConfigAvailable {
info := nodeinfo.Info{ info := nodeinfo.Info{
GenesisBlock: blockChain.Genesis().Hash().Hex(), GenesisBlock: blockChain.Genesis().Hash().Hex(),
NetworkID: strconv.FormatUint(cfg.NetworkId, 10), NetworkID: strconv.FormatUint(cfg.NetworkId, 10),
@ -201,11 +202,13 @@ func New(stack *node.Node, ethServ *eth.Ethereum, cfg *ethconfig.Config, params
statediffMetrics: statediffMetrics, statediffMetrics: statediffMetrics,
sqlFileWaitingForWrite: false, sqlFileWaitingForWrite: false,
} }
if params.IndexerConfig.Type() == shared.POSTGRES { if indexerConfigAvailable {
knownGaps.checkForGaps = true if params.IndexerConfig.Type() == shared.POSTGRES {
} else { knownGaps.checkForGaps = true
log.Info("We are not going to check for gaps on start up since we are not connected to Postgres!") } else {
knownGaps.checkForGaps = false log.Info("We are not going to check for gaps on start up since we are not connected to Postgres!")
knownGaps.checkForGaps = false
}
} }
sds := &Service{ sds := &Service{
Mutex: sync.Mutex{}, Mutex: sync.Mutex{},
@ -226,9 +229,11 @@ func New(stack *node.Node, ethServ *eth.Ethereum, cfg *ethconfig.Config, params
stack.RegisterLifecycle(sds) stack.RegisterLifecycle(sds)
stack.RegisterAPIs(sds.APIs()) stack.RegisterAPIs(sds.APIs())
err = loadWatchedAddresses(indexer) if indexerConfigAvailable {
if err != nil { err = loadWatchedAddresses(indexer)
return err if err != nil {
return err
}
} }
return nil return nil
@ -927,9 +932,11 @@ func (sds *Service) WatchAddress(operation types2.OperationType, args []types2.W
} }
// update the db // update the db
err = sds.indexer.InsertWatchedAddresses(filteredArgs, currentBlockNumber) if sds.indexer != nil {
if err != nil { err = sds.indexer.InsertWatchedAddresses(filteredArgs, currentBlockNumber)
return err if err != nil {
return err
}
} }
// update in-memory params // update in-memory params
@ -949,9 +956,11 @@ func (sds *Service) WatchAddress(operation types2.OperationType, args []types2.W
} }
// update the db // update the db
err = sds.indexer.RemoveWatchedAddresses(args) if sds.indexer != nil {
if err != nil { err = sds.indexer.RemoveWatchedAddresses(args)
return err if err != nil {
return err
}
} }
// update in-memory params // update in-memory params
@ -965,9 +974,11 @@ func (sds *Service) WatchAddress(operation types2.OperationType, args []types2.W
} }
// update the db // update the db
err = sds.indexer.SetWatchedAddresses(args, currentBlockNumber) if sds.indexer != nil {
if err != nil { err = sds.indexer.SetWatchedAddresses(args, currentBlockNumber)
return err if err != nil {
return err
}
} }
// update in-memory params // update in-memory params
@ -975,9 +986,11 @@ func (sds *Service) WatchAddress(operation types2.OperationType, args []types2.W
writeLoopParams.ComputeWatchedAddressesLeafPaths() writeLoopParams.ComputeWatchedAddressesLeafPaths()
case types2.Clear: case types2.Clear:
// update the db // update the db
err := sds.indexer.ClearWatchedAddresses() if sds.indexer != nil {
if err != nil { err := sds.indexer.ClearWatchedAddresses()
return err if err != nil {
return err
}
} }
// update in-memory params // update in-memory params