From afb9621f01da2f8b1129d6eb165aed6cf2e6c585 Mon Sep 17 00:00:00 2001 From: Dario Gabriel Lipicar Date: Tue, 27 Jun 2023 10:11:41 -0300 Subject: [PATCH] fix: protect OpenSea instances with a mutex --- services/wallet/thirdparty/opensea/client.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/wallet/thirdparty/opensea/client.go b/services/wallet/thirdparty/opensea/client.go index d22ee1c3f..4f870314f 100644 --- a/services/wallet/thirdparty/opensea/client.go +++ b/services/wallet/thirdparty/opensea/client.go @@ -46,6 +46,7 @@ func getbaseURL(chainID uint64) (string, error) { } var OpenseaClientInstances = make(map[uint64]*Client) +var OpenseaClientInstancesLock = sync.RWMutex{} var OpenseaHTTPClient *HTTPClient = nil type TraitValue string @@ -247,6 +248,9 @@ type Client struct { // new opensea client. func NewOpenseaClient(chainID uint64, apiKey string, feed *event.Feed) (*Client, error) { + OpenseaClientInstancesLock.Lock() + defer OpenseaClientInstancesLock.Unlock() + if OpenseaHTTPClient == nil { OpenseaHTTPClient = newHTTPClient() }