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

Classes

struct  BlockAndHeaderTipInfo
 Block and header tip information. More...
 
struct  BlockInfo
 Block data sent with blockConnected, blockDisconnected notifications. More...
 
struct  BlockRef
 Hash/height pair to help track and identify blocks. More...
 
class  BlockTemplate
 Block template interface. 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  Mining
 Interface giving clients (RPC, Stratum v2 Template Provider in the future) ability to create block templates. 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  WalletMigrationResult
 Migrated wallet info. More...
 
struct  WalletTx
 
struct  WalletTxOut
 Wallet transaction output. More...
 
struct  WalletTxStatus
 Updated transaction status. More...
 

Typedefs

using SettingsUpdate = std::function< std::optional< interfaces::SettingsAction >(common::SettingsValue &)>
 
using WalletOrderForm = std::vector< std::pair< std::string, std::string > >
 
using WalletValueMap = std::map< std::string, std::string >
 

Enumerations

enum class  SettingsAction { WRITE , SKIP_WRITE }
 The action to be taken after updating a settings value. More...
 

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

◆ SettingsUpdate

using interfaces::SettingsUpdate = typedef std::function<std::optional<interfaces::SettingsAction>(common::SettingsValue&)>

Definition at line 102 of file chain.h.

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

Enumeration Type Documentation

◆ SettingsAction

enum class interfaces::SettingsAction
strong

The action to be taken after updating a settings value.

WRITE indicates that the updated value must be written to disk, while SKIP_WRITE indicates that the change will be kept in memory-only without persisting it.

Enumerator
WRITE 
SKIP_WRITE 

Definition at line 97 of file chain.h.

Function Documentation

◆ MakeChain()

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

Return implementation of Chain interface.

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

Here is the caller graph for this function:

◆ MakeGuiInit()

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

Return implementation of Init interface for the gui process.

Definition at line 49 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 104 of file interfaces.cpp.

◆ MakeMining()

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

Return implementation of Mining interface.

Definition at line 1000 of file interfaces.cpp.

◆ MakeNode()

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

Return implementation of Node interface.

Definition at line 998 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 48 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 705 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: