Skip to content

Commit 5383421

Browse files
committed
refactor: HandleNewRecoveredSig return PostProcessingMessage
1 parent 09565fe commit 5383421

File tree

10 files changed

+21
-16
lines changed

10 files changed

+21
-16
lines changed

src/llmq/chainlocks.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -525,10 +525,10 @@ void CChainLocksHandler::EnforceBestChainLock()
525525
uiInterface.NotifyChainLock(clsig->getBlockHash().ToString(), clsig->getHeight());
526526
}
527527

528-
void CChainLocksHandler::HandleNewRecoveredSig(const llmq::CRecoveredSig& recoveredSig)
528+
MessageProcessingResult CChainLocksHandler::HandleNewRecoveredSig(const llmq::CRecoveredSig& recoveredSig)
529529
{
530530
if (!isEnabled) {
531-
return;
531+
return {};
532532
}
533533

534534
CChainLockSig clsig;
@@ -537,17 +537,18 @@ void CChainLocksHandler::HandleNewRecoveredSig(const llmq::CRecoveredSig& recove
537537

538538
if (recoveredSig.getId() != lastSignedRequestId || recoveredSig.getMsgHash() != lastSignedMsgHash) {
539539
// this is not what we signed, so lets not create a CLSIG for it
540-
return;
540+
return {};
541541
}
542542
if (bestChainLock.getHeight() >= lastSignedHeight) {
543543
// already got the same or a better CLSIG through the CLSIG message
544-
return;
544+
return {};
545545
}
546546

547547

548548
clsig = CChainLockSig(lastSignedHeight, lastSignedMsgHash, recoveredSig.sig.Get());
549549
}
550550
ProcessNewChainLock(-1, clsig, ::SerializeHash(clsig));
551+
return {};
551552
}
552553

553554
bool CChainLocksHandler::HasChainLock(int nHeight, const uint256& blockHash) const

src/llmq/chainlocks.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class CChainLocksHandler : public CRecoveredSigsListener
111111
void CheckActiveState() EXCLUSIVE_LOCKS_REQUIRED(!cs);
112112
void TrySignChainTip() EXCLUSIVE_LOCKS_REQUIRED(!cs);
113113
void EnforceBestChainLock() EXCLUSIVE_LOCKS_REQUIRED(!cs);
114-
void HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override EXCLUSIVE_LOCKS_REQUIRED(!cs);
114+
[[nodiscard]] MessageProcessingResult HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override EXCLUSIVE_LOCKS_REQUIRED(!cs);
115115

116116
bool HasChainLock(int nHeight, const uint256& blockHash) const EXCLUSIVE_LOCKS_REQUIRED(!cs);
117117
bool HasConflictingChainLock(int nHeight, const uint256& blockHash) const EXCLUSIVE_LOCKS_REQUIRED(!cs);

src/llmq/ehf_signals.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,15 @@ void CEHFSignalsHandler::trySignEHFSignal(int bit, const CBlockIndex* const pind
9494
sigman.AsyncSignIfMember(llmqType, shareman, requestId, msgHash, quorum->qc->quorumHash, false, true);
9595
}
9696

97-
void CEHFSignalsHandler::HandleNewRecoveredSig(const CRecoveredSig& recoveredSig)
97+
MessageProcessingResult CEHFSignalsHandler::HandleNewRecoveredSig(const CRecoveredSig& recoveredSig)
9898
{
9999
if (g_txindex) {
100100
g_txindex->BlockUntilSyncedToCurrentChain();
101101
}
102102

103103
if (WITH_LOCK(cs, return ids.find(recoveredSig.getId()) == ids.end())) {
104104
// Do nothing, it's not for this handler
105-
return;
105+
return {};
106106
}
107107

108108
const auto ehfSignals = mnhfman.GetSignalsStage(WITH_LOCK(cs_main, return chainstate.m_chain.Tip()));
@@ -137,5 +137,6 @@ void CEHFSignalsHandler::HandleNewRecoveredSig(const CRecoveredSig& recoveredSig
137137
}
138138
break;
139139
}
140+
return {};
140141
}
141142
} // namespace llmq

src/llmq/ehf_signals.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ class CEHFSignalsHandler : public CRecoveredSigsListener
4949
*/
5050
void UpdatedBlockTip(const CBlockIndex* const pindexNew, bool is_masternode) EXCLUSIVE_LOCKS_REQUIRED(!cs);
5151

52-
void HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override EXCLUSIVE_LOCKS_REQUIRED(!cs);
52+
[[nodiscard]] MessageProcessingResult HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override
53+
EXCLUSIVE_LOCKS_REQUIRED(!cs);
5354

