[mempool] Track "unbroadcast" transactions

- Mempool tracks locally submitted transactions (wallet or rpc)
- Transactions are removed from set when the node receives a GETDATA request
  from a peer, or if the transaction is removed from the mempool.
This commit is contained in:
Amiti Uttarwar
2020-01-29 08:12:59 -08:00
parent 23991ee53a
commit 89eeb4a333
4 changed files with 41 additions and 2 deletions

View File

@@ -78,6 +78,10 @@ TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef t
}
if (relay) {
// the mempool tracks locally submitted transactions to make a
// best-effort of initial broadcast
node.mempool->AddUnbroadcastTx(hashTx);
RelayTransaction(hashTx, *node.connman);
}