1
0
Commit Graph

15218 Commits

Author SHA1 Message Date
SomberNight
e75110ec04 hw_wallet: de-dupe "message_dialog" code, make text selectable 2022-11-09 21:10:52 +00:00
SomberNight
e4a880e435 trezor: use lower device-enumeration timeout for udp transport
This transport IIUC is only used for the trezor emulator.
The default timeout is 10 seconds. Every time we enumerate hw devices,
we also enumerate trezor devices, including scanning for the udp transport.
For some reason, recently on Windows, sporadically, this scan keeps
hitting the timeout for me. Quite annoying, as I might not even be testing
trezor (and I am certainly not testing using the trezor emulator on Windows...),
but scanning to test other plugins.

Probably overkill to have a 10 sec timeout for contacting localhost anyway.
2022-11-09 17:46:18 +00:00
ghost43
65a2529480 Merge pull request #8058 from prusnak/trezor-no-serialize
trezor: optimize signing speed by not serializing transaction in trezor
2022-11-08 16:28:21 +00:00
Pavol Rusnak
b4e5f35e66 trezor: optimize signing speed by not serializing transaction in trezor
Since Electrum is not using TxRequestSerializedType.serialized_tx
we might ask the device not to serialize transactions
by setting SignTx.serialize=False

This flag is only present in trezorlib 0.13.4, so only users on that
version will benefit from the speedup.

However, we decided to keep the minimum required version to 0.13.0,
since the newer version is not strictly required.
2022-11-07 16:48:43 +01:00
Sander van Grieken
acde8cd0b7 add apt --allow-downgrades in more places.
build sdist also from debian bullseye container
2022-11-06 10:55:10 +01:00
Sander van Grieken
c0772019f1 rerun freeze_container_distro.sh and update docker base images for debian buster and bullseye 2022-11-06 10:42:39 +01:00
SomberNight
21dac9f8a6 util.EventListener: don't log "registering callback"
IMO this is just too spammy to log in the general case when running with -v
2022-11-06 06:12:41 +00:00
SomberNight
c6a497ed39 android README: (trivial) don't need sudo anymore 2022-11-06 06:05:54 +00:00
SomberNight
da3b271f5c cosigner_pool plugin: handle multiple multisig wallets open
fixes https://github.com/spesmilo/electrum/issues/3080
2022-11-06 04:36:56 +00:00
SomberNight
bab1c6da86 rerun freeze_packages 2022-11-05 14:41:42 +00:00
SomberNight
590abec339 build requirements: colorama grew a new build-time dependency :/
or more like four:
```
$ pipdeptree
hatchling==1.11.1
  - editables [required: >=0.3, installed: 0.3]
  - packaging [required: >=21.3, installed: 21.3]
    - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.9]
  - pathspec [required: >=0.10.1, installed: 0.10.1]
  - pluggy [required: >=1.0.0, installed: 1.0.0]
  - tomli [required: >=1.2.2, installed: 2.0.1]
```

Let's monitor how the situation evolves, and whether other packages start requiring hatchling,
but for now I am not going to add four new packages into the trusted base set...
Pinning colorama to an older version for now.

related:
https://github.com/tartley/colorama/pull/338
https://github.com/tartley/colorama/issues/349
2022-11-05 14:41:39 +00:00
SomberNight
326f8c4fca freeze_packages: better apply version restrictions on restricted deps
hashin does not react well to package spec collisions:
```
$ touch txt
$ python3 -m hashin -r txt "colorama==0.4.5" colorama
$ cat txt
colorama==0.4.6 \
    --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
    --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
```

This lets pip resolve the version bounds instead.
2022-11-05 14:41:35 +00:00
SomberNight
1e404f4e30 binaries: update python and openssl
note: python 3.9.x is now in source-only mode, so could not update to latest...
it is time to investigate upgrading to python 3.10 in the win and mac binaries
2022-11-05 14:41:23 +00:00
accumulator
d51ee07a81 use debian makensis instead of windows makensis executable through wine (#8057) 2022-11-04 20:31:01 +00:00
SomberNight
4a63ca2e1f CI: only build arm64 qml apk, not both
the qml apk builds take too much time, and no one actually uses the arm32 apk from the CI

see discussion in https://github.com/spesmilo/electrum/pull/8050
2022-11-04 16:16:12 +00:00
SomberNight
4548351ffd CI: rm redundant "populate_script" cache instructions 2022-11-04 15:49:27 +00:00
SomberNight
074ccdd072 CI: cache key should respect gitignore
otherwise when evaluating the cache key for the second cache within same task,
the first cache might side-effect it
2022-11-04 15:49:23 +00:00
SomberNight
54e22105b8 CI: cache more in Windows build 2022-11-04 15:49:19 +00:00
SomberNight
6f311c8930 appimage build: better caching, both locally and on CI 2022-11-04 15:49:16 +00:00
SomberNight
3b03bc9b29 CI: cache built *.dylib on macOS
note: the extra copies in make_osx.sh are needed because of the CI caching
(pyinstaller needs to see the .dylib's inside electrum/, e.g. when importing electrum during Analysis)
2022-11-04 15:49:12 +00:00
Sander van Grieken
97f02bca3b qml: add import additional addresses/keys to import wallet 2022-11-04 15:59:27 +01:00
Sander van Grieken
0c9d4abb82 qml: show 2FA status and billing info in WalletDetails, expose billing schedule setting in config 2022-11-04 13:35:15 +01:00
SomberNight
eb2ff94104 android: when running debug apk, disallow changing "enable_debug_logs"
follow-up 34b594ea40
2022-11-04 02:40:04 +00:00
SomberNight
4a3bc2f8b9 CI: macOS *still* does not have sha256sum :( 2022-11-04 01:53:49 +00:00
SomberNight
39dbd9492c CI: more aggressive cache invalidation
E.g. if we bump the python version, should not reuse the pip cache.
Easiest to invalidate cache if any build-specific file changes.
2022-11-04 01:51:19 +00:00
SomberNight
f8103163f7 CI: macOS does not have sha256sum 2022-11-04 01:27:40 +00:00
SomberNight
473dd08c04 CI: cache more 2022-11-04 00:49:01 +00:00
SomberNight
19d316f8e2 CI: rm obsolete "electrum_cache"
it's an empty folder.
2022-11-04 00:48:44 +00:00
SomberNight
ee8a20f7b6 CI: rename requirements-travis.txt 2022-11-04 00:48:21 +00:00
SomberNight
7328386413 CI: try to cache android apk builds
and build qml arm64 on every commit
2022-11-04 00:40:57 +00:00
SomberNight
84faf7f99a tests: fix TestLNTransport probabilistic failure
lucky CI run: https://github.com/spesmilo/electrum/runs/9273471816
2022-11-03 15:45:15 +00:00
SomberNight
08eff6faa3 android: mention in README how to install CI apks on phone 2022-11-03 13:28:51 +00:00
SomberNight
21c18bbbe7 util.parse_URI: honour docstring and only raise InvalidBitcoinURI
follow-up ac1d53f067
2022-11-03 12:47:21 +00:00
SomberNight
a15e383dbb wallet.add_input_info: also add block_height if known
The coin_chooser requires the block_height field (to prioritise confirmed utxos).
2022-11-03 12:30:37 +00:00
ThomasV
015648c4e5 Move get_dict method from wallet_db to json_db.
Define overloaded methods: _convert_dict _convert_values
2022-11-03 12:41:49 +01:00
Sander van Grieken
99b2970372 qml: forgot WalletDetails.qml 2022-11-03 12:23:41 +01:00
Sander van Grieken
0649f13ee8 qml: rework drawer, split wallet details from wallet list/picker 2022-11-02 16:43:10 +01:00
Sander van Grieken
3eaebe7b47 qml: flow tags to next line if exceeding most of screen width
properly update balance amount strings
2022-11-01 09:42:44 +01:00
Sander van Grieken
3f9df0517a qml: rename walletdetails to walletsummary 2022-11-01 09:40:57 +01:00
Sander van Grieken
00e1d1786c qml: balance piechart in walletdetails, fix menus to top header height 2022-11-01 09:39:20 +01:00
Sander van Grieken
6b979f2185 qml: add basic piechart 2022-10-30 22:51:10 +02:00
Sander van Grieken
7028435daa qml: create wallet details drawer 2022-11-01 09:37:57 +01:00
SomberNight
df2d0f4e1f qt send: use bolt11 fallback addr even if LN is disabled
Given a wallet with LN disabled,
and a bolt11 invoice (or a bip21 uri that only contains bolt11 but lacks a top-level address),
if the bolt11 invoice includes a fallback address,
we would previously just error "Lightning is disabled".

Now we offer the user to pay on-chain using the fallback address.

closes https://github.com/spesmilo/electrum/issues/8047
2022-10-31 19:15:03 +00:00
SomberNight
2fd762c308 qt send: bip21: ignore "lightning=" part if LN is disabled
A wallet with LN disabled could not pay a bip21 URI with an address and a "lightning=" key.
2022-10-31 19:09:08 +00:00
SomberNight
ac1d53f067 util.parse_URI: allow bip21 with lightning key without fallback addr
We would reject bip21 URIs that contained both an "address=" and a "lightning=" key with a bolt11 invoice,
where the bolt11 invoice did not contain a fallback address.
2022-10-31 19:03:12 +00:00
SomberNight
2863fb4ab4 tests: add "as_testnet" fn decorator, to run single tests in testnet
As opposed to using TestCaseForTestnet class, this allows having a single class
of many related unit tests, some using testnet and some using mainnet constants.
2022-10-31 18:44:38 +00:00
SomberNight
d3227d7489 transaction: for witness v0 txins, put both UTXO and WIT_UTXO in psbt
Until now we have been only putting PSBT_IN_NON_WITNESS_UTXO (="UTXO", full tx)
in segwit witness v0 txins, as signers wanted the full tx anyway due to
bip-143 sighash issue [0], and as WITNESS_UTXO can be calculated from UTXO.

My reading of bip-174 is that either behaviour is correct, but
achow101 said bip-174 expects PSBT_IN_WITNESS_UTXO for segwit inputs.
Regardless, including both fields does not increase the tx size too much
(UTXO can be very large ofc but we were already including that, WIT_UTXO is small).
This also might increase compatibility with some other software - I've found
some issues where this might have been the culprit [1][2][3].

closes https://github.com/spesmilo/electrum/issues/8039

related:
[0] https://github.com/spesmilo/electrum/pull/6198
[1] https://github.com/cryptoadvance/specter-desktop/issues/868
[2] https://github.com/cryptoadvance/specter-desktop/issues/1046
[3] https://github.com/cryptoadvance/specter-desktop/issues/1544
2022-10-31 17:14:21 +00:00
SomberNight
01b5e3f8e0 flake8: enable more mandatory tests 2022-10-31 16:13:22 +00:00
SomberNight
7db396aad9 follow-up prev: indentations should not use tabs in *.py
re https://github.com/spesmilo/electrum/pull/8044
2022-10-31 15:26:27 +00:00
ThomasV
5f24030e97 Merge pull request #8044 from mrmena/network_name
add network name to getinfo()
2022-10-30 10:41:40 +01:00