Bitcoin Core  27.99.0
P2P Digital Currency
Classes | Typedefs | Functions
interfaces Namespace Reference

Classes

struct  BlockKey
 Hash/height pair to help track and identify blocks. More...
 
class  FoundBlock
 Helper for findBlock to selectively return pieces of block data. More...
 
struct  BlockInfo
 Block data sent with blockConnected, blockDisconnected notifications. More...
 
class  Chain
 Interface giving clients (wallet processes, maybe other analysis tools in the future) ability to access to the chain state, receive notifications, estimate fees, and submit transactions. More...
 
class  ChainClient
 Interface to let node manage chain clients (wallets, or maybe tools for monitoring and analysis in the future). More...
 
class  Echo
 Simple string echoing interface for testing. More...
 
class  Handler
 Generic interface for managing an event handler or callback function registered with another interface. More...
 
class  Init
 Initial interface created when a process is first started, and used to give and get access to other interfaces (Node, Chain, Wallet, etc). More...
 
class  Ipc
 Interface providing access to interprocess-communication (IPC) functionality. More...
 
class  Mining
 Interface giving clients (RPC, Stratum v2 Template Provider in the future) ability to create block templates. More...
 
struct  BlockAndHeaderTipInfo
 Block and header tip information. More...
 
class  ExternalSigner
 External signer interface used by the GUI. More...
 
class  Node
 Top-level interface for a bitcoin node (bitcoind process). More...
 
struct  BlockTip
 Block tip (could be a header or not, depends on the subscribed signal). More...
 
class  Wallet
 Interface for accessing a wallet. More...
 
class  WalletLoader
 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. More...
 
struct  WalletAddress
 Information about one wallet address. More...
 
struct  WalletBalances
 Collection of wallet balances. More...
 
struct  WalletTx
 
struct  WalletTxStatus
 Updated transaction status. More...
 
struct  WalletTxOut
 Wallet transaction output. More...
 
struct  WalletMigrationResult
 Migrated wallet info. More...
 

Typedefs

using WalletOrderForm = std::vector< std::pair< std::string, std::string > >
 
using WalletValueMap = std::map< std::string, std::string >
 

Functions

std::unique_ptr< HandlerMakeCleanupHandler (std::function< void()> cleanup)
 Return handler wrapping a cleanup function. More...
 
std::unique_ptr< HandlerMakeSignalHandler (boost::signals2::connection connection)
 Return handler wrapping a boost signal connection. More...
 
std::unique_ptr< EchoMakeEcho ()
 Return implementation of Echo interface. More...
 
std::unique_ptr< WalletLoaderMakeWalletLoader (Chain &chain, ArgsManager &args)
 Return implementation of ChainClient interface for a wallet loader. More...
 
std::unique_ptr< InitMakeGuiInit (int argc, char *argv[])
 Return implementation of Init interface for the gui process. More...
 
std::unique_ptr< InitMakeNodeInit (node::NodeContext &node, int argc, char *argv[], int &exit_status)
 Return implementation of Init interface for the node process. More...
 
std::unique_ptr< InitMakeWalletInit (int argc, char *argv[], int &exit_status)
 Return implementation of Init interface for the wallet process. More...
 
std::unique_ptr< ChainMakeChain (node::NodeContext &node)
 Return implementation of Chain interface. More...
 
std::unique_ptr< IpcMakeIpc (const char *exe_name, const char *process_argv0, Init &init)
 Return implementation of Ipc interface. More...
 
std::unique_ptr< MiningMakeMining (node::NodeContext &node)
 Return implementation of Mining interface. More...
 
std::unique_ptr< NodeMakeNode (node::NodeContext &context)
 Return implementation of Node interface. More...
 
std::unique_ptr< WalletMakeWallet (wallet::WalletContext &context, const std::shared_ptr< wallet::CWallet > &wallet)
 Return implementation of Wallet interface. More...
 

Typedef Documentation

◆ WalletOrderForm

using interfaces::WalletOrderForm = typedef std::vector<std::pair<std::string, std::string> >

Definition at line 61 of file wallet.h.

◆ WalletValueMap

using interfaces::WalletValueMap = typedef std::map<std::string, std::string>

Definition at line 62 of file wallet.h.

Function Documentation

◆ MakeChain()

std::unique_ptr< Chain > interfaces::MakeChain ( node::NodeContext node)

Return implementation of Chain interface.

Definition at line 903 of file interfaces.cpp.

Here is the caller graph for this function:

◆ MakeCleanupHandler()

std::unique_ptr< Handler > interfaces::MakeCleanupHandler ( std::function< void()>  cleanup)

Return handler wrapping a cleanup function.

Definition at line 42 of file interfaces.cpp.

Here is the caller graph for this function:

◆ MakeEcho()

std::unique_ptr< Echo > interfaces::MakeEcho ( )

Return implementation of Echo interface.

Definition at line 52 of file interfaces.cpp.

◆ MakeGuiInit()

std::unique_ptr< Init > interfaces::MakeGuiInit ( int  argc,
char *  argv[] 
)

Return implementation of Init interface for the gui process.

Definition at line 44 of file bitcoin-gui.cpp.

Here is the caller graph for this function:

◆ MakeIpc()

std::unique_ptr< Ipc > interfaces::MakeIpc ( const char *  exe_name,
const char *  process_argv0,
Init init 
)

Return implementation of Ipc interface.

Definition at line 74 of file interfaces.cpp.

◆ MakeMining()

std::unique_ptr< Mining > interfaces::MakeMining ( node::NodeContext node)

Return implementation of Mining interface.

Definition at line 904 of file interfaces.cpp.

◆ MakeNode()

std::unique_ptr< Node > interfaces::MakeNode ( node::NodeContext context)

Return implementation of Node interface.

Definition at line 902 of file interfaces.cpp.

◆ MakeNodeInit()

std::unique_ptr< Init > interfaces::MakeNodeInit ( node::NodeContext node,
int  argc,
char *  argv[],
int &  exit_status 
)

Return implementation of Init interface for the node process.

If the argv indicates that this is a child process spawned to handle requests from a parent process, this blocks and handles requests, then returns null and a status code to exit with. If this returns non-null, the caller can start up normally and use the Init object to spawn and connect to other processes while it is running.

Definition at line 47 of file bitcoin-node.cpp.

◆ MakeSignalHandler()

std::unique_ptr< Handler > interfaces::MakeSignalHandler ( boost::signals2::connection  connection)

Return handler wrapping a boost signal connection.

Definition at line 47 of file interfaces.cpp.

◆ MakeWallet()

std::unique_ptr< Wallet > interfaces::MakeWallet ( wallet::WalletContext context,
const std::shared_ptr< wallet::CWallet > &  wallet 
)

Return implementation of Wallet interface.

This function is defined in dummywallet.cpp and throws if the wallet component is not compiled.

Definition at line 690 of file interfaces.cpp.

Here is the caller graph for this function:

◆ MakeWalletInit()

std::unique_ptr< Init > interfaces::MakeWalletInit ( int  argc,
char *  argv[],
int &  exit_status 
)

Return implementation of Init interface for the wallet process.

Definition at line 10 of file bitcoin-wallet.cpp.

◆ MakeWalletLoader()

std::unique_ptr< WalletLoader > interfaces::MakeWalletLoader ( Chain chain,
ArgsManager args 
)

Return implementation of ChainClient interface for a wallet loader.

This function will be undefined in builds where ENABLE_WALLET is false.

Definition at line 64 of file dummywallet.cpp.

Here is the caller graph for this function: