1
0
Commit Graph

13618 Commits

Author SHA1 Message Date
ThomasV
a95bdbb331 kivy: count open channels 2021-03-24 10:33:56 +01:00
ThomasV
18d7db12da Change warning shown on first channel creation
Qt: if created channel is not recoverable, show channel backup after creation
2021-03-24 10:24:14 +01:00
ThomasV
f2aa52e5aa minor: fix channel backup icon 2021-03-24 06:48:17 +01:00
ThomasV
2b3c64a9d7 qt: use the same 'nocloud' icon in wallet information 2021-03-24 06:25:35 +01:00
ThomasV
ca6cfbc6b0 channels list: group icons to save space 2021-03-24 06:11:53 +01:00
ThomasV
57320c0304 Merge pull request #7133 from SomberNight/202103_qt_channel_features
qt channels list: add "features" column with icons (e.g. trampoline)
2021-03-24 05:19:23 +01:00
SomberNight
db37938963 qt channels list: add "features" column with icons (e.g. trampoline) 2021-03-23 21:34:04 +01:00
ThomasV
9583887c1f qt: change backup icon, add tooltip 2021-03-23 18:07:44 +01:00
ThomasV
cd6a468fb9 Android: unify password as soon as we know it is possible 2021-03-23 17:49:27 +01:00
SomberNight
2c047c72e1 (trivial) just add some TODOs 2021-03-23 17:30:40 +01:00
SomberNight
50b165fc3b tests: rename TestSuccess(Exception) to SuccessfulTest
The test framework did not like the "Test" prefix.

```
electrum/tests/test_lnpeer.py:305

  /home/travis/build/spesmilo/electrum/electrum/tests/test_lnpeer.py:305: PytestCollectionWarning: cannot collect test class 'TestSuccess' because it has a __init__ constructor (from: electrum/tests/test_lnpeer.py)
```
2021-03-23 17:17:43 +01:00
ThomasV
a5fea043d1 Allow user to remove onchain backups. 2021-03-23 14:41:37 +01:00
ThomasV
ec01380105 kivy: channels list improvements 2021-03-23 14:26:54 +01:00
ThomasV
a67fcdbc8a channels_list: use icon to tell apart channels from backups 2021-03-23 14:06:28 +01:00
ThomasV
62a95c4b94 lnchannel: add pseudo-state force_close_detected for GUI 2021-03-23 12:03:14 +01:00
ThomasV
763ee86028 lnwatcher: trigger 'verified' callback with the main wallet object.
This is a temporary fix; we should not use an extra synchronizer, and persist results.
2021-03-23 11:05:05 +01:00
ThomasV
f7d2a33d45 set initial trampoline fee level to 1 unless we are testing 2021-03-22 17:04:01 +01:00
ThomasV
c3221f7bfe (temporary) disable e2e and dual trampoline if first trampoline is ACINQ 2021-03-22 16:23:01 +01:00
ThomasV
0f4297cfa8 fix direct payment to trampoline node 2021-03-22 13:17:50 +01:00
ThomasV
f8804b29c9 (minor) fix mutable default value 2021-03-22 11:50:01 +01:00
ThomasV
aa1fcc784e wallet: store wanted_height in future_tx, instead of remaining blocks 2021-03-22 11:00:42 +01:00
SomberNight
03d9b29eee lntransport: optimise read_messages implementation
Not great to use a 'bytes' object as a FIFO buffer, as every slice copies the whole thing.
With bytearray, extending it from the right is fast,
and with the correct syntax, popping from the left is fast too.

