ThomasV
99f933401a
add more logging shortcuts
2020-04-12 12:30:59 +02:00
SomberNight
9a88c13b3d
translations: add note that f-strings cannot be translated
...
and replace current usage
2020-04-11 16:33:45 +02:00
ThomasV
312ef15cd6
fix #6056
2020-04-11 12:02:38 +02:00
ThomasV
e50f6d29ed
export channel backup from kivy gui
2020-04-10 20:04:24 +02:00
ThomasV
8f41aeb783
Replace wallet backup with channel backups
...
- channels can be backed up individually
- backups are added to lnwatcher
- AbstractChannel ancestor class
2020-04-10 14:45:23 +02:00
ThomasV
5efaaa523a
lnworker: check chain_hash when decoding channel update.
2020-04-09 15:16:07 +02:00
ThomasV
6307e13549
do not print the entire payment log again, this is redundant
2020-04-08 09:46:16 +02:00
ThomasV
55d0a9587e
move maybe_save_short_chan_id to lnchannel
2020-04-06 18:35:12 +02:00
ThomasV
aa32e31a3d
follow-up previous commit
2020-04-03 18:54:02 +02:00
ThomasV
06dfe1699c
LNWatcher: Distinguish between blockchain-triggered channel state
...
transitions, and actions taken as a result.
- state transitions are performed in lnchannel.update_onchain_state()
- peer actions are in LNWorker.on_channel_update()
2020-04-03 17:34:11 +02:00
ThomasV
9ca445bd5d
save_short_chan_id: remove unneeded ćalls to lnwatcher
2020-04-03 12:59:56 +02:00
ThomasV
764c18b3c8
follow-up prev commit
2020-04-02 17:36:18 +02:00
ThomasV
5067166e1e
move should_channel_be_closed_due_to_expiring_htlcs into Channel class
2020-04-02 17:18:50 +02:00
SomberNight
1be0a710c3
ln: implement option payment_secret
2020-04-01 21:49:12 +02:00
SomberNight
30bf32b34b
use option varonion: actually use TLV payloads, and signal support
2020-04-01 21:47:42 +02:00
SomberNight
6ba08cc8d4
ln feature bits: flatten namespaces, and impl feature deps and ctxs
...
This implements:
- flat feature bits https://github.com/lightningnetwork/lightning-rfc/pull/666
- feature bit dependencies https://github.com/lightningnetwork/lightning-rfc/pull/719
2020-04-01 21:41:24 +02:00
SomberNight
90f3b667aa
small clean-up re max CLTV delta for LN
2020-03-30 02:46:14 +02:00
SomberNight
3ed6afce64
lnchannel: implement freezing channels (for receiving)
...
A bit weird, I know... :)
It allows for rebalancing our own channels! :P
2020-03-26 09:05:15 +01:00
SomberNight
79d202485e
lnworker: rename can_send to num_sats_can_send
2020-03-26 09:05:12 +01:00
SomberNight
7488cc91cd
qt channels: expose long channel id (in ctx menu and details dlg)
...
Also add separators to context menu to more visible separate
close/delete actions from rest.
2020-03-26 01:20:41 +01:00
SomberNight
2cc76fbbbd
lnworker: fix type error re pending_payments, and impl malformed htlcs
...
In old code, in lnpeer.htlc_switch(), "error" in lnworker.pending_payments
had incorrect type.
TODO: we need tests for payment failures...
2020-03-17 20:32:38 +01:00
SomberNight
b524460fdf
lnpeer: implement basic handling of "update_fail_malformed_htlc"
2020-03-17 20:31:50 +01:00
ThomasV
5bac2fea98
Qt: improve channel details window
2020-03-12 12:40:50 +01:00
ThomasV
fe2b40b83d
Fix #6021 : Do not transition channel state to CLOSED if tx is unconfirmed.
2020-03-11 11:49:53 +01:00
ThomasV
af457ea2ec
follow-up 46d8080c76
: own channels are no longer in channel_db
2020-03-11 10:26:07 +01:00
ThomasV
b6cb983733
lnworker.pay: run path finding in sep. thread (don't block evt loop)
2020-03-10 17:56:11 +01:00
ThomasV
e3019a7046
(minor) fix typo
2020-03-10 14:29:52 +01:00
ThomasV
2f31e9fa44
follow-up prev commit
2020-03-10 13:51:08 +01:00
ThomasV
3d69f3b0be
improve payment status callbacks:
...
- add 'computing route' status for lightning payments
- use separate callbacks for invoice status and payment popups
- show payment error and payment logs in kivy
2020-03-10 13:27:02 +01:00
SomberNight
c95c0dcb80
lnrouter: add comments about path-finding blocking the asyncio loop
2020-03-09 20:39:13 +01:00
ThomasV
8b63f7176e
Add short channel id to tx labels
2020-03-07 10:53:38 +01:00
SomberNight
ec7473789e
lnhtlc: speed-up methods for recent ctns
...
we maintain a set of interesting htlc_ids
2020-03-06 21:54:05 +01:00
ThomasV
2c617c3b00
move feerate warning to lnpeer
2020-03-06 18:14:00 +01:00
SomberNight
35a8812534
lnworker.reestablish_peer_for_given_channel: give each addr a chance
...
follow-up fa0ef9c548
2020-03-06 15:13:18 +01:00
ThomasV
b609088115
follow-up previous commit: broadcast_transaction does not return txid
2020-03-06 12:26:01 +01:00
ThomasV
888a6d726e
Propagate exceptions raise by force_close to the GUI.
...
Define 'try_force_closing' for cases where we do not
want exceptions to be raised.
2020-03-06 12:18:33 +01:00
ThomasV
15fb8c0415
allow transition from FORCE_CLOSING to REDEEMED. define REDEEM_AFTER_DOUBLE_SPENT_DELAY
2020-03-06 11:40:08 +01:00
SomberNight
fa0ef9c548
ln: store network addresses for channel counterparties in channels
...
So we can reconnect to them without relying on gossip db.
2020-03-06 04:04:17 +01:00
ThomasV
cb14bde422
fix test_lnpeer
2020-03-05 11:10:14 +01:00
ThomasV
7f3542f080
lnworker: set invoice status if htlcs are received from previous session
2020-03-05 10:51:22 +01:00
ThomasV
8f3fcdd1a8
Fix detection of payments.
...
1. In lnhtlc, sent_in_ctn and failed_in_ctn need to look at the
remote ctx, and they need to be called when we receive a revocation,
not when we send one.
2. In lnchannel, we use 3 lnworker callbacks:
- payment sent/payment failed (called when we receive a revocation)
- payment received (called when we send a revocation)
3. Make revoke_current_commitment return a single value.
The second value was only used in tests, there is no need
to bloat the code with that
2020-03-05 07:03:09 +01:00
ThomasV
b9eaba3e85
replace await_local/remote
2020-03-05 07:03:09 +01:00
SomberNight
dae842e2ad
tests: made TestLNTransport.test_loop more robust
2020-03-04 17:57:40 +01:00
SomberNight
7962e17df6
invoices: deal with expiration of "0" mess
...
Internally, we've been using an expiration of 0 to mean "never expires".
For LN invoices, BOLT-11 does not specify what an expiration of 0 means.
Other clients seem to treat it as "0 seconds" (i.e. already expired).
This means there is no way to create a BOLT-11 invoice that "never" expires.
For LN invoices,
- we now treat an expiration of 0, , as "0 seconds",
- when creating an invoice, if the user selected never, we will put 100 years as expiration
2020-03-04 14:24:07 +01:00
SomberNight
01981f71fb
lnworker.add_peer: don't block event loop with DNS
2020-03-03 21:04:54 +01:00
SomberNight
fbd0c9aae8
lnworker: peer-bootstrapping: add IPv6 fallback nodes
2020-03-03 20:40:50 +01:00
SomberNight
59a428ea7f
lnworker: re-enable dns seeds for peer-finding bootstrap
...
but only for mainnet
2020-03-03 20:12:12 +01:00
ThomasV
367d30d6c0
Merge pull request #6003 from spesmilo/htlc_switch
...
Htlc switch
2020-03-02 22:14:09 +01:00
SomberNight
a97e7bae05
ChannelDB: make gossip sync progress updates cheaper
...
get_num_channels_partitioned_by_policy_count() was too slow
2020-03-02 16:56:15 +01:00
ThomasV
f801307a08
move htlc_switch task to lnpeer
2020-03-02 15:41:50 +01:00