forked from bitcoinafterlife/bal-electrum-plugin
Fix: NoneType error in normalize_will when others_inputs is None
When deleting old transactions and clicking Check, task_phase1 would fail with 'NoneType object has no attribute get' error in WillItem.normalize_locktime. Root cause: In Will.normalize_will (will.py:150), the parameter others_inputs defaults to None. At line 151, a local variable 'others_input' is created with a safe default value (empty dict). However, lines 179 and 184 still used the original 'others_inputs' parameter instead of the safe local variable, causing the error when calling .get() on None. Fix: Use the safe 'others_input' variable instead of the raw parameter in lines 179 and 184. Also added: - Traceback logging to on_error_phase1 so future errors include full call stack - Debug logging in update_all to log willitems state before processing - Comprehensive test (test_e5_build_with_real_wallet_heirs_and_utxos) that reproduces the exact scenario from the user's karen7 wallet
This commit is contained in:
@@ -176,12 +176,12 @@ class Will:
|
||||
if txid != wid:
|
||||
outputs = will[wid].tx.outputs()
|
||||
ow = will[wid]
|
||||
ow.normalize_locktime(others_inputs)
|
||||
ow.normalize_locktime(others_input)
|
||||
will[wid] = WillItem(ow.to_dict())
|
||||
|
||||
for i in range(0, len(outputs)):
|
||||
Will.change_input(
|
||||
will, wid, i, outputs[i], others_inputs, to_delete, to_add
|
||||
will, wid, i, outputs[i], others_input, to_delete, to_add
|
||||
)
|
||||
|
||||
to_delete.append(wid)
|
||||
|
||||
Reference in New Issue
Block a user