From 792dd790c1d9fc93a1cce017d547f557f0793002 Mon Sep 17 00:00:00 2001 From: "Alisher A. Khassanov" Date: Fri, 15 Mar 2024 17:03:40 +0500 Subject: [PATCH] Complete with old blocks, then subscribe for new --- blockchain/client.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/blockchain/client.go b/blockchain/client.go index 1c4f30e..3796468 100644 --- a/blockchain/client.go +++ b/blockchain/client.go @@ -116,10 +116,6 @@ func (c *Client) RegisterEventsListener(begin types.BlockNumber, callback Events } } - c.mu.Lock() - c.eventsListeners[idx] = callback - c.mu.Unlock() - stopped := false go func() { @@ -189,6 +185,12 @@ func (c *Client) RegisterEventsListener(begin types.BlockNumber, callback Events callback(events, header.Number, set.Block) } } + + c.mu.Lock() + if !stopped { + c.eventsListeners[idx] = callback + } + c.mu.Unlock() }() once := sync.Once{}