Disable extra_nonce mode for Dero

This commit is contained in:
SChernykh
2021-07-05 13:39:09 +02:00
parent cf952b9ebf
commit 7759141da2
3 changed files with 20 additions and 2 deletions

View File

@@ -79,7 +79,11 @@ xmrig::Proxy::Proxy(Controller *controller) :
splitter = new NonceSplitter(controller);
}
else if (controller->config()->mode() == Config::EXTRA_NONCE_MODE) {
splitter = new ExtraNonceSplitter(controller);
splitter = ExtraNonceSplitter::Create(controller);
if (!splitter) {
LOG_WARN("Switching to nicehash mode");
splitter = new NonceSplitter(controller);
}
}
else {
splitter = new SimpleSplitter(controller);

View File

@@ -38,6 +38,18 @@
#define LABEL(x) " \x1B[01;30m" x ":\x1B[0m "
xmrig::ExtraNonceSplitter* xmrig::ExtraNonceSplitter::Create(Controller* controller)
{
for (const xmrig::Pool& pool : controller->config()->pools().data()) {
if ((pool.algorithm() == xmrig::Algorithm::ASTROBWT_DERO) || (pool.coin() == xmrig::Coin::DERO)) {
LOG_ERR("extra_nonce mode is incompatible with Dero mining");
return nullptr;
}
}
return new ExtraNonceSplitter(controller);
}
xmrig::ExtraNonceSplitter::ExtraNonceSplitter(Controller *controller) : Splitter(controller)
{
}

View File

@@ -46,10 +46,12 @@ class ExtraNonceSplitter : public Splitter
public:
XMRIG_DISABLE_COPY_MOVE_DEFAULT(ExtraNonceSplitter)
ExtraNonceSplitter(Controller *controller);
static ExtraNonceSplitter* Create(Controller* controller);
~ExtraNonceSplitter() override;
protected:
ExtraNonceSplitter(Controller* controller);
Upstreams upstreams() const override;
void connect() override;
void gc() override;