mempool_persist.h
1 // Copyright (c) 2022-present 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 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