There are some legitimate use-cases for changing the gap limit,
so just as it has already been possible to do in the GUI (using the console only! don't expose this to mere mortals.),
now CLI/RPC users have this exposed too.
The "changegaplimit" command will always raise unless invoked with the --iknowwhatimdoing option.
closes#5882
e.g.:
$ curl --data-binary '{"id":"curltext","jsonrpc":"2.0","method":"changegaplimit","params":{"new_limit": 30, "iknowwhatimdoing": true, "wallet":"~/.electrum/testnet/wallets/test_segwit_2"}}' http://user:password@127.0.0.1:7777
$ ./run_electrum --testnet changegaplimit 30 --iknowwhatimdoing -w ~/.electrum/testnet/wallets/test_segwit_2
For a watch-only wallet, previously a superfluous dummy "Tap to show"
box was shown.
For a has no seed stored (but not watch-only) wallet (e.g. bip39/xprv/imported_privkeys),
the "show seed" option was there and it raised an uncaught exception.
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\main_window.py", line 434, in on_network_qt
self.update_lightning_icon()
File "...\electrum\electrum\gui\qt\main_window.py", line 2091, in update_lightning_icon
self.lightning_button.setMaximumWidth(25 + 4 * char_width_in_lineedit())
AttributeError: 'ElectrumWindow' object has no attribute 'lightning_button'
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\main_window.py", line 434, in on_network_qt
self.update_lightning_icon()
File "...\electrum\electrum\gui\qt\main_window.py", line 2092, in update_lightning_icon
cur, total = self.network.lngossip.get_sync_progress_estimate()
File "...\electrum\electrum\lnworker.py", line 373, in get_sync_progress_estimate
if self.num_peers() == 0:
File "...\electrum\electrum\lnworker.py", line 202, in num_peers
return sum([p.is_initialized() for p in self.peers.values()])
File "...\electrum\electrum\lnworker.py", line 202, in
return sum([p.is_initialized() for p in self.peers.values()])
File "...\electrum\electrum\lnpeer.py", line 128, in is_initialized
return self.initialized.done() and self.initialized.result() is True
concurrent.futures._base.CancelledError
Wordlist subclasses 'tuple' so it can be transparently used.
'in' and '.index()' are fast.
Use Wordlist in bip39_is_checksum_valid, which makes that faster.
closes#5954
We are now giving every(?) hint possible to the MacOS file dialog...
The extension is put in the filename as before (which turned out not to be enough).
It is also set using QFileDialog.setDefaultSuffix, which again, turns out not to be enough.
In desperation, the file extension filter-list now contains *.psbt and *.txn as separate filters,
and the one with the expected extension is pre-selected. This seems enough...
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\main_window.py", line 1503, in do_pay
self.do_pay_invoice(invoice)
File "...\electrum\electrum\gui\qt\main_window.py", line 1516, in do_pay_invoice
self.pay_onchain_dialog(self.get_coins(), outputs)
File "...\electrum\electrum\gui\qt\main_window.py", line 1570, in pay_onchain_dialog
self.preview_tx_dialog(make_tx=make_tx,
File "...\electrum\electrum\gui\qt\main_window.py", line 1574, in preview_tx_dialog
d = PreviewTxDialog(make_tx=make_tx, external_keypairs=external_keypairs,
File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 654, in __init__
self.update()
File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 392, in update
tx_details = self.wallet.get_tx_info(self.tx)
File "...\electrum\electrum\wallet.py", line 486, in get_tx_info
tx_we_already_have_in_db = self.db.get_transaction(tx_hash)
File "...\electrum\electrum\json_db.py", line 44, in wrapper
return func(self, *args, **kwargs)
File "...\electrum\electrum\wallet_db.py", line 822, in get_transaction
assert isinstance(tx_hash, str)
AssertionError
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\confirm_tx_dialog.py", line 65, in timer_actions
self.update()
File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 392, in update
tx_details = self.wallet.get_tx_info(self.tx)
File "...\electrum\electrum\wallet.py", line 486, in get_tx_info
tx_we_already_have_in_db = self.db.get_transaction(tx_hash)
File "...\electrum\electrum\json_db.py", line 44, in wrapper
return func(self, *args, **kwargs)
File "...\electrum\electrum\wallet_db.py", line 822, in get_transaction
if tx_hash is None:
AssertionError