XMRig
3 years ago
No known key found for this signature in database
GPG Key ID: 446A53638BE94409
3 changed files with
13 additions and
13 deletions
-
src/base/net/stratum/Client.cpp
-
src/base/net/stratum/DaemonClient.cpp
-
src/base/net/stratum/benchmark/BenchClient.cpp
|
|
@ -378,6 +378,14 @@ bool xmrig::Client::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
const char *algo = Json::getString(params, "algo"); |
|
|
|
if (algo) { |
|
|
|
job.setAlgorithm(algo); |
|
|
|
} |
|
|
|
else if (m_pool.coin().isValid()) { |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); |
|
|
|
} |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_HTTP |
|
|
|
if (m_pool.mode() == Pool::MODE_SELF_SELECT) { |
|
|
|
job.setExtraNonce(Json::getString(params, "extra_nonce")); |
|
|
@ -402,14 +410,6 @@ bool xmrig::Client::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
const char *algo = Json::getString(params, "algo"); |
|
|
|
if (algo) { |
|
|
|
job.setAlgorithm(algo); |
|
|
|
} |
|
|
|
else if (m_pool.coin().isValid()) { |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); |
|
|
|
} |
|
|
|
|
|
|
|
job.setHeight(Json::getUint64(params, "height")); |
|
|
|
|
|
|
|
if (!verifyAlgorithm(job.algorithm(), algo)) { |
|
|
|
|
|
@ -247,6 +247,10 @@ bool xmrig::DaemonClient::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
Cvt::toHex(m_blockhashingblob.data() + offset * 2, kBlobReserveSize * 2, Cvt::randomBytes(kBlobReserveSize).data(), kBlobReserveSize); |
|
|
|
} |
|
|
|
|
|
|
|
if (m_pool.coin().isValid()) { |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); |
|
|
|
} |
|
|
|
|
|
|
|
if (blocktemplate.isNull() || !job.setBlob(m_blockhashingblob)) { |
|
|
|
*code = 4; |
|
|
|
return false; |
|
|
@ -257,10 +261,6 @@ bool xmrig::DaemonClient::parseJob(const rapidjson::Value ¶ms, int *code) |
|
|
|
job.setDiff(Json::getUint64(params, "difficulty")); |
|
|
|
job.setId(blocktemplate.data() + blocktemplate.size() - 32); |
|
|
|
|
|
|
|
if (m_pool.coin().isValid()) { |
|
|
|
job.setAlgorithm(m_pool.coin().algorithm(job.blob()[0])); |
|
|
|
} |
|
|
|
|
|
|
|
m_job = std::move(job); |
|
|
|
m_blocktemplate = std::move(blocktemplate); |
|
|
|
m_prevHash = Json::getString(params, "prev_hash"); |
|
|
|
|
|
@ -48,8 +48,8 @@ xmrig::BenchClient::BenchClient(const std::shared_ptr<BenchConfig> &benchmark, I |
|
|
|
std::vector<char> blob(112 * 2 + 1, '0'); |
|
|
|
blob.back() = '\0'; |
|
|
|
|
|
|
|
m_job.setBlob(blob.data()); |
|
|
|
m_job.setAlgorithm(m_benchmark->algorithm()); |
|
|
|
m_job.setBlob(blob.data()); |
|
|
|
m_job.setDiff(std::numeric_limits<uint64_t>::max()); |
|
|
|
m_job.setHeight(1); |
|
|
|
m_job.setId("00000000"); |
|
|
|