Branch data 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_KERNEL_MEMPOOL_PERSIST_H 6 : : #define BITCOIN_KERNEL_MEMPOOL_PERSIST_H 7 : : 8 : : #include <util/fs.h> 9 : : 10 : : class Chainstate; 11 : : class CTxMemPool; 12 : : 13 : : namespace kernel { 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 : 0 : 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 kernel 32 : : 33 : : 34 : : #endif // BITCOIN_KERNEL_MEMPOOL_PERSIST_H