aboutsummaryrefslogtreecommitdiff
path: root/src/node/mempool_persist.h
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2024-06-26 18:58:46 +0000
committerCory Fields <cory-nospam-@coryfields.com>2024-06-26 22:47:09 +0000
commitf1478c05458562a9bef5c2ba43959d758e7b4745 (patch)
tree41e1ab5c15394c7a7270be086c9e49588096cf1e /src/node/mempool_persist.h
parent6d242ff1e9ca02fd8f5cb3ffe82dfb48a52366cc (diff)
downloadbitcoin-f1478c05458562a9bef5c2ba43959d758e7b4745.tar.xz
mempool: move LoadMempool/DumpMempool to node
Diffstat (limited to 'src/node/mempool_persist.h')
-rw-r--r--src/node/mempool_persist.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/node/mempool_persist.h b/src/node/mempool_persist.h
new file mode 100644
index 0000000000..7c5754a90c
--- /dev/null
+++ b/src/node/mempool_persist.h
@@ -0,0 +1,34 @@
+// Copyright (c) 2022 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_NODE_MEMPOOL_PERSIST_H
+#define BITCOIN_NODE_MEMPOOL_PERSIST_H
+
+#include <util/fs.h>
+
+class Chainstate;
+class CTxMemPool;
+
+namespace node {
+
+/** Dump the mempool to a file. */
+bool DumpMempool(const CTxMemPool& pool, const fs::path& dump_path,
+ fsbridge::FopenFn mockable_fopen_function = fsbridge::fopen,
+ bool skip_file_commit = false);
+
+struct ImportMempoolOptions {
+ fsbridge::FopenFn mockable_fopen_function{fsbridge::fopen};
+ bool use_current_time{false};
+ bool apply_fee_delta_priority{true};
+ bool apply_unbroadcast_set{true};
+};
+/** Import the file and attempt to add its contents to the mempool. */
+bool LoadMempool(CTxMemPool& pool, const fs::path& load_path,
+ Chainstate& active_chainstate,
+ ImportMempoolOptions&& opts);
+
+} // namespace node
+
+
+#endif // BITCOIN_NODE_MEMPOOL_PERSIST_H