aboutsummaryrefslogtreecommitdiff
path: root/src/node/mempool_persist.h
diff options
context:
space:
mode:
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