Refactored BlockTemplate::update() - removed the use of pointers as parameters

This commit is contained in:
SChernykh
2025-09-23 11:45:56 +02:00
parent cff1210761
commit c0b99ac6fd
3 changed files with 7 additions and 7 deletions

View File

@@ -204,7 +204,7 @@ void BlockTemplate::shuffle_tx_order()
}
}
void BlockTemplate::update(const MinerData& data, const Mempool& mempool, const Wallet* miner_wallet, const Wallet* subaddress)
void BlockTemplate::update(const MinerData& data, const Mempool& mempool, const Wallet& miner_wallet, const Wallet& subaddress)
{
if (data.major_version > HARDFORK_SUPPORTED_VERSION) {
LOGERR(1, "got hardfork version " << data.major_version << ", expected <= " << HARDFORK_SUPPORTED_VERSION);
@@ -269,7 +269,7 @@ void BlockTemplate::update(const MinerData& data, const Mempool& mempool, const
m_blockHeaderSize = m_blockHeader.size();
m_poolBlockTemplate->m_minerWallet = *miner_wallet;
m_poolBlockTemplate->m_minerWallet = miner_wallet;
m_sidechain->fill_sidechain_data(*m_poolBlockTemplate, m_shares);
@@ -590,7 +590,7 @@ void BlockTemplate::update(const MinerData& data, const Mempool& mempool, const
m_poolBlockTemplate->m_transactions.push_back(m_mempoolTxs[m_mempoolTxsOrder[i]].id);
}
m_poolBlockTemplate->m_minerWallet = *miner_wallet;
m_poolBlockTemplate->m_minerWallet = miner_wallet;
// Layout: [software id, version, random number, sidechain extra_nonce]
uint32_t* sidechain_extra = m_poolBlockTemplate->m_sidechainExtraBuf;
@@ -625,11 +625,11 @@ void BlockTemplate::update(const MinerData& data, const Mempool& mempool, const
m_poolBlockTemplate->m_mergeMiningExtra.emplace(c.unique_id, std::move(v));
}
if (subaddress->valid()) {
if (subaddress.valid()) {
std::vector<uint8_t> v;
v.reserve(HASH_SIZE + 1);
const hash& key = subaddress->view_public_key();
const hash& key = subaddress.view_public_key();
v.insert(v.end(), key.h, key.h + HASH_SIZE);
v.insert(v.end(), 0);

View File

@@ -39,7 +39,7 @@ public:
BlockTemplate(const BlockTemplate& b);
BlockTemplate& operator=(const BlockTemplate& b);
void update(const MinerData& data, const Mempool& mempool, const Wallet* miner_wallet, const Wallet* subaddress);
void update(const MinerData& data, const Mempool& mempool, const Wallet& miner_wallet, const Wallet& subaddress);
uint64_t last_updated() const { return m_lastUpdated.load(); }
bool get_difficulties(const uint32_t template_id, uint64_t& height, uint64_t& sidechain_height, difficulty_type& mainchain_difficulty, difficulty_type& aux_diff, difficulty_type& sidechain_difficulty) const;

View File

@@ -1240,7 +1240,7 @@ void p2pool::update_block_template()
if (m_updateSeed.exchange(false)) {
m_hasher->set_seed_async(data.seed_hash);
}
m_blockTemplate->update(data, *m_mempool, &m_params->m_miningWallet, &m_params->m_subaddress);
m_blockTemplate->update(data, *m_mempool, m_params->m_miningWallet, m_params->m_subaddress);
stratum_on_block();
api_update_pool_stats();