Browse Source
Merge pull request #2239 from SChernykh/dev
Fixed broken "coin" setting functionality
pull/2261/head
xmrig
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
19 additions and
7 deletions
-
src/base/net/stratum/Client.cpp
-
src/base/net/stratum/DaemonClient.cpp
-
src/base/net/stratum/SelfSelectClient.cpp
|
|
@ -379,11 +379,16 @@ bool xmrig::Client::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
} |
|
|
|
|
|
|
|
const char *algo = Json::getString(params, "algo"); |
|
|
|
const char *blobData = Json::getString(params, "blob"); |
|
|
|
if (algo) { |
|
|
|
job.setAlgorithm(algo); |
|
|
|
} |
|
|
|
else if (m_pool.coin().isValid()) { |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); |
|
|
|
uint8_t blobVersion = 0; |
|
|
|
if (blobData) { |
|
|
|
Cvt::fromHex(&blobVersion, 1, blobData, 2); |
|
|
|
} |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(blobVersion)); |
|
|
|
} |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_HTTP |
|
|
@ -399,7 +404,7 @@ bool xmrig::Client::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
else |
|
|
|
# endif |
|
|
|
{ |
|
|
|
if (!job.setBlob(params["blob"].GetString())) { |
|
|
|
if (!job.setBlob(blobData)) { |
|
|
|
*code = 4; |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
@ -248,7 +248,9 @@ bool xmrig::DaemonClient::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
} |
|
|
|
|
|
|
|
if (m_pool.coin().isValid()) { |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); |
|
|
|
uint8_t blobVersion = 0; |
|
|
|
Cvt::fromHex(&blobVersion, 1, m_blockhashingblob.data(), 2); |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(blobVersion)); |
|
|
|
} |
|
|
|
|
|
|
|
if (blocktemplate.isNull() || !job.setBlob(m_blockhashingblob)) { |
|
|
|
|
|
@ -130,12 +130,17 @@ bool xmrig::SelfSelectClient::parseResponse(int64_t id, rapidjson::Value &result |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (!m_job.setBlob(result[kBlockhashingBlob].GetString())) { |
|
|
|
return false; |
|
|
|
const char *blobData = Json::getString(result, kBlockhashingBlob); |
|
|
|
if (pool().coin().isValid()) { |
|
|
|
uint8_t blobVersion = 0; |
|
|
|
if (blobData) { |
|
|
|
Cvt::fromHex(&blobVersion, 1, blobData, 2); |
|
|
|
} |
|
|
|
m_job.setAlgorithm(pool().coin().algorithm(blobVersion)); |
|
|
|
} |
|
|
|
|
|
|
|
if (pool().coin().isValid()) { |
|
|
|
m_job.setAlgorithm(pool().coin().algorithm(m_job.blob()[0])); |
|
|
|
if (!m_job.setBlob(blobData)) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
m_job.setHeight(Json::getUint64(result, kHeight)); |
|
|
|