Commit graph

180 commits

Author SHA1 Message Date
Janus
5cd0cb2a6f
ln: improve lnhtlc, passes test 2018-11-05 20:02:54 +01:00
ThomasV
d79e4ba3cf
fix reestablish_channel 2018-11-05 20:02:53 +01:00
ThomasV
9e1b62f6b4
reestablish channels in network callback 2018-11-05 20:02:53 +01:00
Janus
27288f3e69
ln: close channels 2018-11-05 20:02:52 +01:00
Janus
90488f0e05
ln: don't corrupt channels storage when multiple funding_locked are received 2018-11-05 20:02:51 +01:00
Janus
a4a5705936
ln: don't break channel when failing htlc 2018-11-05 20:02:51 +01:00
Janus
86546ea6c4
ln: announcement reliability fixes for qt, remove asserts forbidding unbalanced channels 2018-11-05 20:02:50 +01:00
Janus
695ac2db0c
ln: begin handling htlc failures 2018-11-05 20:02:50 +01:00
Janus
cc815c318d
ln: channel announcements 2018-11-05 20:02:48 +01:00
Janus
98818c3c3a
ln: lnpay: revoke until we get a commitment tx without htlcs 2018-11-05 20:02:48 +01:00
Janus
e0f817244a
ln: fix reestablishing channel with no mined funding tx 2018-11-05 20:02:47 +01:00
Janus
549debc2ec
ln: fix repeated payments 2018-11-05 20:02:47 +01:00
Janus
87992bce0c
ln: avoid code duplication 2018-11-05 20:02:46 +01:00
Janus
e51db18bac
ln: save remote's secrets in RevocationStore, not our secrets. call lnhtlc.receive_revocation 2018-11-05 20:02:46 +01:00
Janus
11f02a5d4b
lnbase/lnhtlc: use lnhtlc more instead of manually constructing tx'es 2018-11-05 20:02:45 +01:00
Janus
6516d5358d
lnbase: use sign_next_commitment for initial remote_ctx 2018-11-05 20:02:45 +01:00
Janus
df05017ee9
lnbase: use lnhtlc when verifying our initial commitment tx 2018-11-05 20:02:44 +01:00
Janus
2e99f30d24
lnbase: use broadcast_transaction instead of broadcast (follow up e57e55aad) 2018-11-05 20:02:43 +01:00
Janus
d920310c66
ln: remove unneeded forwarding htlc features, check commitment sig using lnhtlc while receiving 2018-11-05 20:02:43 +01:00
Janus
a7a2d79f2a
ln: integrate lnhtlc in lnbase, fix multiple lnhtlc bugs 2018-11-05 20:02:42 +01:00
Janus
beab441783
ln: request_initial_sync, increase our max_htlc_value, fix receiving payment 2018-11-05 20:02:41 +01:00
ThomasV
2f35212446
do not block GUI with open_channel 2018-11-05 20:02:41 +01:00
ThomasV
11ef5c4c4a
lnbase: mark_open on startup 2018-11-05 20:02:40 +01:00
SomberNight
91048fb4e1
wait for peer.initialized in channel_establishment_flow 2018-11-05 20:02:38 +01:00
ThomasV
a2f166d20d
follow up 0b3a882e7d57c8a42be48c491a46dc814eab6acb 2018-11-05 20:02:38 +01:00
ThomasV
a6ef0c4f0c
simplify funding_locked
expose lnworker in peer
update channel_db when channels are open
2018-11-05 20:02:37 +01:00
ThomasV
1257cd28dd
Display channel status in the GUI.
Do not convert channel_id to integer; there is no reason to do that.
2018-11-05 20:02:37 +01:00
Janus
2cd255c775
ln: htlc state machine (not used yet) 2018-11-05 20:02:34 +01:00
Janus
853c118b17
ln: save channels in dict, warn on invoice exceeding max_htlc amount 2018-11-05 20:02:34 +01:00
ThomasV
59e8c44311
lnworker: separate invoice creation from payment flow 2018-11-05 20:02:31 +01:00
Janus
0d1a4c2982
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-11-05 20:02:30 +01:00
ThomasV
12e170996a
fix channel_reestablish 2018-11-05 20:02:30 +01:00
ThomasV
d1232f7e5f
lnbase: fix read_message 2018-11-05 20:02:30 +01:00
Janus
25c300f10c
ln: restore functionality 2018-11-05 20:02:29 +01:00
Janus
2a6771b645
ln: save remote node_id in channel 2018-11-05 20:02:29 +01:00
SomberNight
5483d56c15
split lnrouter from lnbase 2018-11-05 20:02:28 +01:00
SomberNight
728bc2353d
remove function H256 2018-11-05 20:02:28 +01:00
ThomasV
1d1a5d6c44
move on_funding_locked to lnworker 2018-11-05 20:02:27 +01:00
ThomasV
47c0b2501d
lightning: add payment methods to lnworker 2018-11-05 20:02:26 +01:00
ThomasV
48756b31ed
lightning: move lnworker code to its own module 2018-11-05 20:02:25 +01:00
ThomasV
aaf40af7d0
update lnbase after crypto refactoring 2018-11-05 20:02:24 +01:00
Janus
18f2335bf9
lnbase: remove lnbase stub 2018-11-05 20:02:24 +01:00
ThomasV
a7f85efcf1
lnbase: pass password to mktx 2018-11-05 20:01:19 +01:00
ThomasV
86972cc9e2
qt: fix password passed to open_channel, cleanup 2018-11-05 20:01:19 +01:00
Janus
9ff68501e3
lnbase: mSAT hygiene, multiple multi-hop payments can be received 2018-11-05 20:01:18 +01:00
Janus
f82d40af1b
kivy: port lightning ui to lnbase 2018-11-05 20:01:18 +01:00
Janus
98f73348c1
lightning: remove hub based approach, port qt gui to lnbase 2018-11-05 20:00:35 +01:00
Janus
67dd377a05
lnbase: use small buffer when reading, support new_channel without payment in online test, send channel_reserve_satoshis 2018-11-05 19:58:51 +01:00
Janus
5a142cae4a
lnbase: use correct cltv_expiry calculation (use invoice) 2018-11-05 19:58:51 +01:00
Janus
60a24be561
lnbase: fix multi-hop payments 2018-11-05 19:58:50 +01:00