mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-05 10:17:30 -05:00
04c31c1295
This decouples validation.cpp from netaddress.cpp (transitively, timedata.cpp, and asmap.cpp). This is important for libbitcoinkernel as: - There is no reason for the consensus engine to be coupled with netaddress, timedata, and asmap - Users of libbitcoinkernel can now easily supply their own std::function that provides the adjusted time. See the src/Makefile.am changes for some satisfying removals.
23 lines
716 B
C++
23 lines
716 B
C++
// 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_KERNEL_CHAINSTATEMANAGER_OPTS_H
|
|
#define BITCOIN_KERNEL_CHAINSTATEMANAGER_OPTS_H
|
|
|
|
#include <cstdint>
|
|
#include <functional>
|
|
|
|
class CChainParams;
|
|
|
|
/**
|
|
* An options struct for `ChainstateManager`, more ergonomically referred to as
|
|
* `ChainstateManager::Options` due to the using-declaration in
|
|
* `ChainstateManager`.
|
|
*/
|
|
struct ChainstateManagerOpts {
|
|
const CChainParams& chainparams;
|
|
const std::function<int64_t()> adjusted_time_callback{nullptr};
|
|
};
|
|
|
|
#endif // BITCOIN_KERNEL_CHAINSTATEMANAGER_OPTS_H
|