Commit Graph

7586 Commits

Author SHA1 Message Date
SomberNight f2c96ca587 transaction.sign: (trivial) nicer log line 2024-09-26 15:09:19 +00:00
SomberNight 9b1ccb9978 android: add comment that OS push notifications are broken 2024-09-19 16:46:07 +00:00
ThomasV ad0b5453a3 qml: do not display success if swap failed.. 2024-09-19 13:16:32 +02:00
SomberNight 383f99796a qt gui: follow-up qt6: fix args for QWidget.setFocus()
Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\main_window.py", line 1797, in toggle_search
    self.search_box.setFocus(1)
TypeError: arguments did not match any overloaded call:
  setFocus(self): too many arguments
  setFocus(self, reason: Qt.FocusReason): argument 1 has unexpected type 'int'
2024-09-18 17:39:46 +00:00
ghost43 1e03b4668a Merge pull request #9205 from accumulator/issue9204
qml: add seed passphrase property to QEWallet, show in WalletDetails
2024-09-18 16:16:09 +00:00
Sander van Grieken 0d7ff8635b qml: add seed passphrase property to QEWallet, show in WalletDetails 2024-09-18 18:00:44 +02:00
SomberNight e8450f014e qt gui: default to QT_QPA_PLATFORM=xcb for AppImage
The wayland plugin would require at least debian 12 (or ubuntu 22.04) at runtime.

see https://github.com/spesmilo/electrum/pull/9189#pullrequestreview-2309983943 :

> I've now tried running the appimage on debian 10 (oldoldstable), and am getting an error with wayland.
>
> ```
>   4.16 | D | util.profiler | Plugins.__init__ 0.0422 sec
>   4.16 | I | daemon.Daemon | launching GUI: qt
>   4.76 | I | gui.qt.ElectrumGui | Qt GUI starting up... Qt=6.7.1, PyQt=6.7.1
> /tmp/.mount_electrFlGFOt/usr/bin/python3: symbol lookup error: /tmp/.mount_electrFlGFOt/usr/lib/python3.11/site-packages/PyQt6/Qt6/plugins/platforms/../../lib/libQt6WaylandClient.so.6: undefined symbol: wl_proxy_marshal_flags
> ```
>
> If I explicitly specify `QT_QPA_PLATFORM=xcb`, it starts and works as expected. But it picks wayland by default.
> I found https://bugreports.qt.io/browse/QTBUG-114635 and it looks like even debian 11 might be affected.
2024-09-18 15:48:57 +00:00
SomberNight e05d2a5dbe qt gui: clean-up QCheckBox.stateChanged handling
Some checkboxes, e.g. main_window.warn_if_testnet became buggy with pyqt6:
looks like the stateChanged signal passes an int, not a Qt.CheckState.
(and note that Qt.CheckState is an Enum, not an IntEnum).
So `x == Qt.CheckState.Checked` would always evaluate to False.

```
def on_cb(_x):
    print(f"heyheyhey. {_x=!r}, {Qt.CheckState.Checked=!r}, {cb.checkState()=!r}, {cb.isChecked()=!r}")
cb = QCheckBox("")
cb.stateChanged.connect(on_cb)
```

heyheyhey. x=2, Qt.CheckState.Checked=<CheckState.Checked: 2>, cb.checkState()=<CheckState.Checked: 2>, cb.isChecked()=True
heyheyhey. x=0, Qt.CheckState.Checked=<CheckState.Checked: 2>, cb.checkState()=<CheckState.Unchecked: 0>, cb.isChecked()=False
2024-09-18 15:48:54 +00:00
SomberNight 1ee6361c7e qt gui: qt6 migration follow-ups 2024-09-18 15:48:50 +00:00
SomberNight d791e3a9c8 qt gui: fix: qt6 segfaults on macOS if we add a menu item named "About"
macOS reserves the "About" menu item name, similarly to "Preferences" (see a few lines above).
The "About" keyword seems even more strictly locked down:
not allowed as either a prefix or a suffix.
- With Qt5, a matching menu item is simply auto-recognised as the special "About" item,
- but with Qt6, it seems we explicitly have to do this dance, as directly adding
  a menu item with the "About" name results in a segfault...
