-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: proactively push recovered signatures; fully connect instantsend quorums for recovered sigs #6967
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: proactively push recovered signatures; fully connect instantsend quorums for recovered sigs #6967
Changes from all commits
7be3d4a
4e449d0
9f27cfb
a57a811
08a3a18
f18a12e
a58f1bb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -449,7 +449,7 @@ class CSigSharesManager : public CRecoveredSigsListener | |
| const uint256& msgHash, const uint256& quorumHash = uint256(), bool allowReSign = false, | ||
| bool allowDiffMsgHashSigning = false) EXCLUSIVE_LOCKS_REQUIRED(!cs_pendingSigns, !cs); | ||
|
|
||
| void NotifyRecoveredSig(const std::shared_ptr<const CRecoveredSig>& sig) const EXCLUSIVE_LOCKS_REQUIRED(!cs); | ||
| void NotifyRecoveredSig(const std::shared_ptr<const CRecoveredSig>& sig, bool proactive_relay) const EXCLUSIVE_LOCKS_REQUIRED(!cs); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Recovered‑sig notification wiring is correct; fix clang‑format to unbreak CI The new CI is currently failing on 🤖 Prompt for AI Agents |
||
|
|
||
| private: | ||
| std::optional<CSigShare> CreateSigShareForSingleMember(const CQuorum& quorum, const uint256& id, const uint256& msgHash) const; | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -29,9 +29,9 @@ void ActiveNotificationInterface::UpdatedBlockTip(const CBlockIndex* pindexNew, | |
| m_active_ctx.gov_signer->UpdatedBlockTip(pindexNew); | ||
| } | ||
|
|
||
| void ActiveNotificationInterface::NotifyRecoveredSig(const std::shared_ptr<const llmq::CRecoveredSig>& sig) | ||
| void ActiveNotificationInterface::NotifyRecoveredSig(const std::shared_ptr<const llmq::CRecoveredSig>& sig, bool proactive_relay) | ||
| { | ||
| m_active_ctx.shareman->NotifyRecoveredSig(sig); | ||
| m_active_ctx.shareman->NotifyRecoveredSig(sig, proactive_relay); | ||
|
Comment on lines
+32
to
+34
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix clang-format issues. The CI pipeline reports formatting differences in this file. Please run Run the following command to fix formatting: #!/bin/bash
# Format the file according to project style
clang-format -i src/masternode/active/notificationinterface.cpp🤖 Prompt for AI Agents |
||
| } | ||
|
|
||
| std::unique_ptr<ActiveNotificationInterface> g_active_notification_interface; | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -241,7 +241,7 @@ void CZMQNotificationInterface::NotifyInstantSendDoubleSpendAttempt(const CTrans | |||||
| }); | ||||||
| } | ||||||
|
|
||||||
| void CZMQNotificationInterface::NotifyRecoveredSig(const std::shared_ptr<const llmq::CRecoveredSig>& sig) | ||||||
| void CZMQNotificationInterface::NotifyRecoveredSig(const std::shared_ptr<const llmq::CRecoveredSig>& sig, bool /*proactive_relay*/) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| { | ||||||
| TryForEachAndRemoveFailed(notifiers, [&sig](CZMQAbstractNotifier* notifier) { | ||||||
| return notifier->NotifyRecoveredSig(sig); | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we document why these LLMQs are excluded from proactive relay? Either by placing them in a dedicated function or by comment? Similar exclusions are present in
llmq/options.cpp(see below) but aren't immediately clear why.dash/src/llmq/options.cpp
Lines 28 to 30 in 199ac79