Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/llmq/context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ LLMQContext::LLMQContext(ChainstateManager& chainman, CDeterministicMNManager& d
mn_metaman, *quorum_block_processor, *qsnapman, mn_activeman,
sporkman, db_params)},
qman{std::make_unique<llmq::CQuorumManager>(*bls_worker, chainman.ActiveChainstate(), dmnman, *qdkgsman, evo_db,
*quorum_block_processor, *qsnapman, mn_activeman, mn_sync, sporkman,
*quorum_block_processor, *qsnapman, mn_activeman, mn_sync,
db_params)},
sigman{std::make_unique<llmq::CSigningManager>(chainman.ActiveChainstate(), *qman, db_params)},
clhandler{std::make_unique<llmq::CChainLocksHandler>(chainman.ActiveChainstate(), *qman, sporkman, mempool, mn_sync)},
Expand Down
3 changes: 1 addition & 2 deletions src/llmq/dkgsession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -478,13 +478,12 @@ void CDKGSession::VerifyConnectionAndMinProtoVersions(CConnman& connman) const
protoMap.emplace(verifiedProRegTxHash, pnode->nVersion);
});

bool fShouldAllMembersBeConnected = IsAllMembersConnectedEnabled(params.type, m_sporkman);
for (const auto& m : members) {
if (m->dmn->proTxHash == myProTxHash) {
continue;
}
if (auto it = protoMap.find(m->dmn->proTxHash); it == protoMap.end()) {
m->badConnection = fShouldAllMembersBeConnected;
m->badConnection = true;
if (m->badConnection) {
logger.Batch("%s is not connected to us, badConnection=1", m->dmn->proTxHash.ToString());
}
Expand Down
2 changes: 1 addition & 1 deletion src/llmq/dkgsessionhandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ void CDKGSessionHandler::HandleDKGRound(CConnman& connman, PeerManager& peerman)
}

const auto tip_mn_list = m_dmnman.GetListAtChainTip();
utils::EnsureQuorumConnections(params, connman, m_dmnman, m_sporkman, m_qsnapman, tip_mn_list, pQuorumBaseBlockIndex,
utils::EnsureQuorumConnections(params, connman, m_dmnman, m_qsnapman, tip_mn_list, pQuorumBaseBlockIndex,
curSession->myProTxHash, /* is_masternode = */ m_mn_activeman != nullptr);
if (curSession->AreWeMember()) {
utils::AddQuorumProbeConnections(params, connman, m_dmnman, m_mn_metaman, m_qsnapman, m_sporkman, tip_mn_list,
Expand Down
5 changes: 0 additions & 5 deletions src/llmq/options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,6 @@ static bool EvalSpork(const Consensus::LLMQType llmqType, const int64_t spork_va
return false;
}

bool IsAllMembersConnectedEnabled(const Consensus::LLMQType llmqType, const CSporkManager& sporkman)
{
return EvalSpork(llmqType, sporkman.GetSporkValue(SPORK_21_QUORUM_ALL_CONNECTED));
}

bool IsQuorumPoseEnabled(const Consensus::LLMQType llmqType, const CSporkManager& sporkman)
{
return EvalSpork(llmqType, sporkman.GetSporkValue(SPORK_23_QUORUM_POSE));
Expand Down
1 change: 0 additions & 1 deletion src/llmq/options.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ static constexpr bool DEFAULT_ENABLE_QUORUM_DATA_RECOVERY{true};
// If true, we will connect to all new quorums and watch their communication
static constexpr bool DEFAULT_WATCH_QUORUMS{false};

bool IsAllMembersConnectedEnabled(const Consensus::LLMQType llmqType, const CSporkManager& sporkman);
bool IsQuorumPoseEnabled(const Consensus::LLMQType llmqType, const CSporkManager& sporkman);

bool IsQuorumRotationEnabled(const Consensus::LLMQParams& llmqParams, gsl::not_null<const CBlockIndex*> pindex);
Expand Down
7 changes: 3 additions & 4 deletions src/llmq/quorums.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ CQuorumManager::CQuorumManager(CBLSWorker& _blsWorker, CChainState& chainstate,
CDKGSessionManager& _dkgManager, CEvoDB& _evoDb,
CQuorumBlockProcessor& _quorumBlockProcessor, CQuorumSnapshotManager& qsnapman,
const CActiveMasternodeManager* const mn_activeman, const CMasternodeSync& mn_sync,
const CSporkManager& sporkman, const util::DbWrapperParams& db_params) :
const util::DbWrapperParams& db_params) :
db{util::MakeDbWrapper(
{db_params.path / "llmq" / "quorumdb", db_params.memory, db_params.wipe, /*cache_size=*/1 << 20})},
blsWorker{_blsWorker},
Expand All @@ -221,8 +221,7 @@ CQuorumManager::CQuorumManager(CBLSWorker& _blsWorker, CChainState& chainstate,
quorumBlockProcessor{_quorumBlockProcessor},
m_qsnapman{qsnapman},
m_mn_activeman{mn_activeman},
m_mn_sync{mn_sync},
m_sporkman{sporkman}
m_mn_sync{mn_sync}
{
utils::InitQuorumsCache(mapQuorumsCache, false);
quorumThreadInterrupt.reset();
Expand Down Expand Up @@ -366,7 +365,7 @@ void CQuorumManager::CheckQuorumConnections(CConnman& connman, const Consensus::
});

for (const auto& quorum : lastQuorums) {
if (utils::EnsureQuorumConnections(llmqParams, connman, m_dmnman, m_sporkman, m_qsnapman,
if (utils::EnsureQuorumConnections(llmqParams, connman, m_dmnman, m_qsnapman,
m_dmnman.GetListAtChainTip(), quorum->m_quorum_base_block_index, myProTxHash,
/* is_masternode = */ m_mn_activeman != nullptr)) {
if (connmanQuorumsToDelete.erase(quorum->qc->quorumHash) > 0) {
Expand Down
4 changes: 1 addition & 3 deletions src/llmq/quorums.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ class CDBWrapper;
class CEvoDB;
class CMasternodeSync;
class CNode;
class CSporkManager;
namespace util {
struct DbWrapperParams;
} // namespace util
Expand Down Expand Up @@ -243,7 +242,6 @@ class CQuorumManager
CQuorumSnapshotManager& m_qsnapman;
const CActiveMasternodeManager* const m_mn_activeman;
const CMasternodeSync& m_mn_sync;
const CSporkManager& m_sporkman;

mutable Mutex cs_map_quorums;
mutable std::map<Consensus::LLMQType, Uint256LruHashMap<CQuorumPtr>> mapQuorumsCache GUARDED_BY(cs_map_quorums);
Expand All @@ -269,7 +267,7 @@ class CQuorumManager
CDKGSessionManager& _dkgManager, CEvoDB& _evoDb,
CQuorumBlockProcessor& _quorumBlockProcessor, CQuorumSnapshotManager& qsnapman,
const CActiveMasternodeManager* const mn_activeman, const CMasternodeSync& mn_sync,
const CSporkManager& sporkman, const util::DbWrapperParams& db_params);
const util::DbWrapperParams& db_params);
~CQuorumManager();

void Start();
Expand Down
Loading
Loading