see https://stackoverflow.com/a/57748513
https://bugs.python.org/issue19087
5df8a8a1fd
2021-03-21 22:19:37 +01:00
SomberNight
4f13c451c7 tests: rework lntransport test a bit
send multiple messages, and not only short ones
2021-03-21 22:11:16 +01:00
ThomasV
1a49fd440d kivy: add option to request force-close 2021-03-21 15:26:17 +01:00
ThomasV
22e6fe09c1 Merge pull request #7125 from verretor/2021-03-style
Minor style changes
2021-03-21 06:36:47 +01:00
Benoit Verret
f731c38293 Minor style changes 2021-03-21 00:36:23 -04:00
gruve-p
9609a60ab6 Rename excluce to exclude (#7121) 2021-03-20 18:26:58 +00:00
SomberNight
beba807cfe qt ChannelsList: fix opening channel with "max" amount 2021-03-20 19:20:49 +01:00
SomberNight
d86c45edac dependencies: bump min aiorpcx, and enforce at runtime
Note that newer aiorpcx started requiring python 3.8, so we cannot use
the latest versions, until we too bump the min python version to 3.8.
We should not do that until debian stable ships python 3.8.
Also, new aiorpcx introduced some API changes which we will need to
adopt, so even if the user locally has recent enough python, we need
old aiorpcx atm.

related: https://github.com/spesmilo/electrum/issues/7118
2021-03-20 17:17:32 +01:00
ThomasV
aad392f6ff lnworker: filter active channels in create_routes_for_payment 2021-03-20 13:53:46 +01:00
ThomasV
0121cbcbbe pay_to_route: raise PaymentFailure in case of dropped peer, so that we reset payment status 2021-03-20 10:12:49 +01:00
ThomasV
bbb9ce2430 lnwatcher.try_redeem: output log only the first time a tx is seen 2021-03-20 09:30:15 +01:00
ThomasV
aba0bad30c lnwatcher: try_redeem must return if tx is None 2021-03-20 09:10:48 +01:00
SomberNight
65e16fabd2 follow-up d8352f1a0a
message-induced exceptions should not propagate out
2021-03-19 21:21:09 +01:00
SomberNight
c912036180 lnpeer: ignore unknown 'odd' type messages
from BOLT-01:
A receiving node:
  - upon receiving a message of odd, unknown type:
    - MUST ignore the received message.

b201efe054/01-messaging.md (lightning-message-format)
2021-03-19 20:51:38 +01:00
SomberNight
d8352f1a0a lnworker: nicer logs/error msgs for payment failure
try to decode onion error and log it in human-readable form
2021-03-19 19:13:50 +01:00
ThomasV
2509eaa642 Qt: clarify use_gossip checkbox text 2021-03-19 14:07:04 +01:00
ThomasV
27dcfba98d channels_list: improve menu for backups 2021-03-19 13:57:17 +01:00
ThomasV
afcc695f4d channels_list: show backup text in the state column. fix missing import in previous commit. 2021-03-19 13:35:12 +01:00
ThomasV
2fee920f43 On Android, if channels are not recoverable, display channel backup when a new channel is created.
Remove the 'android_backups' setting, which was unpractical.
2021-03-19 13:17:58 +01:00
ThomasV
5ec1f7b398 bump version number. initial release notes for version 4.1.0 2021-03-19 10:45:17 +01:00
ThomasV
64a931f21e Deterministic NodeID:
- use_recoverable_channel is a user setting, available
   only in standard wallets with a 'segwit' seed_type
 - if enabled, 'lightning_xprv' is derived from seed
 - otherwise, wallets use the existing 'lightning_privkey2'

Recoverable channels:
 - channel recovery data is added funding tx using an OP_RETURN
 - recovery data = 4 magic bytes + node id[0:16]
 - recovery data is chacha20 encrypted using funding_address as nonce.
   (this will allow to fund multiple channels in the same tx)

GUI:
  - whether channels are recoverable is shown in wallet info dialog.
  - if the wallet can have recoverable channels but has an old node_id,
    users are told to close their channels and restore from seed
    to have that feature.
2021-03-19 10:17:02 +01:00
ThomasV
e3025b3d7b lnpeer: send update_fee if channel was never used (workaround eclair issue 1730) 2021-03-19 07:23:51 +01:00
SomberNight
9bb39833cc lnpeer: add sanity checks in channel open flow re ln dummy output 2021-03-18 19:13:33 +01:00
ThomasV
bf5aa1d690 Merge pull request #7113 from bitromortac/2103-temp-chan-fail
forwarding: temp chan fail on insufficient funds
2021-03-18 10:47:03 +01:00
ThomasV
043a264fb7 Merge pull request #7114 from benma/bb02
bitbox02: bump dependency to 5.2.0
2021-03-18 10:45:38 +01:00
Marko Bencun
a16fdd54a8 bitbox02: bump dependency to 5.2.0 2021-03-18 09:45:15 +01:00
ThomasV
9e6996c5c1 qt: use 'local' icon for future transactions 2021-03-18 09:21:36 +01:00
bitromortac
f1b5069c78 forwarding: temp chan fail on insufficient funds
When forwarding an HTLC and the outgoing channel doesn't have
enough funds or other transient issues, we are failing the
HTLC with a temporary channel failure.

From BOLT #04:
* if during forwarding to its receiving peer, an otherwise unspecified,
transient error occurs in the outgoing channel (e.g. channel capacity
reached, too many in-flight HTLCs, etc.):
-> return a temporary_channel_failure error.
2021-03-18 08:27:48 +01:00
ThomasV
8a051dcd76 lnworker: use booleans for enable_htlc_settle, enable_htlc_forwarding 2021-03-18 07:48:30 +01:00