[net processing] Move MaybePunishNodeForBlock into PeerManager

This commit is contained in:
John Newbery
2020-08-24 15:56:14 +01:00
parent d7778351bf
commit b70cd890e3
2 changed files with 17 additions and 11 deletions

View File

@@ -11,6 +11,7 @@
#include <sync.h>
#include <validationinterface.h>
class BlockValidationState;
class CBlockHeader;
class CChainParams;
class CTxMemPool;
@@ -84,6 +85,19 @@ public:
const std::chrono::microseconds time_received, const std::atomic<bool>& interruptMsgProc);
private:
/**
* Potentially mark a node discouraged based on the contents of a BlockValidationState object
*
* @param[in] via_compact_block this bool is passed in because net_processing should
* punish peers differently depending on whether the data was provided in a compact
* block message or not. If the compact block had a valid header, but contained invalid
* txs, the peer should not be punished. See BIP 152.
*
* @return Returns true if the peer was punished (probably disconnected)
*/
bool MaybePunishNodeForBlock(NodeId nodeid, const BlockValidationState& state,
bool via_compact_block, const std::string& message = "");
/** Maybe disconnect a peer and discourage future connections from its address.
*
* @param[in] pnode The node to check.