Commit Graph

15045 Commits

Author SHA1 Message Date
SomberNight f174b9164c build scripts: minor formatting clean-up
follow-up f8f77c14a2
2022-09-27 13:25:11 +00:00
ThomasV ef89a695db fix typo 2022-09-27 14:57:09 +02:00
ThomasV f8f77c14a2 release.sh: store signing password 2022-09-27 14:48:12 +02:00
ghost43 b73b35705d Merge pull request #7992 from SomberNight/202209_win_iconv
Revert "wine build: build win-iconv-mingw, instead of using debian sid"
2022-09-27 12:47:00 +00:00
SomberNight 042a323602 update locale 2022-09-27 12:42:20 +00:00
SomberNight 52b03e1f78 win build: use of debian unstable snapshots needs check-valid-until=no
see https://snapshot.debian.org/
>  To access snapshots of suites using Valid-Until that are older than a dozen days, it is necessary to ignore the Valid-Until header within Release files, in order to prevent apt from disregarding snapshot entries ("Release file expired"). Use aptitude -o Acquire::Check-Valid-Until=false update or apt-get -o Acquire::Check-Valid-Until=false update for this purpose.

(thanks to Axel Gembe for pointing this out)
2022-09-27 11:56:43 +00:00
SomberNight 846c073ee8 Revert "wine build: build win-iconv-mingw-w64-dev, instead of using debian sid"
This reverts commit b8240bec3e.

Looks like the win-iconv build is not deterministic...
Reverting this for now, will have to debug later.
2022-09-27 11:46:58 +00:00
Sander van Grieken 0f02c54c77 qml: fix qerequestdetails.py signal, remove qr scan loop logging 2022-09-27 10:01:20 +02:00
SomberNight d94c934e47 qt main_window: _coroutines_scheduled needs locking
window.run_coroutine_from_thread starts a coroutine on the asyncio loop,
which, when finishing, pops from the dict.
The for loop in clean_up is running on the Qt thread.

fixes https://github.com/spesmilo/electrum/issues/7983
2022-09-26 20:10:44 +00:00
SomberNight 10a2a846ef build: update pinned protobuf (partial rerun freeze_packages)
closes https://github.com/spesmilo/electrum/pull/7990
2022-09-26 18:21:30 +00:00
ThomasV e138b02bac prepare release 4.3.2 2022-09-26 20:13:45 +02:00
ghost43 2ac9c3c856 Merge pull request #7960 from SomberNight/202208_build_tighten3
mac build: `pip install --no-binary :all:` in more places (take 2)
2022-09-26 18:03:45 +00:00
SomberNight 77c2d4ec06 mac build: note in README: pyinstaller picks up extraneous brew pkgs
ThomasV had libffi installed via brew, and this side-effected the built electrum dmg.
`('libffi.8.dylib', '/usr/local/opt/libffi/lib/libffi.8.dylib', 'BINARY')`

this was the cause of https://github.com/spesmilo/electrum/commit/019d213325312badc55d95a6cabc6278dda47a8a
2022-09-26 17:58:58 +00:00
ThomasV 60e2ad4316 follow-up 444dc7fb7f 2022-09-26 18:28:02 +02:00
Arian Ventura Rodríguez 7de1c604c6 Add yadio.io api to exchange rate 2022-09-26 17:11:08 +02:00
ThomasV 444dc7fb7f wallet: fix race condition that inhibits proper call of set_up_to_date 2022-09-26 17:02:30 +02:00
SomberNight 0abecffe6d 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
- https://github.com/cython/cython/blob/9d2ba1611b28999663ab71657f4938b0ba92fe07/Cython/Compiler/ModuleNode.py#L913
2022-09-26 12:16:02 +00:00
SomberNight 1478d9d878 Qt CompletionTextEdit: cast KeyboardModifiers to int
closes https://github.com/spesmilo/electrum/issues/7979
2022-09-23 17:08:16 +00:00
SomberNight 9ed5b092e4 coinchooser: (trivial) add some type hints 2022-09-23 16:37:35 +00:00
SomberNight c43e0000ce Qt ConfirmTxDialog: disconnect timer when closing dialog
fixes https://github.com/spesmilo/electrum/issues/6791
2022-09-23 16:36:17 +00:00
ghost43 6bdabb8579 Merge pull request #7977 from JamieDriver/update_jade_api
jade: update Jade api to 0.1.37
2022-09-23 14:04:11 +00:00
ThomasV 6e429ebf9a test_lnpeer: instead of sleeping for 0.2s, wait until peers are initialized
this should fix https://cirrus-ci.com/task/6585628493086720
2022-09-23 12:42:15 +02:00
ThomasV e8a4e287e9 cleanup old non-static_remotekey code (follow-up 1f403d1ca1) 2022-09-23 11:25:49 +02:00
ThomasV 028916b447 fix #7988 2022-09-23 09:41:46 +02:00
ThomasV fe6a83d6c1 fix test_fail_pending_htlcs_on_shutdown: poll number of htlcs 2022-09-22 18:26:02 +02:00
ThomasV 30dfecc5dc wallet: check whether address can be reused in get_request_by_addr 2022-09-22 17:37:11 +02:00
Sander van Grieken 5681311fc2 fix request_status callback not passing the correct request key 2022-09-22 11:54:14 +02:00
ThomasV 79bcedd064 test_lnpeer: reset electrum.trampoline._TRAMPOLINE_NODES_UNITTESTS in tearDown 2022-09-20 19:17:32 +02:00
Sander van Grieken 11b8d5e2f0 qml: work around qeamount copy from None 2022-09-20 19:14:36 +02:00
SomberNight e5f21fb7b5 lnurl: better handle unimplemented lnurl subtypes
fixes https://github.com/spesmilo/electrum/issues/7971
2022-09-20 16:00:20 +00:00
ThomasV 20bcb15480 Factorize code in create_routes_for_payment.
Calling suggest_splits with exclude_single_part_payments=False
2022-09-20 13:55:22 +02:00
ThomasV b8cb561d1a test_mpp_split: add tests for exclude_single_part_payments=False 2022-09-20 13:49:16 +02:00
ThomasV ead886781a create_routes_for_payment: fix 'we atomically loop'
Before this commit, partial results were yielded before we had
examined the whole split configuration.

