/ src / kernel / blockmanager_opts.h
blockmanager_opts.h
 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_BLOCKMANAGER_OPTS_H
 6  #define BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H
 7  
 8  #include <kernel/notifications_interface.h>
 9  #include <util/fs.h>
10  
11  #include <cstdint>
12  
13  class CChainParams;
14  
15  namespace kernel {
16  
17  /**
18   * An options struct for `BlockManager`, more ergonomically referred to as
19   * `BlockManager::Options` due to the using-declaration in `BlockManager`.
20   */
21  struct BlockManagerOpts {
22      const CChainParams& chainparams;
23      uint64_t prune_target{0};
24      bool fast_prune{false};
25      const fs::path blocks_dir;
26      Notifications& notifications;
27  };
28  
29  } // namespace kernel
30  
31  #endif // BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H