That way, users can see the effects settings directly on their transaction.
This changes the API of make_tx:
- get_coins is called inside make_tx, so that inputs can be changed dynamically
- make_tx takes an optional parameter: unconfirmed_only, passed to get_coins
- ConfirmTxDialog detects if we can pay by disabling confirmed_only or lowering fee
This fixes a regression where the plugin was assuming ordering for
txin.pubkeys (which is now a set).
(previously txin.pubkeys was a list ordered according to the final
sort order of keys inside the bitcoin script)
follow-up 719b468eee
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\history_list.py", line 673, in mouseDoubleClickEvent
self.parent.show_lightning_transaction(tx_item)
File "...\electrum\electrum\gui\qt\main_window.py", line 1082, in show_lightning_transaction
d = LightningTxDialog(self, tx_item)
File "...\electrum\electrum\gui\qt\lightning_tx_dialog.py", line 60, in __init__
self.invoice = invoice.lightning_invoice
AttributeError: 'Request' object has no attribute 'lightning_invoice'
follow-up 719b468eee
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\request_list.py", line 111, in item_changed
self.receive_tab.update_current_request()
File "...\electrum\electrum\gui\qt\receive_tab.py", line 227, in update_current_request
lnaddr = self.wallet.get_bolt11_invoice(req) if not help_texts.ln_is_error else ''
File "...\electrum\electrum\wallet.py", line 2515, in get_bolt11_invoice
amount_msat = req.amount_msat if req.amount_msat > 0 else None
TypeError: '>' not supported between instances of 'NoneType' and 'int'
Due to swaphelper's lifecycle (it is kept around longer than the swap dialog) it might
get initialized with a non-lightning wallet. don't initialize in that case.
proper fix is to tie the lifecycle to the swap process, or make it a child of the wallet.