2024-09-18 15:48:46 +00:00
SomberNight cfe8502f96 qt desktop gui: upgrade qt5->qt6
closes https://github.com/spesmilo/electrum/issues/8007
2024-09-18 15:48:38 +00:00
SomberNight c3e0457d1c Merge branch 'pr/9190': revealer plugin: update Source Sans Pro font
see https://github.com/spesmilo/electrum/pull/9190
2024-09-18 15:25:30 +00:00
Soren Stoutner 815e18302d revealer plugin: move font initialisation to earlier
Co-authored-by: SomberNight <somber.night@protonmail.com>
2024-09-18 15:11:30 +00:00
ghost43 ba3935c842 Merge pull request #9201 from accumulator/sweep_privkey_fixes
qt: fix scanning multi (privkeys, addresses) from QR.
2024-09-17 13:33:42 +00:00
Sander van Grieken eaebcaf383 qml: styling HelpDialog 2024-09-17 13:22:37 +02:00
Sander van Grieken a01ae99a6f qt: fix scanning multi (privkeys, addresses) from QR. 2024-09-17 11:50:21 +02:00
SomberNight 1257f21b1b constants: rm set_testnet/set_mainnet fns with AbstractNet.set_as_network 2024-09-16 15:27:45 +00:00
SomberNight 778aea340e follow-up testnet4 stuff: trivial clean-up
re https://github.com/spesmilo/electrum/pull/9197

localhost in servers list should only be for regtest-like networks
2024-09-16 15:11:03 +00:00
ghost43 714e5cd84b Merge pull request #9197 from wakiyamap/add_support_testnet4
Add suport testnet4
2024-09-16 15:02:05 +00:00
Sander van Grieken 0b09592ef1 qt: move query_choice to MessageBoxMixin, document ChoiceWidget 2024-09-14 11:12:42 +02:00
wakiyamap 1adc0ad4d9 remove BOLT11_HRP_INV_DICT 2024-09-14 09:51:44 +09:00
wakiyamap 1d9ff40d0b Add suport testnet4 2024-09-14 03:52:03 +09:00
Sander van Grieken 0277950247 qt: factor out remaining ChoicesLayout uses 2024-09-13 17:10:52 +02:00
Soren Stoutner 47370d773c Update Source Sans Pro font to the current Source Sans 3. 2024-09-10 17:30:32 -07:00
SomberNight 2ebf8fd9ef qt gui: use QGuiApplication.setApplicationName
I noticed that when running from source on macOS, the OS menubar has an "About Python" menu item,
instead of an "About Electrum" menu item. I tried to fix that by this, but actually it is not working :P

Nevertheless, this looks useful at least on Linux and Windows. E.g. when instantiating a new dialog
without an explicit title, the qt application name is used as default.

The application name, without this change AFAICS was already "Electrum" when running any of the binaries.
However when running from source, it was in some cases "python" or "run_electrum" or even "electrum-4"
(depending on OS and how the main script is started).
Now it is consistent -- except on macOS it still is not, as there it really wants to look for a .plist...
2024-09-09 16:34:43 +00:00
ghost43 2f9ce3ff8c Merge pull request #9183 from JamieDriver/jade_native_psbt
Jade native psbt
2024-09-09 14:41:47 +00:00
SomberNight f091f23776 follow-up moving some funcs from ecc.py to bitcoin.py (no. 2)
follow-up 2f3d89f415
2024-09-06 17:05:23 +00:00
Jamie C. Driver 2cba0708d5 jade: use Jade's native PSBT signing and remove massaging into legacy format 2024-09-05 08:40:45 +01:00
Jamie C. Driver 11f5ba31ce jade: update Jade api to 1.0.31
This extends the serial api to recognise recently supported hardware.
2024-09-05 08:40:45 +01:00
SomberNight a674a22155 follow-up moving some funcs from ecc.py to bitcoin.py
follow-up 2f3d89f415
2024-09-03 16:58:41 +00:00
ghost43 fcb4d06421 Merge pull request #9170 from SomberNight/202408_android_qr_set_max_brightness
qml/android: set max screen brightness when displaying QR codes
2024-09-02 15:45:11 +00:00
SomberNight a54751ee4f gui: qt: tx dialog: add option to copy scriptpubkey of output
if there is no corresponding address
(otherwise due to "..." elision, the full spk would be inaccessible)
2024-09-02 14:54:15 +00:00
SomberNight 5ad8c97c1d hww: ledger: update udev rules and model ids
see https://github.com/bitcoin-core/HWI/pull/746

