diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2021-11-12 15:20:53 -0500 |
---|---|---|
committer | Russell Yanofsky <russ@yanofsky.org> | 2021-11-12 15:20:53 -0500 |
commit | 0e0f4fdd892223766db4a83194b6576847b757f7 (patch) | |
tree | 0fd8793d1fd590aedc2b01c0841dbd2c9d6376f0 /src/node/interfaces.cpp | |
parent | c9dd5c8d6e59e27af98e99d2844d6ead8eec3162 (diff) | |
download | bitcoin-0e0f4fdd892223766db4a83194b6576847b757f7.tar.xz |
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.
Diffstat (limited to 'src/node/interfaces.cpp')
-rw-r--r-- | src/node/interfaces.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp index 192caf7994..57142e1c73 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -261,6 +261,10 @@ public: LOCK(::cs_main); return chainman().ActiveChainstate().CoinsTip().GetCoin(output, coin); } + TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee, std::string& err_string) override + { + return BroadcastTransaction(*m_context, std::move(tx), err_string, max_tx_fee, /*relay=*/ true, /*wait_callback=*/ false); + } WalletClient& walletClient() override { return *Assert(m_context->wallet_client); |