From 77a7f144c051270ae8be3f24bd76cc01ccedfdec Mon Sep 17 00:00:00 2001 From: SChernykh Date: Fri, 29 May 2020 10:49:22 +0200 Subject: [PATCH] KawPow: fixed switch back from dev donate --- src/base/net/stratum/EthStratumClient.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/base/net/stratum/EthStratumClient.cpp b/src/base/net/stratum/EthStratumClient.cpp index 232f37e4..52ffe35e 100644 --- a/src/base/net/stratum/EthStratumClient.cpp +++ b/src/base/net/stratum/EthStratumClient.cpp @@ -84,6 +84,7 @@ int64_t EthStratumClient::submit(const JobResult& result) # endif if (result.diff == 0) { + LOG_ERR("result.diff is 0"); disconnect(); return -1; } @@ -258,7 +259,16 @@ void EthStratumClient::parseNotification(const char* method, const rapidjson::Va return; } - m_listener->onJobReceived(this, job, params); + if (m_job != job) { + m_job = std::move(job); + m_listener->onJobReceived(this, m_job, params); + } + else { + if (!isQuiet()) { + LOG_WARN("[%s] duplicate job received, reconnect", url()); + } + disconnect(); + } } } @@ -339,13 +349,13 @@ void EthStratumClient::OnSubscribeResponse(const rapidjson::Value& result, bool void EthStratumClient::OnAuthorizeResponse(const rapidjson::Value& result, bool success, uint64_t elapsed) { if (!success) { + LOG_ERR("mining.authorize call failed"); disconnect(); return; } if (!result.IsBool()) { LOG_ERR("Invalid mining.authorize response: result is not a boolean"); - disconnect(); return; }