maybe closes https://github.com/spesmilo/electrum/issues/9179
2024-09-02 13:50:35 +00:00
SomberNight 7a7b43c0a8 qml/android: set max screen brightness when displaying QR codes
In some cases this makes it much easier to successfully scan a QR code.
I was trying to scan a PSBT using a laptop camera from my phone screen for 2 minutes, until I realised the screen brightness was the issue.  o.O
2024-08-21 23:37:36 +00:00
ghost43 d7014c361d Merge pull request #9141 from dlitz/fixes-for-trezorlib-0.13.9
trezor: Fix for trezor library version 0.13.9
2024-08-14 20:15:10 +00:00
SomberNight 1880c6a749 qt wizard WCWalletName: focus password textedit
- between the Back btn and the Next btn, the latter should have priority for focus
- but if the user needs to enter the wallet password, that textedit should have focus

closes https://github.com/spesmilo/electrum/issues/9157
related c6802adbae
2024-08-13 04:05:03 +00:00
ghost43 e8474e8928 Merge pull request #9160 from timesince/master
chore: fix some comments and var name
2024-08-13 03:34:39 +00:00
ghost43 287cb9ebb6 Merge pull request #9152 from shangchenglumetro/master
chore: fix some comments
2024-08-13 03:32:51 +00:00
SomberNight 16d2f0f9d4 wallet.get_tx_status: fix incorrect feerate for partial txs
The history tab would show an incorrect feerate for partial/unsigned (local) txs,
if they had any p2sh/p2wsh txins. We would just guess the script is p2wpkh, and
use that for the size calc. Now with calling add_info_from_wallet, the correct
size is used to calculate the feerate.

(The gui tx dialogs call add_info_from_wallet independently, so the size/feerate
shown there were already correct.)
2024-08-13 03:20:32 +00:00
timesince 18d90aee4f chore: fix some comments and var name
Signed-off-by: timesince <seekseat@icloud.com>
2024-08-12 01:36:35 +08:00
shangchenglumetro 4064686359 chore: fix some comments 2024-07-26 01:41:36 +08:00
ThomasV d0693c311f new wizard: set keystore password. fixes #9147 2024-07-22 10:53:39 +02:00
Darsey Litzenberger 8ae2a7868e trezor: Fix for trezor library version 0.13.9
This enables support for the Trezor Safe 5.
2024-07-18 23:22:07 -06:00
SomberNight 76f5d6ceb0 qt gui: clean-up efilter when exiting
related: https://github.com/spesmilo/electrum/issues/6889#issuecomment-2184052577
2024-07-09 14:26:24 +00:00
Sander van Grieken 295ea97f1f digitalbitbox: follow-up 2f3d89f415 2024-07-03 10:53:16 +02:00
Sander van Grieken 83e14794a1 plugin: clean up imports, style 2024-06-19 11:24:13 +02:00
SomberNight 3d6198eff0 trustedcoin: Wallet_2fa.make_unsigned_transaction to use **kwargs
We often forget updating the method signature of Wallet_2fa.make_unsigned_transaction
when changing Abstract_Wallet.make_unsigned_transaction.
2024-06-17 16:55:23 +00:00
SomberNight 2eb51bcbe6 trustedcoin: sanitize error messages coming from 2fa server
related https://github.com/spesmilo/electrum/issues/9096
2024-06-17 16:52:26 +00:00
SomberNight bec78b4210 util.error_text_str_to_safe_str: truncate long errors
The messages are sometimes logged and sometimes shown to the user,
- for logging we might not want to truncate or have higher limits,
- but when shown to the user, we definitely want to truncate the error text.
It is simplest to just do the truncation here, at the lowest level.

Note that we usually prepend the error text with a header e.g. "[DO NOT TRUST THIS MESSAGE]"
and if the error text is too long, this header at the beginning might get "lost" in some way.
Hence we should truncate the error text.
2024-06-17 16:52:13 +00:00
SomberNight 09e0413d38 trustedcoin: rm dead code (unused server method transfer_credit) 2024-06-17 14:44:42 +00:00