mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 07:09:15 +01:00
Merge bitcoin/bitcoin#33567: node: change a tx-relay on/off flag to enum
07a926474bnode: change a tx-relay on/off flag to enum (Vasil Dimov) Pull request description: Previously the `bool relay` argument to `BroadcastTransaction()` designated: ``` relay=true: add to the mempool and broadcast to all peers relay=false: add to the mempool ``` Change this to an `enum`, so it is more readable and easier to extend with a 3rd option. Consider these example call sites: ```cpp Paint(true); // Or Paint(/*is_red=*/true); ``` vs ```cpp Paint(RED); ``` The idea for putting `TxBroadcastMethod` into `node/types.h` by Ryan. --- This is part of [#29415 Broadcast own transactions only via short-lived Tor or I2P connections](https://github.com/bitcoin/bitcoin/pull/29415). Putting it in its own PR to reduce the size of #29415 and because it does not logically depend on the other commits from there. ACKs for top commit: optout21: ACK07a926474bkevkevinpal: ACK [07a9264](07a926474b) laanwj: Concept and code review ACK07a926474b. Agree with the general reasoning and the change in #29415 is a valid motivation to change this interface. glozow: utACK07a926474bTree-SHA512: ec8f6fa56a6d2422a0fbd5941ff2792685e8d8e7b9dd50bba9f3e21ed9b4a4a26c89b0d7e4895d48f30b7a635f2eddd894af26b5266410952cbdaf5c40b42966
This commit is contained in:
@@ -363,7 +363,12 @@ public:
|
||||
}
|
||||
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);
|
||||
return BroadcastTransaction(*m_context,
|
||||
std::move(tx),
|
||||
err_string,
|
||||
max_tx_fee,
|
||||
TxBroadcast::MEMPOOL_AND_BROADCAST_TO_ALL,
|
||||
/*wait_callback=*/false);
|
||||
}
|
||||
WalletLoader& walletLoader() override
|
||||
{
|
||||
@@ -672,10 +677,10 @@ public:
|
||||
}
|
||||
bool broadcastTransaction(const CTransactionRef& tx,
|
||||
const CAmount& max_tx_fee,
|
||||
bool relay,
|
||||
TxBroadcast broadcast_method,
|
||||
std::string& err_string) override
|
||||
{
|
||||
const TransactionError err = BroadcastTransaction(m_node, tx, err_string, max_tx_fee, relay, /*wait_callback=*/false);
|
||||
const TransactionError err = BroadcastTransaction(m_node, tx, err_string, max_tx_fee, broadcast_method, /*wait_callback=*/false);
|
||||
// Chain clients only care about failures to accept the tx to the mempool. Disregard non-mempool related failures.
|
||||
// Note: this will need to be updated if BroadcastTransactions() is updated to return other non-mempool failures
|
||||
// that Chain clients do not need to know about.
|
||||
|
||||
Reference in New Issue
Block a user