1
0
Commit Graph

14900 Commits

Author SHA1 Message Date
ThomasV
2d6f40c8b8 fix #7935 2022-08-15 12:16:11 +02:00
ThomasV
8486168bbe fix typo 2022-08-13 07:41:48 +02:00
ThomasV
83feec2cb3 fix #7933 2022-08-12 18:07:38 +02:00
Sander van Grieken
9eb7ee74e1 qml: expose more flags and TxMinedInfo in qetxdetails 2022-08-12 16:39:15 +02:00
Sander van Grieken
74e9c848cc qml: QEAmount returns 0 when amount is undefined
an undefined amount triggers a hard to debug crash when None/undefined is passing the
python/QObject boundary, so let's default to 0
2022-08-12 16:38:18 +02:00
SomberNight
13570a465c kivy request dialog: follow-up c95791d7ee
related https://github.com/spesmilo/electrum/pull/7929
2022-08-12 11:10:54 +00:00
ThomasV
fceceaec97 lnwatcher: set future_tx regardless of tx_was_added, because it is not persisted 2022-08-12 12:26:18 +02:00
ThomasV
9058000791 lnwatcher: fix adding of local tx to history 2022-08-12 12:10:09 +02:00
Sander van Grieken
1c852328c0 qml: try-except around data query, history is very unpredictable what's present and what's not 2022-08-12 11:59:59 +02:00
Sander van Grieken
0c3ce4a6b6 qml: add address to bolt11>bip21>address QR caroussel and remove address copy button
(conform qt and kivy)
2022-08-12 11:59:48 +02:00
Sander van Grieken
0d7bcb5dd2 qml: refactor HistoryItemDelegate into separate file 2022-08-12 11:59:40 +02:00
ThomasV
f65368f1d0 kivy request dialog: follow-up c95791d7ee:
- toggle between text and qr code
 - fix minor issues
2022-08-12 11:46:44 +02:00
SomberNight
c95791d7ee qt/kivy: receive tab: add wallet.ReceiveRequestHelp and refactor 2022-08-12 10:06:13 +02:00
SomberNight
0a6265ef58 qt new_channel_dialog: fix None-handling for lnworker.suggest_peer()
fixes https://github.com/spesmilo/electrum/issues/7931
2022-08-12 02:50:52 +00:00
SomberNight
767b058946 qt history tab: fix "View Channel" in context menu
related: https://github.com/spesmilo/electrum/issues/7930
2022-08-12 02:30:29 +00:00
SomberNight
ba72abdbf5 kivy request_dialog: default to LN if there is no URI 2022-08-11 19:39:55 +00:00
SomberNight
bd7a6a8f77 qt/kivy receive tab: show error msg when creating req with amt<dust 2022-08-11 14:55:34 +00:00
SomberNight
5f5e6b3cf3 kivy request_dialog: disable "lightning" btn if no LN part 2022-08-11 13:57:25 +00:00
SomberNight
1b2d46722c kivy request_dialog: rm some magic numbers
note: not sure how to use IntEnum with kivy's NumericProperty
2022-08-11 13:50:53 +00:00
SomberNight
7d481935e2 qt ReceiveTab: handle case with URI=="" 2022-08-11 13:11:54 +00:00
SomberNight
0e15d7a973 qt RequestList: allow copying URI even if there is no bitcoin addr
(when there is LN part but no on-chain part)
2022-08-11 13:09:51 +00:00
SomberNight
659d6890d9 wallet.get_request_URI: rm code duplication 2022-08-11 13:07:56 +00:00
SomberNight
7daeccdf85 qt ReceiveTab: ensure TabWidget has frame in more cases 2022-08-11 12:43:17 +00:00
SomberNight
bd2ca30f95 kivy: fix creating dust amount receive requests
fixes https://github.com/spesmilo/electrum/issues/7928
2022-08-11 12:38:46 +00:00
SomberNight
ea5c49b3ab wallet.delete_request(key): piggyback on get_request(key)
So that the two methods are consistent with each other.

As concrete motivation, see e.g.
- how the `getrequest(key)` command calls `wallet.get_request(key)`, and
- the `delete_request(address)` command calls `wallet.delete_request(address)`
2022-08-10 23:48:44 +02:00
SomberNight
0c81dc13a0 wallet: rm confusing get_request_by_address method
The _receive_requests dict is keyed by either 'address' or 'rhash' (see get_key_for_receive_request):
- 'rhash' is used if `req.lightning_invoice is not None`
- address is used otherwise

