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

Classes

struct  BlockAndHeaderTipInfo
 Block and header tip information. More...
 
struct  BlockInfo
 Block data sent with blockConnected, blockDisconnected notifications. More...
 
struct  BlockKey
 Hash/height pair to help track and identify blocks. More...
 
struct  BlockTip
 Block tip (could be a header or not, depends on the subscribed signal). 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  ExternalSigner
 External signer interface used by the GUI. More...
 
class  FoundBlock
 Helper for findBlock to selectively return pieces of block data. 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  Node
 Top-level interface for a bitcoin node (bitcoind process). More...
 
class  Wallet
 Interface for accessing a wallet. More...
 
struct  WalletAddress
 Information about one wallet address. More...
 
struct  WalletBalances
 Collection of wallet balances. 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  WalletTx
 
struct  WalletTxOut
 Wallet transaction output. More...
 
struct  WalletTxStatus
 Updated transaction status. More...
 

Typedefs

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

Functions

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< EchoMakeEcho ()
 Return implementation of Echo interface. More...
 
std::unique_ptr< HandlerMakeHandler (boost::signals2::connection connection)
 Return handler wrapping a boost signal connection. More...
 
std::unique_ptr< HandlerMakeHandler (std::function< void()> cleanup)
 Return handler wrapping a cleanup function. More...
 
std::unique_ptr< IpcMakeIpc (const char *exe_name, const char *process_argv0, Init &init)
 Return implementation of Ipc 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 53 of file wallet.h.

◆ WalletValueMap

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

Definition at line 54 of file wallet.h.

Function Documentation

◆ MakeChain()

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

Return implementation of Chain interface.

Definition at line 785 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 17 of file echo.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:

◆ MakeHandler() [1/2]

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

Return handler wrapping a boost signal connection.

Definition at line 35 of file handler.cpp.

Here is the caller graph for this function:

◆ MakeHandler() [2/2]

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

Return handler wrapping a cleanup function.

Definition at line 40 of file handler.cpp.

◆ 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.

◆ MakeNode()

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

Return implementation of Node interface.

Definition at line 784 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 46 of file bitcoin-node.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 616 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 62 of file dummywallet.cpp.

Here is the caller graph for this function: