Commit Graph

4182 Commits

Author SHA1 Message Date
ThomasV 130842ecd4 Add 'has_onchain_backup' to channel storage, to fix the displayed icon.
Note that this will not fix the value for already existing channels
that have been created with onchain backup; one would need a wallet_db
upgrade in order to fix them (probably not worth the effort).
2021-03-24 11:15:24 +01:00
ThomasV ed6eea9161 kivy: make sure there is only one resume dialog 2021-03-24 10:48:01 +01:00
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
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
https://github.com/python/cpython/commit/5df8a8a1fd6cc6f4469dc7d3994d06e2aea24c52
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
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
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.

https://github.com/lightningnetwork/lightning-rfc/blob/b201efe0546120c14bf154ce5f4e18da7243fe7a/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
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
ThomasV e5686c8dc5 test_backup: sleep is not needed anymore 2021-03-18 07:26:33 +01:00
SomberNight 3ea27beb4e daemon: change stop() to use events, instead of polling 2021-03-17 19:42:20 +01:00