The `get_request_by_address` method was quite error-prone: it only worked for requests that had an LN part...
2022-08-10 23:23:00 +02:00
SomberNight
396a68cb58 wallet: delete_{invoice,request}: add "write_to_disk=True" param
to support faster batch-deletion
2022-08-10 22:50:23 +02:00
SomberNight
7e2fab809d appimage build: better parameterise python version 2022-08-10 21:03:55 +02:00
SomberNight
388811296e qt: replace some hardcoded pixel sizes for better high-dpi support 2022-08-10 20:23:56 +02:00
SomberNight
05863a611f tests: test_lnpeer.py: clean-up temp dirs created in /tmp, in tearDown 2022-08-10 18:16:17 +02:00
SomberNight
bc8edd2928 Add .editorconfig file
Default to LF EOL, UTF-8 and space indent. 4 space indent for .py/.sh files.

See https://editorconfig.org/

based on de392bb92c
2022-08-10 17:32:23 +02:00
Axel Gembe
07ee204c9c Qt Console: Fix font reset when moving between screens
When the console was moved between screen boundaries with different scaling
settings, the font was reset. This is because QPlainTextEdit sets the
documents default font back to its own font property when Qt has a font
change event. This patch sets the font property of the editor instead of
the document.

this ports 60d63b3272

related: https://github.com/Electron-Cash/Electron-Cash/issues/1314
2022-08-10 16:18:32 +02:00
avirgovi
b5d2b3c512 create chmod aware of XDG_RUNTIME_DIR
closes https://github.com/spesmilo/electrum/pull/7681
related https://github.com/spesmilo/electrum/issues/6334

Co-authored-by: avirgovi <avirgovi@cisco.com>
Co-authored-by: SomberNight <somber.night@protonmail.com>
2022-08-09 19:04:17 +02:00
SomberNight
233d2373df util: implement is_subpath 2022-08-09 18:48:21 +02:00
ghost43
3c964c9ea0 Merge pull request #7923 from SomberNight/202208_wallet_labels
wallet: add get_label_for_address, and make get_label private
2022-08-09 15:46:59 +00:00
SomberNight
7b095158bf wallet: add get_label_for_address, and make get_label private
fixes https://github.com/spesmilo/electrum/issues/7919

In the past, when creating payment requests, we keyed them by on-chain address,
and set/saved the msg of the request as label for the address.
Many places in the code were calling wallet.get_label(addr) with the expectation that
relevant payment requests are found and their message/description (if any) is considered.

wallet.get_label(key) is now made private, and instead the explicit non-polymorphic
wallet.get_label_for_{address,rhash,txid} alternatives should be used.
2022-08-09 17:21:14 +02:00
ghost43
9279463fae Merge pull request #7918 from SomberNight/202208_build_tighten1
mac/win build: `pip install --no-binary :all:` in more places
2022-08-08 18:16:28 +00:00
SomberNight
73ba00d7dd wallet.restore_wallet_from_text: support creating wallet in-memory 2022-08-08 16:34:04 +02:00
ThomasV
48bb4867a4 fix #7920 2022-08-08 12:50:43 +02:00
ThomasV
e8a8c8c3f1 fix #7921 2022-08-08 12:40:44 +02:00
SomberNight
0c2a885c66 mac build: force using source dist for most of our python dependencies
We compile from tar.gz, instead of using pre-built binary wheels from PyPI.
(or if the dep is pure-python, use tar.gz instead of "source-only" wheel)

-----
Some unorganised things below for future reference.

```
$ dsymutil -dump-debug-map dist1/hid.cpython-39-darwin.so
warning: (x86_64) /private/var/folders/1n/zc14m3td0rg4nt0ftklmm7z00000gn/T/pip-install-bm88zvc1/hidapi_cd307bc31ab34252b77d11d6d7212fc5/build/temp.macosx-10.9-x86_64-3.9/hid.o unable to open object file: No such file or directory
warning: (x86_64) /private/var/folders/1n/zc14m3td0rg4nt0ftklmm7z00000gn/T/pip-install-bm88zvc1/hidapi_cd307bc31ab34252b77d11d6d7212fc5/build/temp.macosx-10.9-x86_64-3.9/hidapi/mac/hid.o unable to open object file: No such file or directory
---
triple:          'x86_64-apple-darwin'
binary-path:     'dist1/hid.cpython-39-darwin.so'
...
```

```
$ nm -pa dist1/hid.cpython-39-darwin.so
```

- https://stackoverflow.com/questions/10044697/where-how-does-apples-gcc-store-dwarf-inside-an-executable
- https://github.com/pypa/pip/issues/6505
- https://github.com/pypa/pip/issues/7808#issuecomment-770275723
- https://github.com/NixOS/nixpkgs/pull/91272
- https://github.com/cython/cython/pull/1576
- 9d2ba1611b/Cython/Compiler/ModuleNode.py (L913)
2022-08-06 07:52:03 +02:00
SomberNight
87904e2c7e win build: force using source dist for some of our python dependencies
Instead of using pre-built binary wheels from PyPI.
We should tighten this more (re other requirements-*.txt files),
but there is no C compiler available inside the wine environment atm...
2022-08-06 06:43:31 +02:00
SomberNight
caa6983f81 contrib/{add_cosigner,make_download}: cd to project root
to make it agnostic of cwd
2022-08-06 01:23:43 +02:00
SomberNight
548b7d4b23 (trivial) RELEASE-NOTES: fix some typos 2022-08-05 23:02:24 +02:00
SomberNight
bf4482ce1e (trivial) replace URL in comment to include git hash instead of branch 2022-08-05 22:57:24 +02:00
SomberNight
787dd69282 win build: clear $CONTRIB_WINE/dist between builds 2022-08-05 17:53:20 +02:00
SomberNight
150ebe116a mac build: maybe fix reproducibility fail (_cbor.cpython-39-darwin.so)
vagrants-iMac:electrum vagrant$ ./contrib/osx/compare_dmg dist/electrum-4.3.0-ghost43.dmg /Users/vagrant/Desktop/electrum-4.3.0-thomas1.dmg
[...]
Extracting signatures from release app...
Created mac_extracted_sigs.tar.gz
Applying extracted signatures to unsigned app...
Done. .app with sigs applied is at: /tmp/electrum_compare_dmg/signed_app
++ diff -qr /tmp/electrum_compare_dmg/signed_app /tmp/electrum_compare_dmg/dmg2
+ diff='Files /tmp/electrum_compare_dmg/signed_app/Electrum.app/Contents/MacOS/cbor/_cbor.cpython-39-darwin.so and /tmp/electrum_compare_dmg/dmg2/Electrum.app/Contents/MacOS/cbor/_cbor.cpython-39-darwin.so differ'
+ diff='diff errored'
+ set +x
diff errored
DMGs do *not* match.
failure

user@user-VirtualBox:~/wspace/tmp$ vbindiff comp/signed_app/_cbor.cpython-39-darwin.so comp/dmg2/_cbor.cpython-39-darwin.so

comp/signed_app/_cbor.cpython-39-darwin.so
0000 6AC0: 00 5F 50 79 49 6E 69 74  5F 5F 63 62 6F 72 2E 6D  ._PyInit __cbor.m
0000 6AD0: 6F 64 65 66 00 5F 43 62  6F 72 4D 65 74 68 6F 64  odef._Cb orMethod
0000 6AE0: 73 00 2F 70 72 69 76 61  74 65 2F 76 61 72 2F 66  s./priva te/var/f
0000 6AF0: 6F 6C 64 65 72 73 2F 35  36 2F 64 38 36 70 35 39  olders/5 6/d86p59
0000 6B00: 37 31 31 67 7A 63 62 38  73 31 71 37 31 36 78 31  711gzcb8 s1q716x1
0000 6B10: 6C 63 30 30 30 30 67 6E  2F 54 2F 70 69 70 2D 69  lc0000gn /T/pip-i
0000 6B20: 6E 73 74 61 6C 6C 2D 36  6D 69 36 68 6C 75 65 2F  nstall-6 mi6hlue/
comp/dmg2/_cbor.cpython-39-darwin.so
0000 6AC0: 00 5F 50 79 49 6E 69 74  5F 5F 63 62 6F 72 2E 6D  ._PyInit __cbor.m
0000 6AD0: 6F 64 65 66 00 5F 43 62  6F 72 4D 65 74 68 6F 64  odef._Cb orMethod
0000 6AE0: 73 00 2F 70 72 69 76 61  74 65 2F 76 61 72 2F 66  s./priva te/var/f
0000 6AF0: 6F 6C 64 65 72 73 2F 37  68 2F 70 33 30 7A 5F 74  olders/7 h/p30z_t
0000 6B00: 79 31 35 30 31 32 70 66  5F 33 64 79 78 62 73 39  y15012pf _3dyxbs9
0000 6B10: 33 34 30 30 30 30 67 6E  2F 54 2F 70 69 70 2D 69  340000gn /T/pip-i
0000 6B20: 6E 73 74 61 6C 6C 2D 30  68 64 39 63 35 6D 65 2F  nstall-0 hd9c5me/

related: https://github.com/pypa/pip/issues/6505
4.3.0
2022-08-05 15:57:10 +02:00
ThomasV
4fcc5a580a prepare release 4.3.0: update version.py and locale 2022-08-05 14:05:49 +02:00
ThomasV
db794949ae update release notes 2022-08-05 12:59:05 +02:00
SomberNight
c421bdaff4 (trivial) qml/qedaemon.py: add missing import 2022-08-04 21:52:22 +02:00