diff --git a/src/net_processing.cpp b/src/net_processing.cpp --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -1759,9 +1759,13 @@ LogPrint(BCLog::AVALANCHE, "Requesting compact proofs from peer %d\n", pavanode->GetId()); - m_connman.PushMessage(pavanode, - CNetMsgMaker(pavanode->GetCommonVersion()) - .Make(NetMsgType::GETAVAPROOFS)); + if (pavanode->m_proof_relay) { + m_connman.PushMessage(pavanode, + CNetMsgMaker(pavanode->GetCommonVersion()) + .Make(NetMsgType::GETAVAPROOFS)); + + pavanode->m_proof_relay->compactproofs_requested = true; + } return true; }); } diff --git a/test/functional/abc_p2p_compactproofs.py b/test/functional/abc_p2p_compactproofs.py --- a/test/functional/abc_p2p_compactproofs.py +++ b/test/functional/abc_p2p_compactproofs.py @@ -171,6 +171,10 @@ == outbounds_getavaproofs + num_outbound_avapeers) outbounds_getavaproofs += num_outbound_avapeers + for p in outbound_avapeers: + with node.assert_debug_log(["received: avaproofs"], ["Ignoring unsollicited avaproofs"]): + p.send_message(build_msg_avaproofs([])) + with p2p_lock: assert all([p.message_count.get( "getavaproofs", 0) == 0 for p in non_avapeers])