mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-12 12:52:35 -03:00
rpc: fix successful broadcast count in submitpackage
error msg
If a `submitpackage` RPC call errors due to any of the individual tx broadcasts failing, the returned error message is supposed to contain the number of successful broadcasts so far. Right now this is wrongly always shown as zero. Fix this by adding the missing counting. (Note though that the error should be really rare, as all txs have already been submitted succesfully to the mempool.)
This commit is contained in:
parent
4395b7f084
commit
7554b1fd66
1 changed files with 4 additions and 3 deletions
|
@ -839,15 +839,16 @@ static RPCHelpMan submitpackage()
|
|||
NONFATAL_UNREACHABLE();
|
||||
}
|
||||
}
|
||||
size_t num_broadcast{0};
|
||||
for (const auto& tx : txns) {
|
||||
size_t num_submitted{0};
|
||||
std::string err_string;
|
||||
const auto err = BroadcastTransaction(node, tx, err_string, 0, true, true);
|
||||
const auto err = BroadcastTransaction(node, tx, err_string, /*max_tx_fee=*/0, /*relay=*/true, /*wait_callback=*/true);
|
||||
if (err != TransactionError::OK) {
|
||||
throw JSONRPCTransactionError(err,
|
||||
strprintf("transaction broadcast failed: %s (all transactions were submitted, %d transactions were broadcast successfully)",
|
||||
err_string, num_submitted));
|
||||
err_string, num_broadcast));
|
||||
}
|
||||
num_broadcast++;
|
||||
}
|
||||
UniValue rpc_result{UniValue::VOBJ};
|
||||
UniValue tx_result_map{UniValue::VOBJ};
|
||||
|
|
Loading…
Reference in a new issue