Skip to content

Commit

Permalink
listen to head event for canonical chain tracking to avoid dora from …
Browse files Browse the repository at this point in the history
…jumping between forks
  • Loading branch information
pk910 committed Jul 28, 2024
1 parent 92adfcb commit 94a31e1
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion indexer/consensus_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ func (client *ConsensusClient) processClientEvents() error {
client.retryCounter = 0

// start event stream
blockStream := client.rpcClient.NewBlockStream(rpc.StreamBlockEvent | rpc.StreamFinalizedEvent)
blockStream := client.rpcClient.NewBlockStream(rpc.StreamBlockEvent | rpc.StreamHeadEvent | rpc.StreamFinalizedEvent)
defer blockStream.Close()

// prefill cache
Expand Down Expand Up @@ -305,6 +305,8 @@ func (client *ConsensusClient) processClientEvents() error {
switch evt.Event {
case rpc.StreamBlockEvent:
client.processBlockEvent(evt.Data.(*v1.BlockEvent))
case rpc.StreamHeadEvent:
client.processHeadEvent(evt.Data.(*v1.HeadEvent))
case rpc.StreamFinalizedEvent:
client.processFinalizedEvent(evt.Data.(*v1.FinalizedCheckpointEvent))
}
Expand Down Expand Up @@ -612,6 +614,10 @@ func (client *ConsensusClient) processBlockEvent(evt *v1.BlockEvent) error {
if err != nil {
return err
}
return nil
}

func (client *ConsensusClient) processHeadEvent(evt *v1.HeadEvent) error {
client.setHeadBlock(evt.Block[:], uint64(evt.Slot))
return nil
}
Expand Down

0 comments on commit 94a31e1

Please sign in to comment.