From bdbb7f891fc6e0840e8a4b3c49b0fd05e7c90380 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Fri, 29 May 2020 08:31:53 +0200 Subject: [PATCH 1/3] Fixed stratum login notification --- src/base/net/stratum/EthStratumClient.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/base/net/stratum/EthStratumClient.cpp b/src/base/net/stratum/EthStratumClient.cpp index a7529134..d4f983fe 100644 --- a/src/base/net/stratum/EthStratumClient.cpp +++ b/src/base/net/stratum/EthStratumClient.cpp @@ -348,6 +348,7 @@ void EthStratumClient::OnAuthorizeResponse(const rapidjson::Value& result, bool LOG_DEBUG("Login succeeded"); m_authorized = true; + m_listener->onLoginSuccess(this); } } From 9864ba8696199e7298137ca9ae1262f53df71aab Mon Sep 17 00:00:00 2001 From: SChernykh Date: Fri, 29 May 2020 08:36:59 +0200 Subject: [PATCH 2/3] Added listener verify callback --- src/base/net/stratum/EthStratumClient.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/base/net/stratum/EthStratumClient.cpp b/src/base/net/stratum/EthStratumClient.cpp index d4f983fe..378a8ccb 100644 --- a/src/base/net/stratum/EthStratumClient.cpp +++ b/src/base/net/stratum/EthStratumClient.cpp @@ -247,6 +247,15 @@ void EthStratumClient::parseNotification(const char* method, const rapidjson::Va job.setHeight(arr[5].GetUint64()); + bool ok = true; + m_listener->onVerifyAlgorithm(this, algo, &ok); + + if (!ok && !isQuiet()) { + LOG_ERR("[%s] incompatible/disabled algorithm \"%s\" detected, reconnect", url(), algo.shortName()); + disconnect(); + return; + } + m_listener->onJobReceived(this, job, params); } } From 4edcaa03bec21f216c63a3068ebee5d82e5badfc Mon Sep 17 00:00:00 2001 From: SChernykh Date: Fri, 29 May 2020 08:39:03 +0200 Subject: [PATCH 3/3] Update EthStratumClient.cpp --- src/base/net/stratum/EthStratumClient.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/base/net/stratum/EthStratumClient.cpp b/src/base/net/stratum/EthStratumClient.cpp index 378a8ccb..232f37e4 100644 --- a/src/base/net/stratum/EthStratumClient.cpp +++ b/src/base/net/stratum/EthStratumClient.cpp @@ -250,8 +250,10 @@ void EthStratumClient::parseNotification(const char* method, const rapidjson::Va bool ok = true; m_listener->onVerifyAlgorithm(this, algo, &ok); - if (!ok && !isQuiet()) { - LOG_ERR("[%s] incompatible/disabled algorithm \"%s\" detected, reconnect", url(), algo.shortName()); + if (!ok) { + if (!isQuiet()) { + LOG_ERR("[%s] incompatible/disabled algorithm \"%s\" detected, reconnect", url(), algo.shortName()); + } disconnect(); return; }