multiprocess: Add interfaces::Node::broadCastTransaction method

This fixes a null pointer crash in the bitcoin-gui PSBT dialog. The
bitcoin-gui interfaces::Node object has a null NodeContext pointer, and
can't broadcast transactions directly. It needs to broadcast
transactions through the bitcoin-node process instead.
This commit is contained in:
Russell Yanofsky
2021-11-12 15:20:53 -05:00
parent c9dd5c8d6e
commit 0e0f4fdd89
3 changed files with 10 additions and 2 deletions

View File

@@ -31,6 +31,7 @@ class RPCTimerInterface;
class UniValue;
class proxyType;
enum class SynchronizationState;
enum class TransactionError;
struct CNodeStateStats;
struct NodeContext;
struct bilingual_str;
@@ -174,6 +175,9 @@ public:
//! Get unspent outputs associated with a transaction.
virtual bool getUnspentOutput(const COutPoint& output, Coin& coin) = 0;
//! Broadcast transaction.
virtual TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee, std::string& err_string) = 0;
//! Get wallet client.
virtual WalletClient& walletClient() = 0;