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


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  Handler
 Generic interface for managing an event handler or callback function registered with another interface. More...
class  Node
 Top-level interface for a bitcoin node (bitcoind process). More...
class  PendingWalletTx
 Tracking object returned by CreateTransaction and passed to CommitTransaction. More...
class  Wallet
 Interface for accessing a wallet. More...
struct  WalletAddress
 Information about one wallet address. More...
struct  WalletBalances
 Collection of wallet balances. More...
struct  WalletTx
struct  WalletTxOut
 Wallet transaction output. More...
struct  WalletTxStatus
 Updated transaction status. More...


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


std::unique_ptr< WalletMakeWallet (const std::shared_ptr< CWallet > &wallet)
 Return implementation of Wallet interface. More...
std::unique_ptr< ChainMakeChain ()
 Return implementation of Chain interface. More...
std::unique_ptr< ChainClientMakeWalletClient (Chain &chain, std::vector< std::string > wallet_filenames)
 Return implementation of ChainClient interface for a wallet client. More...
std::unique_ptr< HandlerMakeHandler (boost::signals2::connection connection)
 Return handler wrapping a boost signal connection. More...
std::unique_ptr< NodeMakeNode ()
 Return implementation of Node interface. More...

Typedef Documentation

◆ WalletOrderForm

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

Definition at line 42 of file wallet.h.

◆ WalletValueMap

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

Definition at line 43 of file wallet.h.

Function Documentation

◆ MakeChain()

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

Return implementation of Chain interface.

Definition at line 383 of file chain.cpp.

Here is the caller graph for this function:

◆ MakeHandler()

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

Return handler wrapping a boost signal connection.

Definition at line 27 of file handler.cpp.

Here is the caller graph for this function:

◆ MakeNode()

std::unique_ptr< Node > interfaces::MakeNode ( )

Return implementation of Node interface.

Definition at line 315 of file node.cpp.

Here is the caller graph for this function:

◆ MakeWallet()

std::unique_ptr< Wallet > interfaces::MakeWallet ( 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 81 of file dummywallet.cpp.

◆ MakeWalletClient()

std::unique_ptr< ChainClient > interfaces::MakeWalletClient ( Chain chain,
std::vector< std::string >  wallet_filenames 

Return implementation of ChainClient interface for a wallet client.

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

Currently, wallets are the only chain clients. But in the future, other types of chain clients could be added, such as tools for monitoring, analysis, or fee estimation. These clients need to expose their own MakeXXXClient functions returning their implementations of the ChainClient interface.

Definition at line 528 of file wallet.cpp.

Here is the caller graph for this function: