Bitcoin Core  0.20.99
P2P Digital Currency
transaction.cpp File Reference
#include <consensus/validation.h>
#include <net.h>
#include <net_processing.h>
#include <node/context.h>
#include <validation.h>
#include <validationinterface.h>
#include <node/transaction.h>
#include <future>
Include dependency graph for transaction.cpp:

Go to the source code of this file.


TransactionError BroadcastTransaction (NodeContext &node, const CTransactionRef tx, std::string &err_string, const CAmount &max_tx_fee, bool relay, bool wait_callback)
 Submit a transaction to the mempool and (optionally) relay it to all P2P peers. More...

Function Documentation

◆ BroadcastTransaction()

TransactionError BroadcastTransaction ( NodeContext node,
CTransactionRef  tx,
std::string &  err_string,
const CAmount max_tx_fee,
bool  relay,
bool  wait_callback 

Submit a transaction to the mempool and (optionally) relay it to all P2P peers.

Mempool submission can be synchronous (will await mempool entry notification over the CValidationInterface) or asynchronous (will submit and not wait for notification), depending on the value of wait_callback. wait_callback MUST NOT be set while cs_main, cs_mempool or cs_wallet are held to avoid deadlock.

[in]nodereference to node context
[in]txthe transaction to broadcast
[out]err_stringreference to std::string to fill with error string if available
[in]max_tx_feereject txs with fees higher than this (if 0, accept any fee)
[in]relayflag if both mempool insertion and p2p relay are requested
[in]wait_callbackwait until callbacks have been processed to avoid stale result due to a sequentially RPC. return error

Definition at line 16 of file transaction.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: