Fixed merge mining with multiple chains

This commit is contained in:
SChernykh
2024-06-11 18:40:30 +02:00
parent 8fc5e5013c
commit 5e8da4e672
6 changed files with 49 additions and 17 deletions

View File

@@ -242,12 +242,19 @@ void Miner::run(WorkerData* data)
}
if (j.m_auxDiff.check_pow(h)) {
std::vector<p2pool::SubmitAuxBlockData> aux_blocks;
aux_blocks.reserve(j.m_auxChains.size());
for (const AuxChainData& aux_data : j.m_auxChains) {
if (aux_data.difficulty.check_pow(h)) {
LOGINFO(0, log::Green() << "AUX BLOCK FOUND: chain_id " << aux_data.unique_id << ", diff " << aux_data.difficulty << ", worker thread " << data->m_index << '/' << data->m_count);
m_pool->submit_aux_block_async(aux_data.unique_id, j.m_templateId, j.m_nonce, j.m_extraNonce);
aux_blocks.emplace_back(p2pool::SubmitAuxBlockData{ aux_data.unique_id, j.m_templateId, j.m_nonce, j.m_extraNonce });
}
}
if (!aux_blocks.empty()) {
m_pool->submit_aux_block_async(aux_blocks);
}
}
if (j.m_sidechainDiff.check_pow(h)) {