From f9d6bcad5e0848afffea9c3aec203ec916dd376e Mon Sep 17 00:00:00 2001 From: DanS Date: Wed, 20 May 2026 11:14:46 -0500 Subject: [PATCH] extranonce --- src/backend/cpu/CpuWorker.cpp | 9 +++++---- src/version.h | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/backend/cpu/CpuWorker.cpp b/src/backend/cpu/CpuWorker.cpp index 00a79d73..bf4e4f44 100644 --- a/src/backend/cpu/CpuWorker.cpp +++ b/src/backend/cpu/CpuWorker.cpp @@ -444,11 +444,12 @@ void xmrig::CpuWorker::start() // blocks, and also check the RandomX hash for share difficulty. // // Reconstruct the 140-byte header with the 4-byte nonce at offset 108. - // In pool mode, bytes 112-139 of nNonce are zero (only 4-byte nonce used). + // Bytes 112-139 come from the pool blob and may contain a per-client + // extraNonce1 (pool embeds it at offset 112 for nonce-space partitioning). + // We must preserve those bytes so pool-side re-verification matches. uint8_t blob_for_header[140]; - memcpy(blob_for_header, m_job.blob(), 108); // header base - memset(blob_for_header + 108, 0, 32); // clear 32-byte nonce field - memcpy(blob_for_header + 108, ¤t_job_nonces[i], 4); // 4-byte nonce at offset 108 + memcpy(blob_for_header, m_job.blob(), 140); // full blob incl. extraNonce + memcpy(blob_for_header + 108, ¤t_job_nonces[i], 4); // overwrite only bytes 108-111 bool submitted = false; diff --git a/src/version.h b/src/version.h index 3ceac86d..75b3ac28 100644 --- a/src/version.h +++ b/src/version.h @@ -11,7 +11,7 @@ #define APP_ID "xmrig-hac" #define APP_NAME "XMRig-HAC" #define APP_DESC "XMRig miner" -#define APP_VERSION "6.25.0-hac" +#define APP_VERSION "6.25.1-hac" #define APP_DOMAIN "dragonx.is" #define APP_SITE "www.dragonx.is" #define APP_COPYRIGHT "Copyright (C) 2026 dragonx.is" @@ -19,7 +19,7 @@ #define APP_VER_MAJOR 6 #define APP_VER_MINOR 25 -#define APP_VER_PATCH 0 +#define APP_VER_PATCH 1 #ifdef _MSC_VER # if (_MSC_VER >= 1950)