diff --git a/statediff/service/service.go b/statediff/service/service.go index 065b0ea18..539a845b9 100644 --- a/statediff/service/service.go +++ b/statediff/service/service.go @@ -58,20 +58,20 @@ func (sds *StateDiffService) Loop(chainEventCh chan core.ChainEvent) { quitCh := make(chan struct{}) go func() { - HandleLoop: - for { - select { - //Notify chain event channel of events - case chainEvent := <-chainEventCh: - log.Debug("Event received from chainEventCh", "event", chainEvent) - blocksCh <- chainEvent.Block - //if node stopped - case err := <-errCh: - log.Debug("Error from chain event subscription, breaking loop.", "error", err) - break HandleLoop - } + HandleLoop: + for { + select { + //Notify chain event channel of events + case chainEvent := <-chainEventCh: + log.Debug("Event received from chainEventCh", "event", chainEvent) + blocksCh <- chainEvent.Block + //if node stopped + case err := <-errCh: + log.Debug("Error from chain event subscription, breaking loop.", "error", err) + break HandleLoop } - close(quitCh) + } + close(quitCh) }() //loop through chain events until no more diff --git a/statediff/testhelpers/mocks/blockchain.go b/statediff/testhelpers/mocks/blockchain.go index 0ea92fa9e..824ae3263 100644 --- a/statediff/testhelpers/mocks/blockchain.go +++ b/statediff/testhelpers/mocks/blockchain.go @@ -1,11 +1,11 @@ package mocks import ( + "errors" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" - "errors" ) type BlockChain struct {