diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-11-16 08:42:17 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-11-16 08:42:21 +0100 |
commit | cf63d635b168fe4166f56839101b4200f09e3844 (patch) | |
tree | 7a7ec7f3e6f0c15236dc69fe3bfa151665b396f5 /src/interfaces | |
parent | ffdab41f94521dc87e68a160546af55355340af5 (diff) | |
parent | 0e0f4fdd892223766db4a83194b6576847b757f7 (diff) | |
download | bitcoin-cf63d635b168fe4166f56839101b4200f09e3844.tar.xz |
Merge bitcoin/bitcoin#23499: multiprocess: Add interfaces::Node::broadCastTransaction method
0e0f4fdd892223766db4a83194b6576847b757f7 multiprocess: Add interfaces::Node::broadCastTransaction method (Russell Yanofsky)
Pull request description:
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 PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).
ACKs for top commit:
lsilva01:
Code Review ACK 0e0f4fd
Tree-SHA512: cd2c1fe8dc15e7cecf01a21d64319d6add1124995305a9ef9cb72f8492dc692c62d4f846182567d47a5048a533178a925419250941a47cb39932467c36bea3e1
Diffstat (limited to 'src/interfaces')
-rw-r--r-- | src/interfaces/node.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interfaces/node.h b/src/interfaces/node.h index ea1cb5ed72..974156e6e1 100644 --- a/src/interfaces/node.h +++ b/src/interfaces/node.h @@ -30,6 +30,7 @@ class RPCTimerInterface; class UniValue; class proxyType; enum class SynchronizationState; +enum class TransactionError; struct CNodeStateStats; struct NodeContext; struct bilingual_str; @@ -183,6 +184,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; |