cryptonote_core: rm unnecessary db reads before block relay

This commit is contained in:
j-berman
2026-08-04 14:01:43 -07:00
parent 83405f127d
commit ce14fdc0ea
+1 -19
View File
@@ -1326,26 +1326,8 @@ namespace cryptonote
{
cryptonote_connection_context exclude_context = {};
NOTIFY_NEW_FLUFFY_BLOCK::request arg{};
arg.current_blockchain_height = m_blockchain_storage.get_current_blockchain_height();
std::vector<crypto::hash> missed_txs;
for (const auto &tx_hash : b.tx_hashes)
{
if (m_blockchain_storage.have_tx(tx_hash))
continue;
missed_txs.push_back(tx_hash);
}
if(missed_txs.size() && m_blockchain_storage.get_block_id_by_height(get_block_height(b)) != get_block_hash(b))
{
LOG_PRINT_L1("Block found but, seems that reorganize just happened after that, do not relay this block");
return true;
}
CHECK_AND_ASSERT_MES(!missed_txs.size(), false, "can't find some transactions in found block:" << get_block_hash(b)
<< " b.tx_hashes.size()=" << b.tx_hashes.size() << ", missed_txs.size()" << missed_txs.size());
arg.current_blockchain_height = get_block_height(b) + 1;
block_to_blob(b, arg.b.block);
// Relay an empty fluffy block
arg.b.txs.clear();
m_pprotocol->relay_block(arg, exclude_context);
}
return true;