diff --git a/electrum/transaction.py b/electrum/transaction.py index bcf44e8be..425ce9a80 100644 --- a/electrum/transaction.py +++ b/electrum/transaction.py @@ -148,9 +148,18 @@ class TxOutput: return cls(scriptpubkey=bfh(addr), value=val) raise Exception(f"unexpected legacy address type: {_type}") + @property + def scriptpubkey(self) -> bytes: + return self._scriptpubkey + + @scriptpubkey.setter + def scriptpubkey(self, scriptpubkey: bytes): + self._scriptpubkey = scriptpubkey + self._address = get_address_from_output_script(scriptpubkey) + @property def address(self) -> Optional[str]: - return get_address_from_output_script(self.scriptpubkey) # TODO cache this? + return self._address def get_ui_address_str(self) -> str: addr = self.address