Browse Source

bugfix: assert walrus (":=") combo side-eff. breaks w/ asserts disabled

```
$ python3 -O
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> assert (x := 2)
>>> x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
```

pity. it looked to be a neat and concise pattern.
master
SomberNight 3 years ago
parent
commit
be159b5b95
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 3
      electrum/plugins/bitbox02/bitbox02.py
  2. 3
      electrum/plugins/digitalbitbox/digitalbitbox.py
  3. 3
      electrum/plugins/jade/jade.py
  4. 6
      electrum/plugins/keepkey/keepkey.py
  5. 6
      electrum/plugins/safe_t/safe_t.py
  6. 6
      electrum/plugins/trezor/trezor.py

3
electrum/plugins/bitbox02/bitbox02.py

@ -444,7 +444,8 @@ class BitBox02Client(HardwareClientBase):
} }
) )
assert (desc := txin.script_descriptor) desc = txin.script_descriptor
assert desc
if tx_script_type is None: if tx_script_type is None:
tx_script_type = desc.to_legacy_electrum_script_type() tx_script_type = desc.to_legacy_electrum_script_type()
elif tx_script_type != desc.to_legacy_electrum_script_type(): elif tx_script_type != desc.to_legacy_electrum_script_type():

3
electrum/plugins/digitalbitbox/digitalbitbox.py

@ -528,7 +528,8 @@ class DigitalBitbox_KeyStore(Hardware_KeyStore):
if txin.is_coinbase_input(): if txin.is_coinbase_input():
self.give_error("Coinbase not supported") # should never happen self.give_error("Coinbase not supported") # should never happen
assert (desc := txin.script_descriptor) desc = txin.script_descriptor
assert desc
if desc.to_legacy_electrum_script_type() != 'p2pkh': if desc.to_legacy_electrum_script_type() != 'p2pkh':
p2pkhTransaction = False p2pkhTransaction = False

3
electrum/plugins/jade/jade.py

@ -280,7 +280,8 @@ class Jade_KeyStore(Hardware_KeyStore):
change = [None] * len(tx.outputs()) change = [None] * len(tx.outputs())
for index, txout in enumerate(tx.outputs()): for index, txout in enumerate(tx.outputs()):
if txout.is_mine and txout.is_change: if txout.is_mine and txout.is_change:
assert (desc := txout.script_descriptor) desc = txout.script_descriptor
assert desc
if is_multisig: if is_multisig:
# Multisig - wallet details must be registered on Jade hw # Multisig - wallet details must be registered on Jade hw
multisig_name = _register_multisig_wallet(wallet, self, txout.address) multisig_name = _register_multisig_wallet(wallet, self, txout.address)

6
electrum/plugins/keepkey/keepkey.py

@ -371,7 +371,8 @@ class KeepKeyPlugin(HW_PluginBase):
assert isinstance(tx, PartialTransaction) assert isinstance(tx, PartialTransaction)
assert isinstance(txin, PartialTxInput) assert isinstance(txin, PartialTxInput)
assert keystore assert keystore
assert (desc := txin.script_descriptor) desc = txin.script_descriptor
assert desc
if multi := desc.get_simple_multisig(): if multi := desc.get_simple_multisig():
multisig = self._make_multisig(multi) multisig = self._make_multisig(multi)
else: else:
@ -417,7 +418,8 @@ class KeepKeyPlugin(HW_PluginBase):
def tx_outputs(self, tx: PartialTransaction, *, keystore: 'KeepKey_KeyStore'): def tx_outputs(self, tx: PartialTransaction, *, keystore: 'KeepKey_KeyStore'):
def create_output_by_derivation(): def create_output_by_derivation():
assert (desc := txout.script_descriptor) desc = txout.script_descriptor
assert desc
script_type = self.get_keepkey_output_script_type(desc.to_legacy_electrum_script_type()) script_type = self.get_keepkey_output_script_type(desc.to_legacy_electrum_script_type())
if multi := desc.get_simple_multisig(): if multi := desc.get_simple_multisig():
multisig = self._make_multisig(multi) multisig = self._make_multisig(multi)

6
electrum/plugins/safe_t/safe_t.py

@ -341,7 +341,8 @@ class SafeTPlugin(HW_PluginBase):
assert isinstance(tx, PartialTransaction) assert isinstance(tx, PartialTransaction)
assert isinstance(txin, PartialTxInput) assert isinstance(txin, PartialTxInput)
assert keystore assert keystore
assert (desc := txin.script_descriptor) desc = txin.script_descriptor
assert desc
if multi := desc.get_simple_multisig(): if multi := desc.get_simple_multisig():
multisig = self._make_multisig(multi) multisig = self._make_multisig(multi)
else: else:
@ -387,7 +388,8 @@ class SafeTPlugin(HW_PluginBase):
def tx_outputs(self, tx: PartialTransaction, *, keystore: 'SafeTKeyStore'): def tx_outputs(self, tx: PartialTransaction, *, keystore: 'SafeTKeyStore'):
def create_output_by_derivation(): def create_output_by_derivation():
assert (desc := txout.script_descriptor) desc = txout.script_descriptor
assert desc
script_type = self.get_safet_output_script_type(desc.to_legacy_electrum_script_type()) script_type = self.get_safet_output_script_type(desc.to_legacy_electrum_script_type())
if multi := desc.get_simple_multisig(): if multi := desc.get_simple_multisig():
multisig = self._make_multisig(multi) multisig = self._make_multisig(multi)

6
electrum/plugins/trezor/trezor.py

@ -412,7 +412,8 @@ class TrezorPlugin(HW_PluginBase):
assert isinstance(tx, PartialTransaction) assert isinstance(tx, PartialTransaction)
assert isinstance(txin, PartialTxInput) assert isinstance(txin, PartialTxInput)
assert keystore assert keystore
assert (desc := txin.script_descriptor) desc = txin.script_descriptor
assert desc
if multi := desc.get_simple_multisig(): if multi := desc.get_simple_multisig():
txinputtype.multisig = self._make_multisig(multi) txinputtype.multisig = self._make_multisig(multi)
txinputtype.script_type = self.get_trezor_input_script_type(desc.to_legacy_electrum_script_type()) txinputtype.script_type = self.get_trezor_input_script_type(desc.to_legacy_electrum_script_type())
@ -444,7 +445,8 @@ class TrezorPlugin(HW_PluginBase):
def tx_outputs(self, tx: PartialTransaction, *, keystore: 'TrezorKeyStore'): def tx_outputs(self, tx: PartialTransaction, *, keystore: 'TrezorKeyStore'):
def create_output_by_derivation(): def create_output_by_derivation():
assert (desc := txout.script_descriptor) desc = txout.script_descriptor
assert desc
script_type = self.get_trezor_output_script_type(desc.to_legacy_electrum_script_type()) script_type = self.get_trezor_output_script_type(desc.to_legacy_electrum_script_type())
if multi := desc.get_simple_multisig(): if multi := desc.get_simple_multisig():
multisig = self._make_multisig(multi) multisig = self._make_multisig(multi)

Loading…
Cancel
Save