diff --git a/src/Makefile.am b/src/Makefile.am index 13854fdeb4288..ff1d67f26022f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -204,6 +204,7 @@ BITCOIN_CORE_H = \ evo/specialtx.h \ evo/specialtx_filter.h \ evo/specialtxman.h \ + evo/types.h \ dsnotificationinterface.h \ governance/governance.h \ governance/classes.h \ @@ -259,6 +260,7 @@ BITCOIN_CORE_H = \ llmq/signing.h \ llmq/signing_shares.h \ llmq/snapshot.h \ + llmq/types.h \ llmq/utils.h \ logging.h \ logging/timer.h \ diff --git a/src/coinjoin/client.h b/src/coinjoin/client.h index 7d403e33bd364..79dccfc938ddb 100644 --- a/src/coinjoin/client.h +++ b/src/coinjoin/client.h @@ -5,8 +5,9 @@ #ifndef BITCOIN_COINJOIN_CLIENT_H #define BITCOIN_COINJOIN_CLIENT_H -#include #include +#include +#include #include #include @@ -21,7 +22,6 @@ class CCoinJoinClientManager; class CCoinJoinClientQueueManager; class CConnman; -class CDeterministicMN; class CDeterministicMNManager; class ChainstateManager; class CMasternodeMetaMan; @@ -33,8 +33,6 @@ class PeerManager; class UniValue; -using CDeterministicMNCPtr = std::shared_ptr; - class CPendingDsaRequest { private: diff --git a/src/evo/deterministicmns.h b/src/evo/deterministicmns.h index 40261a89e347a..d9f6dc2fc0825 100644 --- a/src/evo/deterministicmns.h +++ b/src/evo/deterministicmns.h @@ -7,17 +7,19 @@ #include +#include +#include +#include + #include #include #include #include -#include -#include -#include #include #include #include +#include #include #include @@ -85,7 +87,6 @@ class CDeterministicMN [[nodiscard]] std::string ToString() const; [[nodiscard]] UniValue ToJson() const; }; -using CDeterministicMNCPtr = std::shared_ptr; class CDeterministicMNListDiff; diff --git a/src/evo/types.h b/src/evo/types.h new file mode 100644 index 0000000000000..1bc7a47715bf2 --- /dev/null +++ b/src/evo/types.h @@ -0,0 +1,14 @@ +// Copyright (c) 2025 The Dash Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_EVO_TYPES_H +#define BITCOIN_EVO_TYPES_H + +#include + +class CDeterministicMN; + +using CDeterministicMNCPtr = std::shared_ptr; + +#endif // BITCOIN_EVO_TYPES_H diff --git a/src/governance/governance.h b/src/governance/governance.h index ca77d19acafe2..2657c94602c02 100644 --- a/src/governance/governance.h +++ b/src/governance/governance.h @@ -24,6 +24,7 @@ class CFlatDB; class CInv; class PeerManager; +class CDeterministicMNList; class CDeterministicMNManager; class CGovernanceManager; class CGovernanceObject; @@ -36,9 +37,6 @@ class CSporkManager; static constexpr int RATE_BUFFER_SIZE = 5; static constexpr bool DEFAULT_GOVERNANCE_ENABLE{true}; -class CDeterministicMNList; -using CDeterministicMNListPtr = std::shared_ptr; - class CRateCheckBuffer { private: @@ -177,7 +175,7 @@ class GovernanceStore vote_cmm_t cmmapOrphanVotes; txout_m_t mapLastMasternodeObject; // used to check for changed voting keys - CDeterministicMNListPtr lastMNListForVotingKeys; + std::shared_ptr lastMNListForVotingKeys; public: GovernanceStore(); diff --git a/src/llmq/commitment.h b/src/llmq/commitment.h index c1e78c6e3459e..46d663d55105d 100644 --- a/src/llmq/commitment.h +++ b/src/llmq/commitment.h @@ -7,6 +7,8 @@ #include #include +#include + #include #include #include @@ -156,7 +158,6 @@ class CFinalCommitment return HexStr(vBytes); } }; -using CFinalCommitmentPtr = std::unique_ptr; class CFinalCommitmentTxPayload { diff --git a/src/llmq/dkgsession.h b/src/llmq/dkgsession.h index fa56e337f4870..33b11d811a14d 100644 --- a/src/llmq/dkgsession.h +++ b/src/llmq/dkgsession.h @@ -11,6 +11,8 @@ #include #include #include +#include + #include #include #include @@ -26,8 +28,6 @@ class CMasternodeMetaMan; class CSporkManager; class PeerManager; -using CDeterministicMNCPtr = std::shared_ptr; - namespace llmq { diff --git a/src/llmq/quorums.h b/src/llmq/quorums.h index 12354925a2a9e..33acc6f3bbebb 100644 --- a/src/llmq/quorums.h +++ b/src/llmq/quorums.h @@ -5,18 +5,21 @@ #ifndef BITCOIN_LLMQ_QUORUMS_H #define BITCOIN_LLMQ_QUORUMS_H -#include - #include #include #include -#include +#include +#include +#include +#include + #include #include #include -#include #include +#include + #include #include #include @@ -35,8 +38,6 @@ class CMasternodeSync; class CNode; class CSporkManager; -using CDeterministicMNCPtr = std::shared_ptr; - namespace llmq { enum class VerifyRecSigStatus @@ -170,14 +171,6 @@ class CQuorumDataRequest * the public key shares of individual members, which are needed to verify signature shares of these members. */ -class CQuorum; -using CQuorumPtr = std::shared_ptr; -using CQuorumCPtr = std::shared_ptr; - -class CFinalCommitment; -using CFinalCommitmentPtr = std::unique_ptr; - - class CQuorum { friend class CQuorumManager; diff --git a/src/llmq/signing.h b/src/llmq/signing.h index 5268dcc7a0fbf..b835079d5b196 100644 --- a/src/llmq/signing.h +++ b/src/llmq/signing.h @@ -6,17 +6,20 @@ #define BITCOIN_LLMQ_SIGNING_H #include -#include #include #include +#include +#include + #include #include #include #include #include -#include #include +#include + #include #include @@ -29,10 +32,7 @@ class CInv; class PeerManager; class UniValue; -namespace llmq -{ -class CQuorum; -using CQuorumCPtr = std::shared_ptr; +namespace llmq { class CQuorumManager; class CSigSharesManager; diff --git a/src/llmq/signing_shares.h b/src/llmq/signing_shares.h index 5a0990180551f..b47a41c16a1d5 100644 --- a/src/llmq/signing_shares.h +++ b/src/llmq/signing_shares.h @@ -8,6 +8,8 @@ #include #include +#include + #include #include #include @@ -31,8 +33,6 @@ class CDeterministicMN; class CSporkManager; class PeerManager; -using CDeterministicMNCPtr = std::shared_ptr; - namespace llmq { class CSigningManager; diff --git a/src/llmq/types.h b/src/llmq/types.h new file mode 100644 index 0000000000000..f55b8c6bf8e01 --- /dev/null +++ b/src/llmq/types.h @@ -0,0 +1,19 @@ +// Copyright (c) 2025 The Dash Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_LLMQ_TYPES_H +#define BITCOIN_LLMQ_TYPES_H + +#include + +namespace llmq { +class CFinalCommitment; +class CQuorum; + +using CFinalCommitmentPtr = std::unique_ptr; +using CQuorumPtr = std::shared_ptr; +using CQuorumCPtr = std::shared_ptr; +} // namespace llmq + +#endif // BITCOIN_LLMQ_TYPES_H diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index c515cfe9ed0b1..09d2d4fddc7b9 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -4,18 +4,19 @@ #include +#include +#include #include #include +#include +#include +#include +#include -#include #include #include -#include -#include #include #include -#include -#include #include #include @@ -23,11 +24,6 @@ #include class CBLSSignature; -namespace llmq { -class CQuorum; -using CQuorumPtr = std::shared_ptr; -using CQuorumCPtr = std::shared_ptr; -} // namespace llmq /** * Forward declarations diff --git a/src/llmq/utils.h b/src/llmq/utils.h index fd205ccbb6350..88ce5d4ee704b 100644 --- a/src/llmq/utils.h +++ b/src/llmq/utils.h @@ -6,12 +6,15 @@ #define BITCOIN_LLMQ_UTILS_H #include -#include +#include #include + #include #include #include +#include + #include #include #include @@ -25,8 +28,6 @@ class CDeterministicMNManager; class CMasternodeMetaMan; class CSporkManager; -using CDeterministicMNCPtr = std::shared_ptr; - namespace llmq { class CQuorumSnapshotManager; diff --git a/src/qt/masternodelist.h b/src/qt/masternodelist.h index 34a5c97193813..e6e30bbb8b857 100644 --- a/src/qt/masternodelist.h +++ b/src/qt/masternodelist.h @@ -9,6 +9,8 @@ #include #include +#include + #include #include #include @@ -21,9 +23,6 @@ namespace Ui class MasternodeList; } -class CDeterministicMN; -using CDeterministicMNCPtr = std::shared_ptr; - class ClientModel; class WalletModel;