Skip to content

Commit f3194ff

Browse files
committed
Fix DOGE donation overflow: use COMBINED_DONATION_SCRIPT for merged
Merged chains always use COMBINED_DONATION_SCRIPT (P2SH) for donation regardless of share version — matches p2pool data.py line 303. Was passing parent chain's V35 P2PK donation script to merged payout calculation, causing 184B DOGE overflow and wrong donation address.
1 parent 2c6ae89 commit f3194ff

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/c2pool/c2pool_refactored.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4056,9 +4056,14 @@ int main(int argc, char* argv[]) {
40564056
block_target = chain::bits_to_target(s->m_min_header.m_bits);
40574057
});
40584058

4059-
auto& donation_script = mi->get_donation_script();
4059+
// Merged chains always use COMBINED_DONATION_SCRIPT (P2SH)
4060+
// regardless of share version — p2pool data.py line 303.
4061+
// The parent chain uses version-dependent donation (P2PK for V35).
4062+
auto combined_donation = std::vector<unsigned char>(
4063+
ltc::PoolConfig::COMBINED_DONATION_SCRIPT.begin(),
4064+
ltc::PoolConfig::COMBINED_DONATION_SCRIPT.end());
40604065
auto payouts_map = p2p_node->tracker().get_merged_expected_payouts(
4061-
best, block_target, coinbase_value, chain_id, donation_script,
4066+
best, block_target, coinbase_value, chain_id, combined_donation,
40624067
operator_ltc_script, operator_merged_script);
40634068

40644069
LOG_INFO << "[MM-payout] chain_id=" << chain_id

0 commit comments

Comments
 (0)