I think the correct behaviour is to create all the routes for the
current configuration, then to yield them. If there is an exception,
we should try the next one.
2022-09-20 12:52:36 +02:00
ThomasV 5e77886b98 trampoline MPP: handle direct payment to trampoline node 2022-09-20 11:44:23 +02:00
ThomasV 9251f482b5 test_lnpeer: add unit test for direct payment to trampoline node 2022-09-20 11:28:51 +02:00
ThomasV 478046289a follow-up c6f940d092 2022-09-20 10:55:19 +02:00
ThomasV 2af59e32b2 lnworker: define use_trampoline() for code clarity 2022-09-19 17:43:13 +02:00
ThomasV 68bf714ae6 Trampoline: Remember failed routes (fixes #7967).
Upon receiving UNKNOWN_NEXT_PEER, TEMPORARY_NODE_FAILURE
or TEMPORARY_CHANNEL_FAILURE, remember the trampoline route
that was used, and try other routes before raising the
trampoline fee.

Before this commit, we used to raise the trampoline fee
upon receiving any error message, in order to ensure
termination of the payment loop.

Note that we will still retry failing routes after we have
raised the trampoline fee. This choice is questionable, it
is unclear if doing so significantly increases the probability
of success.

Tests: add a test for trampoline handling of UNKNOWN_NEXT_PEER
2022-09-19 16:42:46 +02:00
Jamie C. Driver 68f320041a jade: update Jade api to 0.1.37 2022-09-15 11:54:42 +01:00
Sander van Grieken a488be61db qml: fix open channel 2022-09-14 16:07:03 +02:00
Sander van Grieken 6bbd18dc78 qml: fix flake errors 2022-09-09 19:58:48 +02:00
Sander van Grieken 27999a9583 qml: clean up, generalize plugin gui base, enumerate plugins in gui
(still quite crude impl, dynamic enable/disable plugin gui is misaligned
with backend)
2022-09-08 15:15:46 +02:00
Sander van Grieken 32a81d8ee7 qml: initial plugin support, with labelsync mostly implemented 2022-09-08 12:19:38 +02:00
ThomasV 082a50f2bd trampolines_by_id must return dict (follow-up previous commit) 2022-09-07 17:48:13 +02:00
ThomasV 99c4c75c9d hardcoded trampolines: do not mix testnet nodes and unitests.
(This was added in 3a7f5373ac. Not sure what the reason is, but
it triggers UNKNOWN_NEXT_PEER errors, that in turn affect routing
choices, e.g. fallback to single trampoline route)
2022-09-07 17:17:13 +02:00
ThomasV 92b21df843 Trampoline: if possible, do not add second trampoline for e2e payments.
This should fix #7967
2022-09-04 09:39:42 +02:00
ThomasV 2c57a8c394 lnworker: fix maybe_raise_trampoline_level.
That function was a no-op due to wrong indentation level
2022-09-03 18:32:05 +02:00
ThomasV c6f940d092 trampoline: less verbose, do not log routes that are not tried 2022-09-03 18:24:58 +02:00
ThomasV 26245c1ac9 unit tests: split test_payment_trampoline into two tests 2022-09-03 11:16:37 +02:00
ThomasV 14e96f4d53 Index request by ID instead of receiving address.
Replace get_key_for_outgoing_invoice, get_key_for_incoming_request
with Invoice.get_id()

When a new request is created, reuse addresses of expired requests (fixes #7927)

The API is changed for the following commands:
 get_request, get_invoice,
 list_requests, list_invoices,
 delete_request, delete_invoice
2022-09-02 10:58:11 +02:00