5455
private:
5556
void trySignEHFSignal(int bit, const CBlockIndex* const pindex) EXCLUSIVE_LOCKS_REQUIRED(!cs);

src/llmq/instantsend.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -622,14 +622,14 @@ bool CInstantSendManager::CheckCanLock(const COutPoint& outpoint, bool printDebu
622622
return true;
623623
}
624624

625-
void CInstantSendManager::HandleNewRecoveredSig(const CRecoveredSig& recoveredSig)
625+
MessageProcessingResult CInstantSendManager::HandleNewRecoveredSig(const CRecoveredSig& recoveredSig)
626626
{
627627
if (!IsInstantSendEnabled()) {
628-
return;
628+
return {};
629629
}
630630

631631
if (Params().GetConsensus().llmqTypeDIP0024InstantSend == Consensus::LLMQType::LLMQ_NONE) {
632-
return;
632+
return {};
633633
}
634634

635635
uint256 txid;
@@ -641,6 +641,7 @@ void CInstantSendManager::HandleNewRecoveredSig(const CRecoveredSig& recoveredSi
641641
} else if (/*isInstantSendLock=*/ WITH_LOCK(cs_creating, return creatingInstantSendLocks.count(recoveredSig.getId()))) {
642642
HandleNewInstantSendLockRecoveredSig(recoveredSig);
643643
}
644+
return {};
644645
}
645646

646647
void CInstantSendManager::HandleNewInputLockRecoveredSig(const CRecoveredSig& recoveredSig, const uint256& txid)

src/llmq/instantsend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ class CInstantSendManager : public CRecoveredSigsListener
330330
bool IsWaitingForTx(const uint256& txHash) const EXCLUSIVE_LOCKS_REQUIRED(!cs_pendingLocks);
331331
CInstantSendLockPtr GetConflictingLock(const CTransaction& tx) const;
332332

333-
void HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override
333+
[[nodiscard]] MessageProcessingResult HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override
334334
EXCLUSIVE_LOCKS_REQUIRED(!cs_creating, !cs_inputReqests, !cs_pendingLocks);
335335

336336
PeerMsgRet ProcessMessage(const CNode& pfrom, std::string_view msg_type, CDataStream& vRecv);

src/llmq/signing.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@ void CSigningManager::ProcessRecoveredSig(const std::shared_ptr<const CRecovered
829829

830830
auto listeners = WITH_LOCK(cs_listeners, return recoveredSigsListeners);
831831
for (auto& l : listeners) {
832-
l->HandleNewRecoveredSig(*recoveredSig);
832+
Assert(m_peerman)->PostProcessMessage(l->HandleNewRecoveredSig(*recoveredSig));
833833
}
834834

835835
GetMainSignals().NotifyRecoveredSig(recoveredSig);

src/llmq/signing.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class CRecoveredSigsListener
154154
public:
155155
virtual ~CRecoveredSigsListener() = default;
156156

157-
virtual void HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) = 0;
157+
[[nodiscard]] virtual MessageProcessingResult HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) = 0;
158158
};
159159

160160
class CSigningManager

src/llmq/signing_shares.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1553,10 +1553,11 @@ void CSigSharesManager::ForceReAnnouncement(const CQuorumCPtr& quorum, Consensus
15531553
}
15541554
}
15551555

1556-
void CSigSharesManager::HandleNewRecoveredSig(const llmq::CRecoveredSig& recoveredSig)
1556+
MessageProcessingResult CSigSharesManager::HandleNewRecoveredSig(const llmq::CRecoveredSig& recoveredSig)
15571557
{
15581558
LOCK(cs);
15591559
RemoveSigSharesForSession(recoveredSig.buildSignHash());
1560+
return {};
15601561
}
15611562

15621563
} // namespace llmq

src/llmq/signing_shares.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ class CSigSharesManager : public CRecoveredSigsListener
432432
std::optional<CSigShare> CreateSigShare(const CQuorumCPtr& quorum, const uint256& id, const uint256& msgHash) const;
433433
void ForceReAnnouncement(const CQuorumCPtr& quorum, Consensus::LLMQType llmqType, const uint256& id, const uint256& msgHash);
434434

435-
void HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override;
435+
[[nodiscard]] MessageProcessingResult HandleNewRecoveredSig(const CRecoveredSig& recoveredSig) override;
436436

437437
static CDeterministicMNCPtr SelectMemberForRecovery(const CQuorumCPtr& quorum, const uint256& id, int attempt);
438438

0 commit comments

Comments
 (0)