mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
Merge bitcoin/bitcoin#23004: multiprocess: add interfaces::ExternalSigner class
a032fa30d2multiprocess: add interfaces::ExternalSigner class (Russell Yanofsky) Pull request description: Add `interfaces::ExternalSigner` class to let signer objects be passed between processes and let signer code run in the original process where the object was created. --- This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10). ACKs for top commit: laanwj: Concept and code review ACKa032fa30d2hebasto: re-ACKa032fa30d2Tree-SHA512: 99a729fb3a64d010e142cc778a9f1f358e58345b77faaf2664de7d2277715d59df3352326e8f0f2a6628038670eaa4556310a549079fb28af6d2eeb05aea1460
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
#define BITCOIN_INTERFACES_NODE_H
|
||||
|
||||
#include <consensus/amount.h>
|
||||
#include <external_signer.h>
|
||||
#include <net.h> // For NodeId
|
||||
#include <net_types.h> // For banmap_t
|
||||
#include <netaddress.h> // For Network
|
||||
@@ -50,6 +49,16 @@ struct BlockAndHeaderTipInfo
|
||||
double verification_progress;
|
||||
};
|
||||
|
||||
//! External signer interface used by the GUI.
|
||||
class ExternalSigner
|
||||
{
|
||||
public:
|
||||
virtual ~ExternalSigner() {};
|
||||
|
||||
//! Get signer display name
|
||||
virtual std::string getName() = 0;
|
||||
};
|
||||
|
||||
//! Top-level interface for a bitcoin node (bitcoind process).
|
||||
class Node
|
||||
{
|
||||
@@ -111,8 +120,8 @@ public:
|
||||
//! Disconnect node by id.
|
||||
virtual bool disconnectById(NodeId id) = 0;
|
||||
|
||||
//! List external signers
|
||||
virtual std::vector<ExternalSigner> externalSigners() = 0;
|
||||
//! Return list of external signers (attached devices which can sign transactions).
|
||||
virtual std::vector<std::unique_ptr<ExternalSigner>> listExternalSigners() = 0;
|
||||
|
||||
//! Get total bytes recv.
|
||||
virtual int64_t getTotalBytesRecv() = 0;
|
||||
|
||||
Reference in New Issue
Block a user