Add failover support to dev fee pool.
This commit is contained in:
parent
0d9d687c3d
commit
613f7422d1
1 changed files with 43 additions and 24 deletions
|
@ -174,22 +174,19 @@ xmrig::DonateStrategy::DonateStrategy(int level, const char *user, Algo algo, Va
|
|||
switch(variant) {
|
||||
case VARIANT_CHUKWA:
|
||||
algoEntry = "turtle";
|
||||
devPool = "trtl.muxdux.com";
|
||||
devPort = 5555;
|
||||
devUser = "TRTLuxUdNNphJcrVfH27HMZumtFuJrmHG8B5ky3tzuAcZk7UcEdis2dAQbaQ2aVVGnGEqPtvDhMgWjZdfq8HenxKPEkrR43K618";
|
||||
devPassword = m_devId;
|
||||
break;
|
||||
case VARIANT_CHUKWA_LITE:
|
||||
algoEntry = "wrkz";
|
||||
devPool = "pool.semipool.com";
|
||||
devPort = 33363;
|
||||
devUser = "Wrkzir5AUH11gBZQsjw75mFUzQuMPiQgYfvhG9MYjbpHFREHtDqHCLgJohSkA7cfn4GDfP7GzA9A8FXqxngkqnxt3GzvGy6Cbx";
|
||||
devPassword = m_devId;
|
||||
break;
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
if(algoEntry == "") // no donation for this algo/variant
|
||||
return;
|
||||
|
||||
bool donateParamsProcessed = false;
|
||||
|
||||
HttpInternalImpl donateConfigDownloader;
|
||||
std::string coinFeeData = donateConfigDownloader.httpGet("http://coinfee.changeling.biz/index.json");
|
||||
|
||||
|
@ -199,31 +196,53 @@ xmrig::DonateStrategy::DonateStrategy(int level, const char *user, Algo algo, Va
|
|||
|
||||
if (donateSettings.IsArray()) {
|
||||
auto store = donateSettings.GetArray();
|
||||
unsigned int size = store.Size();
|
||||
unsigned int idx = 0;
|
||||
if (size > 1)
|
||||
idx = rand() % size; // choose a random one
|
||||
for(int i=0; i<store.Size(); i++) {
|
||||
const rapidjson::Value &value = store[i];
|
||||
|
||||
const rapidjson::Value &value = store[idx];
|
||||
if (value.IsObject() &&
|
||||
(value.HasMember("pool") && value["pool"].IsString()) &&
|
||||
(value.HasMember("port") && value["port"].IsUint()) &&
|
||||
(value.HasMember("user") && value["user"].IsString()) &&
|
||||
(value.HasMember("password") && value["password"].IsString())) {
|
||||
|
||||
if (value.IsObject() &&
|
||||
(value.HasMember("pool") && value["pool"].IsString()) &&
|
||||
(value.HasMember("port") && value["port"].IsUint()) &&
|
||||
(value.HasMember("user") && value["user"].IsString()) &&
|
||||
(value.HasMember("password") && value["password"].IsString())) {
|
||||
devPool = value["pool"].GetString();
|
||||
devPort = value["port"].GetUint();
|
||||
devUser = replStr(value["user"].GetString(), "{ID}", m_devId.data());
|
||||
devPassword = replStr(value["password"].GetString(), "{ID}", m_devId.data());
|
||||
|
||||
devPool = value["pool"].GetString();
|
||||
devPort = value["port"].GetUint();
|
||||
devUser = replStr(value["user"].GetString(), "{ID}", m_devId.data());
|
||||
devPassword = replStr(value["password"].GetString(), "{ID}", m_devId.data());
|
||||
m_pools.push_back(Pool(devPool.data(), devPort, devUser, devPassword, false, false));
|
||||
|
||||
donateParamsProcessed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_pools.push_back(Pool(devPool.data(), devPort, devUser, devPassword, false, false));
|
||||
if(!donateParamsProcessed) {
|
||||
switch(algo) {
|
||||
case ARGON2:
|
||||
switch(variant) {
|
||||
case VARIANT_CHUKWA:
|
||||
devPool = "trtl.muxdux.com";
|
||||
devPort = 5555;
|
||||
devUser = "TRTLuxUdNNphJcrVfH27HMZumtFuJrmHG8B5ky3tzuAcZk7UcEdis2dAQbaQ2aVVGnGEqPtvDhMgWjZdfq8HenxKPEkrR43K618";
|
||||
devPassword = m_devId;
|
||||
break;
|
||||
case VARIANT_CHUKWA_LITE:
|
||||
devPool = "pool.semipool.com";
|
||||
devPort = 33363;
|
||||
devUser = "Wrkzir5AUH11gBZQsjw75mFUzQuMPiQgYfvhG9MYjbpHFREHtDqHCLgJohSkA7cfn4GDfP7GzA9A8FXqxngkqnxt3GzvGy6Cbx";
|
||||
devPassword = m_devId;
|
||||
break;
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
m_pools.push_back(Pool(devPool.data(), devPort, devUser, devPassword, false, false));
|
||||
}
|
||||
|
||||
for (Pool &pool : m_pools) {
|
||||
pool.adjust(Algorithm(algo, VARIANT_AUTO));
|
||||
pool.adjust(Algorithm(algo, variant));
|
||||
}
|
||||
|
||||
if (m_pools.size() > 1) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue