[test] Integration tests for unbroadcast functionality
Summary:
Check that...
- mempool tracks & reattempts delivery of a transaction where a GETDATA hasn't been requested by a peer yet.
- transaction delivery is not attempted again after GETDATA is received.
- transaction is removed from the unbroadcast set when its removed from the mempool.
Adapted to our different APIs:
- create_confirmed_utxos is defined in test_framework.blocktools
- disconnect_nodes takes a node as 2nd parameter, not a node index
Includes a bugfix from bd093ca15:
- add missing parentheses after node.disconnect_p2ps
This is a backport of Core PR18807 [6/7]
https://github.com/bitcoin/bitcoin/pull/18038/commits/297a1785360c4db662a7f3d3ade7b6b503258d39
Depends on D9010
Test Plan: tests/functional/test_runner.py mempool_unbroadcast
Reviewers: #bitcoin_abc, majcosta
Reviewed By: #bitcoin_abc, majcosta
Differential Revision: https://reviews.bitcoinabc.org/D9011