diff options
Diffstat (limited to '')
-rw-r--r-- | src/blockchain_utilities/blockchain_ancestry.cpp | 4 | ||||
-rw-r--r-- | src/blockchain_utilities/blockchain_depth.cpp | 4 | ||||
-rw-r--r-- | src/blockchain_utilities/blockchain_export.cpp | 2 | ||||
-rw-r--r-- | src/blockchain_utilities/blockchain_prune.cpp | 3 | ||||
-rw-r--r-- | src/blockchain_utilities/blockchain_prune_known_spent_data.cpp | 4 | ||||
-rw-r--r-- | src/blockchain_utilities/blockchain_stats.cpp | 3 | ||||
-rw-r--r-- | src/blockchain_utilities/blockchain_usage.cpp | 4 | ||||
-rw-r--r-- | src/cryptonote_core/blockchain_and_pool.h (renamed from src/blockchain_utilities/blockchain_and_pool.h) | 28 |
8 files changed, 21 insertions, 31 deletions
diff --git a/src/blockchain_utilities/blockchain_ancestry.cpp b/src/blockchain_utilities/blockchain_ancestry.cpp index c226da230..36c17357a 100644 --- a/src/blockchain_utilities/blockchain_ancestry.cpp +++ b/src/blockchain_utilities/blockchain_ancestry.cpp @@ -37,11 +37,7 @@ #include "common/command_line.h" #include "common/varint.h" #include "cryptonote_basic/cryptonote_boost_serialization.h" -#include "cryptonote_core/tx_pool.h" #include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_core/blockchain.h" -#include "blockchain_db/blockchain_db.h" -#include "blockchain_and_pool.h" #include "version.h" #undef MONERO_DEFAULT_LOG_CATEGORY diff --git a/src/blockchain_utilities/blockchain_depth.cpp b/src/blockchain_utilities/blockchain_depth.cpp index 4ebc90fb9..f49211233 100644 --- a/src/blockchain_utilities/blockchain_depth.cpp +++ b/src/blockchain_utilities/blockchain_depth.cpp @@ -31,11 +31,7 @@ #include <boost/algorithm/string.hpp> #include "common/command_line.h" #include "common/varint.h" -#include "cryptonote_core/tx_pool.h" #include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_core/blockchain.h" -#include "blockchain_db/blockchain_db.h" -#include "blockchain_and_pool.h" #include "version.h" #undef MONERO_DEFAULT_LOG_CATEGORY diff --git a/src/blockchain_utilities/blockchain_export.cpp b/src/blockchain_utilities/blockchain_export.cpp index 890edba09..1f8370034 100644 --- a/src/blockchain_utilities/blockchain_export.cpp +++ b/src/blockchain_utilities/blockchain_export.cpp @@ -28,9 +28,7 @@ #include "bootstrap_file.h" #include "blocksdat_file.h" -#include "blockchain_and_pool.h" #include "common/command_line.h" -#include "cryptonote_core/tx_pool.h" #include "cryptonote_core/cryptonote_core.h" #include "blockchain_db/blockchain_db.h" #include "version.h" diff --git a/src/blockchain_utilities/blockchain_prune.cpp b/src/blockchain_utilities/blockchain_prune.cpp index 28e8d2cbe..1a9618617 100644 --- a/src/blockchain_utilities/blockchain_prune.cpp +++ b/src/blockchain_utilities/blockchain_prune.cpp @@ -33,11 +33,8 @@ #include <boost/system/error_code.hpp> #include <boost/filesystem.hpp> #include "common/command_line.h" -#include "blockchain_and_pool.h" #include "common/pruning.h" #include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_core/blockchain.h" -#include "blockchain_db/blockchain_db.h" #include "blockchain_db/lmdb/db_lmdb.h" #include "version.h" diff --git a/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp b/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp index e0a853fbf..4a459dc66 100644 --- a/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp +++ b/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp @@ -30,11 +30,7 @@ #include <boost/filesystem.hpp> #include "common/command_line.h" #include "serialization/crypto.h" -#include "cryptonote_core/tx_pool.h" #include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_core/blockchain.h" -#include "blockchain_db/blockchain_db.h" -#include "blockchain_and_pool.h" #include "version.h" #undef MONERO_DEFAULT_LOG_CATEGORY diff --git a/src/blockchain_utilities/blockchain_stats.cpp b/src/blockchain_utilities/blockchain_stats.cpp index c2fae4039..f65054fc5 100644 --- a/src/blockchain_utilities/blockchain_stats.cpp +++ b/src/blockchain_utilities/blockchain_stats.cpp @@ -31,10 +31,7 @@ #include "common/command_line.h" #include "common/varint.h" #include "cryptonote_basic/cryptonote_boost_serialization.h" -#include "blockchain_and_pool.h" -#include "cryptonote_core/tx_pool.h" #include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_core/blockchain.h" #include "blockchain_db/blockchain_db.h" #include "version.h" diff --git a/src/blockchain_utilities/blockchain_usage.cpp b/src/blockchain_utilities/blockchain_usage.cpp index d2ecf2abf..0b9686765 100644 --- a/src/blockchain_utilities/blockchain_usage.cpp +++ b/src/blockchain_utilities/blockchain_usage.cpp @@ -31,11 +31,7 @@ #include <boost/filesystem/path.hpp> #include "common/command_line.h" #include "common/varint.h" -#include "cryptonote_core/tx_pool.h" #include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_core/blockchain.h" -#include "blockchain_db/blockchain_db.h" -#include "blockchain_and_pool.h" #include "version.h" #undef MONERO_DEFAULT_LOG_CATEGORY diff --git a/src/blockchain_utilities/blockchain_and_pool.h b/src/cryptonote_core/blockchain_and_pool.h index 8d26c7a61..c0f607f64 100644 --- a/src/blockchain_utilities/blockchain_and_pool.h +++ b/src/cryptonote_core/blockchain_and_pool.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020, The Monero Project +// Copyright (c) 2023, The Monero Project // // All rights reserved. // @@ -33,12 +33,26 @@ #pragma once -#include "cryptonote_core/blockchain.h" -#include "cryptonote_core/tx_pool.h" +#include <memory> -struct BlockchainAndPool { - cryptonote::Blockchain blockchain; - cryptonote::tx_memory_pool tx_pool; +#include "blockchain.h" +#include "tx_pool.h" - BlockchainAndPool() : blockchain(tx_pool), tx_pool(blockchain) {} +namespace cryptonote +{ +/** + * @brief Container for safely constructing Blockchain and tx_memory_pool classes + * + * The reason for this class existing is that the constructors for both Blockchain and + * tx_memory_pool take a reference for tx_memory_pool and Blockchain, respectively. Because of this + * circular reference, it is annoying/unsafe to construct these normally. This class guarantees that + * we don't make any silly mistakes with pointers / dangling references. + */ +struct BlockchainAndPool +{ + Blockchain blockchain; + tx_memory_pool tx_pool; + + BlockchainAndPool(): blockchain(tx_pool), tx_pool(blockchain) {} }; +} |