Merge bitcoin/bitcoin#25581: test: refactor: pass absolute fee in create_lots_of_big_transactions helper

6cbe65c5d7 test: refactor: pass absolute fee in `create_lots_of_big_transactions` helper (Sebastian Falbesoner)

Pull request description:

  Recently merged PR #25522 (commit 2222842ae7) enabled specifying an absolute fee for MiniWallet's `create_self_transfer` method. We can use that in the `create_lots_of_big_transactions` helper to avoid deducting the fee manually (with prior conversion from BTC to Satoshis). This helper is used (directly or indirectly) in the tests `feature_maxuploadtarget.py`, `mempool_limit.py`, `mining_prioritisetransaction.py`.

ACKs for top commit:
  MarcoFalke:
    cr ACK 6cbe65c5d7

Tree-SHA512: 63d66939ae36722a2dc787cbd8f1f995de6232139c2169a3d25525f43c7aaacf646d86b4095a8078f26db18e916778c8097acb19ef17ab0f58382b8bb718d60b
This commit is contained in:
MacroFake 2022-07-11 09:21:34 +02:00
commit 327b7e9236
No known key found for this signature in database
GPG key ID: CE2B75697E69A548

View file

@ -512,16 +512,13 @@ def gen_return_txouts():
# Create a spend of each passed-in utxo, splicing in "txouts" to each raw
# transaction to make it large. See gen_return_txouts() above.
def create_lots_of_big_transactions(mini_wallet, node, fee, tx_batch_size, txouts, utxos=None):
from .messages import COIN
fee_sats = int(fee * COIN)
txids = []
use_internal_utxos = utxos is None
for _ in range(tx_batch_size):
tx = mini_wallet.create_self_transfer(
utxo_to_spend=None if use_internal_utxos else utxos.pop(),
fee_rate=0,
fee=fee,
)["tx"]
tx.vout[0].nValue -= fee_sats
tx.vout.extend(txouts)
res = node.testmempoolaccept([tx.serialize().hex()])[0]
assert_equal(res['fees']['base'], fee)