Commit graph

156 commits

Author SHA1 Message Date
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
Janus
4268be9093 ln: save remote node_id in channel 2019-08-20 09:03:09 +02:00
SomberNight
8ba63380b4 split lnrouter from lnbase 2019-08-20 09:03:09 +02:00
SomberNight
f6763b6084 remove function H256 2019-08-20 09:03:09 +02:00
ThomasV
b71f020fc9 move on_funding_locked to lnworker 2019-08-20 09:03:09 +02:00
ThomasV
0552c61b66 lightning: add payment methods to lnworker 2019-08-20 09:03:09 +02:00
ThomasV
c621ae8f6e lightning: move lnworker code to its own module 2019-08-20 09:03:09 +02:00
ThomasV
5666188e9e update lnbase after crypto refactoring 2019-08-20 09:03:09 +02:00
Janus
1d8c771440 lnbase: remove lnbase stub 2019-08-20 09:03:09 +02:00
ThomasV
8abd072c89 lnbase: pass password to mktx 2019-08-20 09:03:09 +02:00
ThomasV
5a819611c8 qt: fix password passed to open_channel, cleanup 2019-08-20 09:03:09 +02:00
Janus
6ac15962dc lnbase: mSAT hygiene, multiple multi-hop payments can be received 2019-08-20 09:03:09 +02:00
Janus
10e8a90224 kivy: port lightning ui to lnbase 2019-08-20 09:03:09 +02:00
Janus
18963405ee lightning: remove hub based approach, port qt gui to lnbase 2019-08-20 09:03:09 +02:00
Janus
4fdf1b9b84 lnbase: use small buffer when reading, support new_channel without payment in online test, send channel_reserve_satoshis 2019-08-20 09:03:09 +02:00
Janus
5d375de30e lnbase: use correct cltv_expiry calculation (use invoice) 2019-08-20 09:03:09 +02:00
Janus
eeb027babc lnbase: fix multi-hop payments 2019-08-20 09:03:09 +02:00
Janus
001ab4e3bc lnbase: fix onion-hop payload construction again (cltv currently broken) 2019-08-20 09:03:09 +02:00
Janus
1d267f1226 lnbase: fix multi-hop fees, initial handling of received update_add_htlc during payment 2019-08-20 09:03:09 +02:00
Janus
f6995b99d9 lnbase: calculate cltv_expiry for onion_packet correctly 2019-08-20 09:03:09 +02:00
Janus
6c67ad24f3 lnbase: try multi-hop onion package, type safety 2019-08-20 09:03:09 +02:00
SomberNight
43eb33327e PathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge" 2019-08-20 09:03:09 +02:00
SomberNight
50cc603d91 create route from path, that includes extra info needed for routing 2019-08-20 09:03:09 +02:00
SomberNight
5b1da26041 bolt-04: decryption of errors 2019-08-20 09:03:09 +02:00
Janus
5da3820a28 lnbase online test: use random node key when making new channel, save node key, multiple actions per invocation 2019-08-20 09:03:09 +02:00
Janus
b81fb44952 lnbase: fix pay(), save htlc_id's, generate onion packet correctly 2019-08-20 09:03:09 +02:00
Janus
34da1349e0 lnbase/online_test: save short_channel_id to wallet and build onion packet with it 2019-08-20 09:03:09 +02:00
SomberNight
7ba3f2d54d calc short_channel_id after funding locked 2019-08-20 09:03:09 +02:00
Janus
6bf2714e33 lnbase: initial 'payment to remote' attempt 2019-08-20 09:03:09 +02:00
Janus
928eb886c5 lnbase: formatting, remove imports 2019-08-20 09:03:09 +02:00
Janus
2e23ecb3ca lnbase: verify commitment tx'es again 2019-08-20 09:03:09 +02:00
Janus
73a17c93ee lnbase: infinite amount of incoming payments 2019-08-20 09:03:09 +02:00
Janus
6173c2d7a7 lnbase: two payments working, temporarily disable sig check 2019-08-20 09:03:09 +02:00
Janus
ee87920573 lnbase: store remote revocation store, don't store all remote revocation points, verify ctn numbers in reestablish 2019-08-20 09:03:09 +02:00
Janus
3a20c8ce00 lnbase: add RevocationStore test, remove unnecessary lnd helper functions 2019-08-20 09:03:09 +02:00
Janus
cf82150aab lnbase: compact commitment secret storage 2019-08-20 09:03:09 +02:00
Janus
c5fb090e5c lnbase: no negative commitment number nonsense 2019-08-20 09:03:09 +02:00
Janus
2338d18ab8 lnbase: move channel commitment number increment to function 2019-08-20 09:03:09 +02:00
Janus
2a594e9d0e lnbase: receive repeated payments 2019-08-20 09:03:09 +02:00
Janus
d9d2989a6a lnbase: channel reestablishment working 2019-08-20 09:03:09 +02:00
SomberNight
a58a345dc3 bolt-04: implement processing of onion packets 2019-08-20 09:03:09 +02:00