mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-04 10:07:27 -05:00
382b692a50
Moves chainparams code not using the ArgsManager to the kernel. Subsequently use the kernel chainparams header now where possible in order to further decouple chainparams call sites from gArgs.
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
// Copyright (c) 2009-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_CHAINPARAMS_H
|
|
#define BITCOIN_CHAINPARAMS_H
|
|
|
|
#include <kernel/chainparams.h>
|
|
|
|
#include <chainparamsbase.h>
|
|
#include <consensus/params.h>
|
|
#include <netaddress.h>
|
|
#include <primitives/block.h>
|
|
#include <protocol.h>
|
|
#include <util/hash_type.h>
|
|
|
|
#include <cstdint>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <unordered_map>
|
|
#include <vector>
|
|
|
|
/**
|
|
* Creates and returns a std::unique_ptr<CChainParams> of the chosen chain.
|
|
* @returns a CChainParams* of the chosen chain.
|
|
* @throws a std::runtime_error if the chain is not supported.
|
|
*/
|
|
std::unique_ptr<const CChainParams> CreateChainParams(const ArgsManager& args, const std::string& chain);
|
|
|
|
/**
|
|
* Return the currently selected parameters. This won't change after app
|
|
* startup, except for unit tests.
|
|
*/
|
|
const CChainParams &Params();
|
|
|
|
/**
|
|
* Sets the params returned by Params() to those for the given chain name.
|
|
* @throws std::runtime_error when the chain is not supported.
|
|
*/
|
|
void SelectParams(const std::string& chain);
|
|
|
|
#endif // BITCOIN_CHAINPARAMS_H
|