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

Classes

struct  BlockAndHeaderTipInfo
 Block and header tip information. 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  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  WalletClient
 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< WalletMakeWallet (const std::shared_ptr< CWallet > &wallet)
 
std::unique_ptr< WalletClientMakeWalletClient (Chain &chain, ArgsManager &args)
 Return implementation of ChainClient interface for a wallet client. More...
 
std::unique_ptr< InitMakeNodeInit (NodeContext &node, int argc, char *argv[], int &exit_status)
 Return implementation of Init interface for the node process. More...
 
std::unique_ptr< ChainMakeChain (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< InitMakeWalletInit (int argc, char *argv[], int &exit_status)
 Return implementation of Init interface for the wallet process. More...
 
std::unique_ptr< InitMakeGuiInit (int argc, char *argv[])
 Return implementation of Init interface for the gui process. 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 (NodeContext &context)
 Return implementation of Node interface. More...
 
std::unique_ptr< WalletMakeWallet (WalletContext &context, const std::shared_ptr< 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 48 of file wallet.h.

◆ WalletValueMap

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

Definition at line 49 of file wallet.h.

Function Documentation

◆ MakeChain()

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

Return implementation of Chain interface.

Definition at line 714 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.

◆ 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 ( NodeContext context)

Return implementation of Node interface.

Definition at line 713 of file interfaces.cpp.

◆ MakeNodeInit()

std::unique_ptr< Init > interfaces::MakeNodeInit ( 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 45 of file bitcoin-node.cpp.

Here is the caller graph for this function:

◆ MakeWallet() [1/2]

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

Definition at line 62 of file dummywallet.cpp.

Here is the caller graph for this function:

◆ MakeWallet() [2/2]

std::unique_ptr< Wallet > interfaces::MakeWallet ( WalletContext context,
const std::shared_ptr< 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 587 of file interfaces.cpp.

◆ MakeWalletClient()

std::unique_ptr< WalletClient > interfaces::MakeWalletClient ( Chain chain,
ArgsManager args 
)

Return implementation of ChainClient interface for a wallet client.

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

Definition at line 67 of file dummywallet.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.