Added merge mining extra

For future merge mining needs
This commit is contained in:
SChernykh
2024-06-16 21:21:27 +02:00
parent 180766f9aa
commit 5b3c1d749c
3 changed files with 54 additions and 1 deletions
+11
View File
@@ -50,6 +50,7 @@ PoolBlock::PoolBlock()
, m_cumulativeDifficulty{}
, m_merkleProof{}
, m_merkleProofPath(0)
, m_mergeMiningExtra{}
, m_sidechainExtraBuf{}
, m_sidechainId{}
, m_depth(0)
@@ -105,6 +106,7 @@ PoolBlock& PoolBlock::operator=(const PoolBlock& b)
m_cumulativeDifficulty = b.m_cumulativeDifficulty;
m_merkleProof = b.m_merkleProof;
m_merkleProofPath = b.m_merkleProofPath;
m_mergeMiningExtra = b.m_mergeMiningExtra;
memcpy(m_sidechainExtraBuf, b.m_sidechainExtraBuf, sizeof(m_sidechainExtraBuf));
m_sidechainId = b.m_sidechainId;
m_depth = b.m_depth;
@@ -273,6 +275,15 @@ std::vector<uint8_t> PoolBlock::serialize_sidechain_data() const
const hash& h = m_merkleProof[i];
data.insert(data.end(), h.h, h.h + HASH_SIZE);
}
writeVarint(m_mergeMiningExtra.size(), data);
for (const auto& mm_extra_data : m_mergeMiningExtra) {
data.insert(data.end(), mm_extra_data.first.h, mm_extra_data.first.h + HASH_SIZE);
writeVarint(mm_extra_data.second.size(), data);
data.insert(data.end(), mm_extra_data.second.begin(), mm_extra_data.second.end());
}
}
const uint8_t* p = reinterpret_cast<const uint8_t*>(m_sidechainExtraBuf);