diff --git a/src/net/Client.cpp b/src/net/Client.cpp index d2ecf074..21e1c076 100644 --- a/src/net/Client.cpp +++ b/src/net/Client.cpp @@ -52,6 +52,7 @@ int64_t Client::m_sequence = 1; Client::Client(int id, const char *agent, IClientListener *listener) : m_quiet(false), m_nicehash(false), + m_donate(false), m_agent(agent), m_listener(listener), m_id(id), @@ -231,7 +232,7 @@ bool Client::parseJob(const rapidjson::Value ¶ms, int *code) PowVariant powVariant = Options::i()->powVariant(); - if (!Options::i()->forcePowVariant()) { + if (!Options::i()->forcePowVariant() || m_donate) { if (params.HasMember("algo")) { std::string algo = params["algo"].GetString(); diff --git a/src/net/Client.h b/src/net/Client.h index 2cb5175b..a42fdb4e 100644 --- a/src/net/Client.h +++ b/src/net/Client.h @@ -67,6 +67,7 @@ public: inline int id() const { return m_id; } inline uint16_t port() const { return m_url.port(); } inline void setQuiet(bool quiet) { m_quiet = quiet; } + inline void setDonate(bool donate) { m_donate = donate; } inline void setRetryPause(int ms) { m_retryPause = ms; } static void onConnected(uv_async_t *handle); @@ -99,6 +100,7 @@ private: bool m_quiet; bool m_nicehash; + bool m_donate; char m_buf[2048]; char m_rpcId[64]; char m_sendBuf[768]; diff --git a/src/net/strategies/DonateStrategy.cpp b/src/net/strategies/DonateStrategy.cpp index b3313a5a..b1319a1d 100644 --- a/src/net/strategies/DonateStrategy.cpp +++ b/src/net/strategies/DonateStrategy.cpp @@ -81,6 +81,7 @@ DonateStrategy::DonateStrategy(const char *agent, IStrategyListener *listener) : m_client->setUrl(url); m_client->setRetryPause(Options::i()->retryPause() * 1000); m_client->setQuiet(true); + m_client->setDonate(true); delete url;