diff --git a/src/base/net/stratum/EthStratumClient.cpp b/src/base/net/stratum/EthStratumClient.cpp index a7529134..232f37e4 100644 --- a/src/base/net/stratum/EthStratumClient.cpp +++ b/src/base/net/stratum/EthStratumClient.cpp @@ -247,6 +247,17 @@ 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) { + if (!isQuiet()) { + LOG_ERR("[%s] incompatible/disabled algorithm \"%s\" detected, reconnect", url(), algo.shortName()); + } + disconnect(); + return; + } + m_listener->onJobReceived(this, job, params); } } @@ -348,6 +359,7 @@ void EthStratumClient::OnAuthorizeResponse(const rapidjson::Value& result, bool LOG_DEBUG("Login succeeded"); m_authorized = true; + m_listener->onLoginSuccess(this); } }