Merged features for # 1.6.3 (#114)
- Added shift+click function for multi row selection to Dashboard - Added -DBUILD_STATIC=ON/OFF option to CMake configuration to create fully static builds - Added current algo and list of supported_varaints to login message for future usage on proxy - Added support for latest Stellite (XTL) and Alloy (XAO) variants - Simplification of configuration, "force-pow-variant" and "cryptonight-lite-ipbc" parameters are now deprecated see [Coin Configuration](https://github.com/Bendr0id/xmrigCC/wiki/Coin-configurations) for guidance - Fixed leaks in transport shutdown
This commit is contained in:
parent
dc6bcacaed
commit
f54ce3c95c
25 changed files with 654 additions and 431 deletions
|
@ -30,6 +30,8 @@
|
|||
#include <uv.h>
|
||||
#include <Options.h>
|
||||
|
||||
#include "PowVariant.h"
|
||||
|
||||
#include "interfaces/IClientListener.h"
|
||||
#include "log/Log.h"
|
||||
#include "net/Client.h"
|
||||
|
@ -224,26 +226,34 @@ bool Client::parseJob(const rapidjson::Value ¶ms, int *code)
|
|||
return false;
|
||||
}
|
||||
|
||||
if (params.HasMember("variant")) {
|
||||
int variantFromProxy = params["variant"].GetInt();
|
||||
PowVariant powVariant = Options::i()->powVariant();
|
||||
|
||||
switch (variantFromProxy) {
|
||||
case -1:
|
||||
job.setPowVersion(Options::POW_AUTODETECT);
|
||||
break;
|
||||
case 0:
|
||||
job.setPowVersion(Options::POW_V1);
|
||||
break;
|
||||
case 1:
|
||||
job.setPowVersion(Options::POW_V2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
if (params.HasMember("algo")) {
|
||||
std::string algo = params["algo"].GetString();
|
||||
|
||||
if (algo.find("/") != std::string::npos) {
|
||||
powVariant = parseVariant(algo.substr(algo.find("/")+1));
|
||||
}
|
||||
} else {
|
||||
job.setPowVersion(Options::i()->forcePowVersion());
|
||||
}
|
||||
|
||||
if (params.HasMember("variant")) {
|
||||
const rapidjson::Value &variant = params["variant"];
|
||||
|
||||
PowVariant parsedVariant = powVariant;
|
||||
|
||||
if (variant.IsInt()) {
|
||||
parsedVariant = parseVariant(variant.GetInt());
|
||||
} else if (variant.IsString()) {
|
||||
parsedVariant = parseVariant(variant.GetString());
|
||||
}
|
||||
|
||||
if (parsedVariant != POW_AUTODETECT) {
|
||||
powVariant = parsedVariant;
|
||||
}
|
||||
}
|
||||
|
||||
job.setPowVariant(powVariant);
|
||||
|
||||
if (m_job != job) {
|
||||
m_jobs++;
|
||||
m_job = std::move(job);
|
||||
|
@ -350,6 +360,15 @@ void Client::login()
|
|||
params.AddMember("pass", rapidjson::StringRef(m_url.password()), allocator);
|
||||
params.AddMember("agent", rapidjson::StringRef(m_agent), allocator);
|
||||
|
||||
params.AddMember("algo", rapidjson::StringRef(Options::i()->algoShortName()), allocator);
|
||||
|
||||
rapidjson::Value supportedPowVariantsList(rapidjson::kArrayType);
|
||||
for (auto& supportedPowVariant : getSupportedPowVariants()) {
|
||||
supportedPowVariantsList.PushBack(rapidjson::StringRef(supportedPowVariant.c_str()), allocator);
|
||||
}
|
||||
|
||||
params.AddMember("supported-variants", supportedPowVariantsList, allocator);
|
||||
|
||||
doc.AddMember("params", params, allocator);
|
||||
|
||||
rapidjson::StringBuffer buffer(0, 512);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue