Line data Source code
1 : // Copyright (c) 2022 The Bitcoin Core developers
2 : // Distributed under the MIT software license, see the accompanying
3 : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 :
5 : #ifndef BITCOIN_NODE_MEMPOOL_PERSIST_H
6 : #define BITCOIN_NODE_MEMPOOL_PERSIST_H
7 :
8 : #include <util/fs.h>
9 :
10 : class Chainstate;
11 : class CTxMemPool;
12 :
13 : namespace node {
14 :
15 : /** Dump the mempool to a file. */
16 : bool DumpMempool(const CTxMemPool& pool, const fs::path& dump_path,
17 : fsbridge::FopenFn mockable_fopen_function = fsbridge::fopen,
18 : bool skip_file_commit = false);
19 :
20 914 : struct ImportMempoolOptions {
21 : fsbridge::FopenFn mockable_fopen_function{fsbridge::fopen};
22 : bool use_current_time{false};
23 : bool apply_fee_delta_priority{true};
24 : bool apply_unbroadcast_set{true};
25 : };
26 : /** Import the file and attempt to add its contents to the mempool. */
27 : bool LoadMempool(CTxMemPool& pool, const fs::path& load_path,
28 : Chainstate& active_chainstate,
29 : ImportMempoolOptions&& opts);
30 :
31 : } // namespace node
32 :
33 :
34 : #endif // BITCOIN_NODE_MEMPOOL_PERSIST_H
|