5 #ifndef BITCOIN_NODE_CONTEXT_H 6 #define BITCOIN_NODE_CONTEXT_H 39 class SignalInterrupt;
43 class KernelNotifications;
58 std::unique_ptr<kernel::Context>
kernel;
76 std::unique_ptr<interfaces::Chain>
chain;
81 std::unique_ptr<interfaces::Mining>
mining;
102 #endif // BITCOIN_NODE_CONTEXT_H
std::unique_ptr< interfaces::Chain > chain
std::unique_ptr< node::Warnings > warnings
Manages all the node warnings.
RAII class initializing and deinitializing global state for elliptic curve support.
util::SignalInterrupt * shutdown_signal
Interrupt object used to track whether node shutdown was requested.
Provides an interface for creating and interacting with one or two chainstates: an IBD chainstate gen...
std::atomic< int > exit_status
std::function< void()> rpc_interruption_point
std::unique_ptr< const NetGroupManager > netgroupman
std::unique_ptr< CScheduler > scheduler
std::unique_ptr< ValidationSignals > validation_signals
Issues calls about blocks and transactions.
std::unique_ptr< AddrMan > addrman
NodeContext()
Declare default constructor and destructor that are not inline, so code instantiating the NodeContext...
Stochastic address manager.
std::unique_ptr< CTxMemPool > mempool
std::unique_ptr< BanMan > banman
std::unique_ptr< interfaces::Mining > mining
Reference to chain client that should used to load or create wallets opened by the gui...
NodeContext struct containing references to chain state and connection state.
std::unique_ptr< CBlockPolicyEstimator > fee_estimator
Base class for indices of blockchain data.
std::unique_ptr< ECC_Context > ecc_context
The BlockPolicyEstimator is used for estimating the feerate needed for a transaction to be included i...
Wallet chain client that in addition to having chain client methods for starting up, shutting down, and registering RPCs, also has additional methods (called by the GUI) to load and create wallets.
std::vector< std::unique_ptr< interfaces::ChainClient > > chain_clients
List of all chain clients (wallet processes or other client) connected to node.
Helper class that manages an interrupt flag, and allows a thread or signal to interrupt another threa...
std::thread background_init_thread
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
std::vector< BaseIndex * > indexes
std::unique_ptr< KernelNotifications > notifications
Issues blocking calls about sync status, errors and warnings.
std::unique_ptr< kernel::Context > kernel
libbitcoin_kernel context
std::unique_ptr< CConnman > connman
Initial interface created when a process is first started, and used to give and get access to other i...
Simple class for background tasks that should be run periodically or once "after a while"...
interfaces::WalletLoader * wallet_loader
std::function< bool()> shutdown_request
Function to request a shutdown.
std::unique_ptr< ChainstateManager > chainman
std::unique_ptr< PeerManager > peerman