From bd2bff16d6c90f5d401ca21468df7bb85647316c Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Sat, 2 May 2026 14:11:29 +0700 Subject: [PATCH 1/4] refactor: move network implementation of spork to net_processing It helps to break circular dependencies over spork <-> net. It helps to get spork manager ready kernel project. Apparantly, chainstate implementation uses sporks for validation of blockchain but network dependencies could be avoided there. --- src/net_processing.cpp | 10 ++++++++++ src/spork.cpp | 12 ++---------- src/spork.h | 6 ++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 3f8ba2e11b48..f36f7a3133cc 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -5462,6 +5462,16 @@ void PeerManagerImpl::ProcessMessage( return; } + if (msg_type == NetMsgType::GETSPORKS) { + // For 'getsporks', active sporks is sent to the requesting peer. + auto active_sporks = m_sporkman.ActiveSporks(); + for (const auto& pair : active_sporks) { + for (const auto& signerSporkPair : pair.second) { + m_connman.PushMessage(&pfrom, CNetMsgMaker(pfrom.GetCommonVersion()).Make(NetMsgType::SPORK, signerSporkPair.second)); + } + } + } + if (msg_type == NetMsgType::QUORUMROTATIONINFO) { // we have never requested this Misbehaving(pfrom.GetId(), 100, strprintf("received not-requested quorumrotationinfo. peer=%d", pfrom.GetId())); diff --git a/src/spork.cpp b/src/spork.cpp index d213dc417423..91254e1984b3 100644 --- a/src/spork.cpp +++ b/src/spork.cpp @@ -12,7 +12,6 @@ #include #include #include -#include #include #include