Introduces a new kernel:: namespace and move all of src/kernel/coinstats
under it.
In the verify script, lines like:
line="$(grep -n 'namespace node {' -- src/kernel/coinstats.h | tail -n1 | cut -d: -f1)"
sed -i -e "${line}s@namespace node {@namespace kernel {@" -- src/kernel/coinstats.h
Are intended to replace only the last instance of "namespace node" with
"namespace kernel", this is to avoid replacing forward declarations of
things inside the node:: namespace.
-BEGIN VERIFY SCRIPT-
sed -E -i 's@namespace node@namespace kernel@g' -- src/kernel/coinstats.cpp
line="$(grep -n 'namespace node {' -- src/kernel/coinstats.h | tail -n1 | cut -d: -f1)"
sed -i -e "${line}s@namespace node {@namespace kernel {@" -- src/kernel/coinstats.h
line="$(grep -n '// namespace node' -- src/kernel/coinstats.h | tail -n1 | cut -d: -f1)"
sed -i -e "${line}s@// namespace node@// namespace kernel@" -- src/kernel/coinstats.h
things='(CCoinsStats|CoinStatsHashType|GetBogoSize|TxOutSer|ComputeUTXOStats)'
git grep -lE 'node::'"$things" | xargs sed -E -i 's@node::'"$things"'@kernel::\1@g'
sed -E -i 's@'"$things"'@kernel::\1@g' -- src/node/coinstats.cpp src/node/coinstats.h
sed -E -i 's@BlockManager@node::\0@g' -- src/kernel/coinstats.cpp
-END VERIFY SCRIPT-
39 lines
1.2 KiB
C++
39 lines
1.2 KiB
C++
// Copyright (c) 2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2021 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_NODE_COINSTATS_H
|
|
#define BITCOIN_NODE_COINSTATS_H
|
|
|
|
#include <kernel/coinstats.h>
|
|
|
|
#include <chain.h>
|
|
#include <coins.h>
|
|
#include <consensus/amount.h>
|
|
#include <streams.h>
|
|
#include <uint256.h>
|
|
|
|
#include <cstdint>
|
|
#include <functional>
|
|
|
|
class CCoinsView;
|
|
namespace node {
|
|
class BlockManager;
|
|
} // namespace node
|
|
|
|
namespace node {
|
|
/**
|
|
* Calculate statistics about the unspent transaction output set
|
|
*
|
|
* @param[in] index_requested Signals if the coinstatsindex should be used (when available).
|
|
*/
|
|
std::optional<kernel::CCoinsStats> GetUTXOStats(CCoinsView* view, node::BlockManager& blockman,
|
|
kernel::CoinStatsHashType hash_type,
|
|
const std::function<void()>& interruption_point = {},
|
|
const CBlockIndex* pindex = nullptr,
|
|
bool index_requested = true);
|
|
} // namespace node
|
|
|
|
#endif // BITCOIN_NODE_COINSTATS_H
|