Commit graph

196 commits

Author SHA1 Message Date
Janus
35adc3231b lightning: fixup after rebasing on restructured master 2019-08-20 09:03:10 +02:00
ThomasV
1db7a8334a Refresh LN status in GUI using network callback. 2019-08-20 09:03:10 +02:00
Janus
cc48e14618 ln: enable receiving dust htlcs 2019-08-20 09:03:10 +02:00
Janus
ed62a21547 ln: raise our dust/reserve to 546 to be compatible with c-lightning 2019-08-20 09:03:10 +02:00
Janus
2dd1cb86fa lnbase: do not revoke more than once if we have missed reading commitments 2019-08-20 09:03:10 +02:00
Janus
8573dd3b6a ln: revoke before sending bare ctx in pay(), remove subtraction of trimmed amt from fee 2019-08-20 09:03:10 +02:00
Janus
605d6ff5ca ln: add two trimming tests, avoid negative numbers in htlc trim decision 2019-08-20 09:03:10 +02:00
Janus
03c2b954d9 lnhtlc: fee update upgrade and passes ReciverCommits and SenderCommits tests, fix NameErrors in lnbase 2019-08-20 09:03:10 +02:00
ThomasV
8346e358b2 move lnaddr.py to lib 2019-08-20 09:03:10 +02:00
Janus
fe973a5137 ln: avoid recursive dependencies, make new lnutil 2019-08-20 09:03:10 +02:00
Janus
7a3551b5df ln: merge OpenChannel and HTLCStateMachine 2019-08-20 09:03:10 +02:00
Janus
42a56df996 ln: shortcut some OpenChannel fields to traversing too much 2019-08-20 09:03:10 +02:00
Janus
77e9abc655 ln: store HTLCStateMachine in lnworker.channels 2019-08-20 09:03:10 +02:00
ThomasV
c7e47b74a9 Separate open_channel dialog. In open_channel_coroutine, use host and port from channel announcements 2019-08-20 09:03:10 +02:00
Janus
b3dad9480c ln: trim dust htlc outputs 2019-08-20 09:03:10 +02:00
ThomasV
61983c222a lightning: single shared instance of Watcher, ChannelDB and PathFinder 2019-08-20 09:03:10 +02:00
Janus
e7089c1458 ln: improve lnhtlc, passes test 2019-08-20 09:03:10 +02:00
ThomasV
0ccafb547c fix reestablish_channel 2019-08-20 09:03:10 +02:00
ThomasV
df960700c9 reestablish channels in network callback 2019-08-20 09:03:10 +02:00
Janus
7f206d6e4c ln: close channels 2019-08-20 09:03:10 +02:00
Janus
83c60441cf ln: don't corrupt channels storage when multiple funding_locked are received 2019-08-20 09:03:10 +02:00
Janus
3f73332817 ln: don't break channel when failing htlc 2019-08-20 09:03:10 +02:00
Janus
6f88c55f17 ln: announcement reliability fixes for qt, remove asserts forbidding unbalanced channels 2019-08-20 09:03:10 +02:00
Janus
e9fec66eb4 ln: begin handling htlc failures 2019-08-20 09:03:10 +02:00
Janus
a106760469 ln: channel announcements 2019-08-20 09:03:10 +02:00
Janus
275f1e6cbc ln: lnpay: revoke until we get a commitment tx without htlcs 2019-08-20 09:03:10 +02:00
Janus
f169bff89e ln: fix reestablishing channel with no mined funding tx 2019-08-20 09:03:10 +02:00
Janus
3ea6415dc7 ln: fix repeated payments 2019-08-20 09:03:10 +02:00
Janus
399fe08047 ln: avoid code duplication 2019-08-20 09:03:10 +02:00
Janus
d1769472bd ln: save remote's secrets in RevocationStore, not our secrets. call lnhtlc.receive_revocation 2019-08-20 09:03:10 +02:00
Janus
6c8bd2559b lnbase/lnhtlc: use lnhtlc more instead of manually constructing tx'es 2019-08-20 09:03:10 +02:00
Janus
9010ea7e6e lnbase: use sign_next_commitment for initial remote_ctx 2019-08-20 09:03:10 +02:00
Janus
434ce49451 lnbase: use lnhtlc when verifying our initial commitment tx 2019-08-20 09:03:10 +02:00
Janus
8eeaac8dda lnbase: use broadcast_transaction instead of broadcast (follow up e57e55aad) 2019-08-20 09:03:10 +02:00
Janus
bd0f659f26 ln: remove unneeded forwarding htlc features, check commitment sig using lnhtlc while receiving 2019-08-20 09:03:10 +02:00
Janus
4d25933898 ln: integrate lnhtlc in lnbase, fix multiple lnhtlc bugs 2019-08-20 09:03:10 +02:00
Janus
5ed6f79a33 ln: request_initial_sync, increase our max_htlc_value, fix receiving payment 2019-08-20 09:03:10 +02:00
ThomasV
6e71340e52 do not block GUI with open_channel 2019-08-20 09:03:10 +02:00
ThomasV
2b9be294a0 lnbase: mark_open on startup 2019-08-20 09:03:10 +02:00
SomberNight
6f246b90bf wait for peer.initialized in channel_establishment_flow 2019-08-20 09:03:10 +02:00
ThomasV
11c6fce7bf follow up 0b3a882e7d57c8a42be48c491a46dc814eab6acb 2019-08-20 09:03:10 +02:00
ThomasV
2ae4b1862d simplify funding_locked
expose lnworker in peer
update channel_db when channels are open
2019-08-20 09:03:10 +02:00
ThomasV
21c883bd0b Display channel status in the GUI.
Do not convert channel_id to integer; there is no reason to do that.
2019-08-20 09:03:10 +02:00
Janus
497706afbf ln: htlc state machine (not used yet) 2019-08-20 09:03:10 +02:00
Janus
85e18be7d0 ln: save channels in dict, warn on invoice exceeding max_htlc amount 2019-08-20 09:03:10 +02:00
ThomasV
af4f0b6daf lnworker: separate invoice creation from payment flow 2019-08-20 09:03:10 +02:00
Janus
ae3971259d ln: restore channels correctly after restart
* save funding_locked_received: if a node already sent us
funding_locked, save it to avoid superfluous messages

* use Queues instead of Futures: this ensure that we don't error if we
receive two messages of the same type, and in avoids having to delete
futures in finally blocks. A queue monitor could be added to detect
queue elements that are not popped.

* request initial routing sync: since we don't store the graph yet, it
is better to request the graph from the Peer so that we can route

* channel_state cleanup: now each channel should have a state, which is
initialized to OPENING and only marked OPEN once we have verified that
the funding_tx has been mined
2019-08-20 09:03:10 +02:00
ThomasV
aafbe74a28 fix channel_reestablish 2019-08-20 09:03:10 +02:00
ThomasV
1f6646fa25 lnbase: fix read_message 2019-08-20 09:03:10 +02:00
Janus
6a8e5d5954 ln: restore functionality 2019-08-20 09:03:09 +02:00