From e432577257a0d0a13e95ae4255907f2f6a00297c Mon Sep 17 00:00:00 2001 From: Matt Hess Date: Sat, 21 Feb 2026 21:32:29 +0000 Subject: [PATCH] fix get_payout early return missing outputs --- src/pool_block.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pool_block.cpp b/src/pool_block.cpp index 79dc49f..2350996 100644 --- a/src/pool_block.cpp +++ b/src/pool_block.cpp @@ -591,25 +591,26 @@ uint64_t PoolBlock::get_payout(const Wallet& w) const LOGINFO(3, "get_payout: checking " << m_outputAmounts.size() << " outputs, tx_key_seed=" << tx_key_seed); + uint64_t payout = 0; for (size_t i = 0, n = m_outputAmounts.size(); i < n; ++i) { const TxOutput& out = m_outputAmounts[i]; hash eph_public_key; uint8_t view_tag; - + const bool derived = w.get_eph_public_key_carrot(tx_key_seed, m_txinGenHeight, i, out.m_reward, eph_public_key, view_tag); const bool match = (m_ephPublicKeys[i] == eph_public_key); - - LOGINFO(3, "get_payout: output " << i << " reward=" << out.m_reward + + LOGINFO(3, "get_payout: output " << i << " reward=" << out.m_reward << " derived=" << (derived ? 1 : 0) - << " expected=" << m_ephPublicKeys[i] + << " expected=" << m_ephPublicKeys[i] << " got=" << eph_public_key << " match=" << (match ? 1 : 0)); - + if (derived && match) { - return out.m_reward; + payout = out.m_reward; } } - return 0; + return payout; } hash PoolBlock::calculate_tx_key_seed() const