aboutsummaryrefslogtreecommitdiff
path: root/src/node/interfaces.cpp
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2021-11-12 15:20:53 -0500
committerRussell Yanofsky <russ@yanofsky.org>2021-11-12 15:20:53 -0500
commit0e0f4fdd892223766db4a83194b6576847b757f7 (patch)
tree0fd8793d1fd590aedc2b01c0841dbd2c9d6376f0 /src/node/interfaces.cpp
parentc9dd5c8d6e59e27af98e99d2844d6ead8eec3162 (diff)
downloadbitcoin-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.cpp4
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);