aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJames O'Beirne <james.obeirne@pm.me>2022-05-27 13:40:06 -0400
committerJames O'Beirne <james.obeirne@pm.me>2022-05-27 13:40:06 -0400
commit6120e8e2871fecfec5ab3099c97e13951e062a4d (patch)
treebb5feb517e4132230c818715e4242857c94e7a26 /test
parentc5e67be03bb06a5d7885c55db1f016fbf2333fe3 (diff)
downloadbitcoin-6120e8e2871fecfec5ab3099c97e13951e062a4d.tar.xz
test: allow passing sequence through create_self_transfer_multi
And some little type annotation additions.
Diffstat (limited to 'test')
-rw-r--r--test/functional/test_framework/wallet.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/test/functional/test_framework/wallet.py b/test/functional/test_framework/wallet.py
index 6901bcfe66..857c779adf 100644
--- a/test/functional/test_framework/wallet.py
+++ b/test/functional/test_framework/wallet.py
@@ -10,6 +10,7 @@ from enum import Enum
from random import choice
from typing import (
Any,
+ List,
Optional,
)
from test_framework.address import (
@@ -147,7 +148,7 @@ class MiniWallet:
def get_address(self):
return self._address
- def get_utxo(self, *, txid: str = '', vout: Optional[int] = None, mark_as_spent=True):
+ def get_utxo(self, *, txid: str = '', vout: Optional[int] = None, mark_as_spent=True) -> dict:
"""
Returns a utxo and marks it as spent (pops it from the internal list)
@@ -208,14 +209,21 @@ class MiniWallet:
return {'new_utxos': [self.get_utxo(txid=txid, vout=vout) for vout in range(len(tx.vout))],
'txid': txid, 'hex': tx.serialize().hex(), 'tx': tx}
- def create_self_transfer_multi(self, *, from_node, utxos_to_spend=None, num_outputs=1, fee_per_output=1000):
+ def create_self_transfer_multi(
+ self, *, from_node,
+ utxos_to_spend: Optional[List[dict]] = None,
+ num_outputs=1,
+ sequence=0,
+ fee_per_output=1000):
"""
Create and return a transaction that spends the given UTXOs and creates a
certain number of outputs with equal amounts.
"""
utxos_to_spend = utxos_to_spend or [self.get_utxo()]
# create simple tx template (1 input, 1 output)
- tx = self.create_self_transfer(fee_rate=0, from_node=from_node, utxo_to_spend=utxos_to_spend[0], mempool_valid=False)['tx']
+ tx = self.create_self_transfer(
+ fee_rate=0, from_node=from_node,
+ utxo_to_spend=utxos_to_spend[0], sequence=sequence, mempool_valid=False)['tx']
# duplicate inputs, witnesses and outputs
tx.vin = [deepcopy(tx.vin[0]) for _ in range(len(utxos_to_spend))]