Commit Graph

196 Commits

Author SHA1 Message Date
Janus
3887bf57fd ln: enable receiving dust htlcs 2018-07-13 16:44:01 +02:00
Janus
caa82f37da ln: raise our dust/reserve to 546 to be compatible with c-lightning 2018-07-13 16:44:01 +02:00
Janus
1807bc6f25 lnbase: do not revoke more than once if we have missed reading commitments 2018-07-13 16:44:01 +02:00
Janus
d0f5980d75 ln: revoke before sending bare ctx in pay(), remove subtraction of trimmed amt from fee 2018-07-13 16:44:01 +02:00
Janus
53678e0485 ln: add two trimming tests, avoid negative numbers in htlc trim decision 2018-07-13 16:44:01 +02:00
Janus
16e541f642 lnhtlc: fee update upgrade and passes ReciverCommits and SenderCommits tests, fix NameErrors in lnbase 2018-07-13 16:44:01 +02:00
ThomasV
debfff9482 move lnaddr.py to lib 2018-07-13 16:44:01 +02:00
Janus
dbb2ee3b8d ln: avoid recursive dependencies, make new lnutil 2018-07-13 16:44:01 +02:00
Janus
7dfe30da2e ln: merge OpenChannel and HTLCStateMachine 2018-07-13 16:44:01 +02:00
Janus
69f64b55e3 ln: shortcut some OpenChannel fields to traversing too much 2018-07-13 16:44:01 +02:00
Janus
93b8567de4 ln: store HTLCStateMachine in lnworker.channels 2018-07-13 16:44:01 +02:00
ThomasV
0f66abc2fd Separate open_channel dialog. In open_channel_coroutine, use host and port from channel announcements 2018-07-13 16:44:01 +02:00
Janus
343df943d3 ln: trim dust htlc outputs 2018-07-13 16:44:01 +02:00
ThomasV
ca20741b84 lightning: single shared instance of Watcher, ChannelDB and PathFinder 2018-07-13 16:44:01 +02:00
Janus
b5ddd295e4 ln: improve lnhtlc, passes test 2018-07-13 16:44:01 +02:00
ThomasV
28940ac767 fix reestablish_channel 2018-07-13 16:44:01 +02:00
ThomasV
365060b63f follow-up previous commit 2018-07-13 16:44:01 +02:00
ThomasV
0e7fab5e60 reestablish channels in network callback 2018-07-13 16:44:01 +02:00
Janus
1266fda8c5 ln: close channels 2018-07-13 16:44:01 +02:00
Janus
1562bb653c ln: don't corrupt channels storage when multiple funding_locked are received 2018-07-13 16:44:01 +02:00
Janus
d0266f798b ln: don't break channel when failing htlc 2018-07-13 16:44:01 +02:00
Janus
3149ef708a ln: announcement reliability fixes for qt, remove asserts forbidding unbalanced channels 2018-07-13 16:44:01 +02:00
Janus
3e18eb716f ln: begin handling htlc failures 2018-07-13 16:44:01 +02:00
Janus
d54335fdaa ln: channel announcements 2018-07-13 16:44:01 +02:00
Janus
b813b9c67f ln: lnpay: revoke until we get a commitment tx without htlcs 2018-07-13 16:44:01 +02:00
Janus
5908961d2e ln: fix reestablishing channel with no mined funding tx 2018-07-13 16:44:01 +02:00
Janus
04e5b35b00 ln: fix repeated payments 2018-07-13 16:44:01 +02:00
Janus
e197e1d27b ln: avoid code duplication 2018-07-13 16:44:01 +02:00
Janus
ed8e02de6a ln: save remote's secrets in RevocationStore, not our secrets. call lnhtlc.receive_revocation 2018-07-13 16:44:01 +02:00
Janus
150d1a9337 lnbase/lnhtlc: use lnhtlc more instead of manually constructing tx'es 2018-07-13 16:44:01 +02:00
Janus
fef5a13dbc lnbase: use sign_next_commitment for initial remote_ctx 2018-07-13 16:44:01 +02:00
Janus
e27a3948fb lnbase: use lnhtlc when verifying our initial commitment tx 2018-07-13 16:44:01 +02:00
Janus
ff4f4c502a lnbase: use broadcast_transaction instead of broadcast (follow up e57e55aad) 2018-07-13 16:44:01 +02:00
Janus
74b0d38686 ln: remove unneeded forwarding htlc features, check commitment sig using lnhtlc while receiving 2018-07-13 16:44:01 +02:00
Janus
61b5273916 ln: integrate lnhtlc in lnbase, fix multiple lnhtlc bugs 2018-07-13 16:44:01 +02:00
Janus
2d130672c6 ln: request_initial_sync, increase our max_htlc_value, fix receiving payment 2018-07-13 16:44:01 +02:00
ThomasV
8524ea4f7e do not block GUI with open_channel 2018-07-13 16:44:01 +02:00
ThomasV
69602907fe lnbase: mark_open on startup 2018-07-13 16:44:01 +02:00
SomberNight
0621cc6f77 wait for peer.initialized in channel_establishment_flow 2018-07-13 16:44:01 +02:00
ThomasV
0d09e2b2cf follow up 0b3a882e7d57c8a42be48c491a46dc814eab6acb 2018-07-13 16:44:01 +02:00
ThomasV
3a3ecfc00e simplify funding_locked
expose lnworker in peer
update channel_db when channels are open
2018-07-13 16:44:01 +02:00
ThomasV
deb1d9fe3b Display channel status in the GUI.
Do not convert channel_id to integer; there is no reason to do that.
2018-07-13 16:44:01 +02:00
Janus
257e9cabe2 ln: htlc state machine (not used yet) 2018-07-13 16:44:01 +02:00
Janus
ee6dfafcf9 ln: save channels in dict, warn on invoice exceeding max_htlc amount 2018-07-13 16:44:01 +02:00
ThomasV
8580be30b2 lnworker: separate invoice creation from payment flow 2018-07-13 16:44:01 +02:00
Janus
77136f605c 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
2018-07-13 16:44:01 +02:00
ThomasV
784cd3ecea fix channel_reestablish 2018-07-13 16:44:01 +02:00
ThomasV
7baaa5dcc0 lnbase: fix read_message 2018-07-13 16:44:01 +02:00
Janus
4d34977359 ln: restore functionality 2018-07-13 16:44:01 +02:00
Janus
6b5adeae2b ln: save remote node_id in channel 2018-07-13 16:44:01 +02:00