diff --git a/electrum/bitcoin.py b/electrum/bitcoin.py index aa73623f9..cb2431df5 100644 --- a/electrum/bitcoin.py +++ b/electrum/bitcoin.py @@ -317,10 +317,13 @@ def construct_witness(items: Sequence[Union[str, int, bytes]]) -> str: return witness -def construct_script(items: Sequence[Union[str, int, bytes, opcodes]]) -> str: +def construct_script(items: Sequence[Union[str, int, bytes, opcodes]], values=None) -> str: """Constructs bitcoin script from given items.""" script = '' - for item in items: + values = values or {} + for i, item in enumerate(items): + if i in values: + item = values[i] if isinstance(item, opcodes): script += item.hex() elif type(item) is int: