Commit Graph

160 Commits

Author SHA1 Message Date
ThomasV
0be0d4e2cc do not block GUI with open_channel 2018-06-26 19:32:50 +02:00
ThomasV
6a73e04e29 lnbase: mark_open on startup 2018-06-26 19:32:50 +02:00
SomberNight
4a1a407802 wait for peer.initialized in channel_establishment_flow 2018-06-26 19:32:50 +02:00
ThomasV
8322a04557 follow up 0b3a882e7d57c8a42be48c491a46dc814eab6acb 2018-06-26 19:32:50 +02:00
ThomasV
45f113244a simplify funding_locked
expose lnworker in peer
update channel_db when channels are open
2018-06-26 19:32:50 +02:00
ThomasV
71a0b91096 Display channel status in the GUI.
Do not convert channel_id to integer; there is no reason to do that.
2018-06-26 19:32:50 +02:00
Janus
c6ad21889d ln: htlc state machine (not used yet) 2018-06-26 19:32:19 +02:00
Janus
c23a4f10bd ln: save channels in dict, warn on invoice exceeding max_htlc amount 2018-06-26 19:32:19 +02:00
ThomasV
b874c5c8b0 lnworker: separate invoice creation from payment flow 2018-06-26 19:31:41 +02:00
Janus
8dbd607f66 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-06-26 19:31:41 +02:00
ThomasV
bc7022b439 fix channel_reestablish 2018-06-26 19:31:41 +02:00
ThomasV
cddc1c64fd lnbase: fix read_message 2018-06-26 19:31:41 +02:00
Janus
285f7a3962 ln: restore functionality 2018-06-26 19:31:41 +02:00
Janus
735d1c1457 ln: save remote node_id in channel 2018-06-26 19:31:41 +02:00
SomberNight
ab14d4ab83 split lnrouter from lnbase 2018-06-26 19:31:41 +02:00
SomberNight
cbc4c391c0 remove function H256 2018-06-26 19:31:41 +02:00
ThomasV
e3ce4f3657 move on_funding_locked to lnworker 2018-06-26 19:31:41 +02:00
ThomasV
a141233c28 lightning: add payment methods to lnworker 2018-06-26 19:31:41 +02:00
ThomasV
7a0ae08498 lightning: move lnworker code to its own module 2018-06-26 19:31:41 +02:00
ThomasV
50758a8e3f update lnbase after crypto refactoring 2018-06-26 19:31:41 +02:00
Janus
18b335cf01 lnbase: remove lnbase stub 2018-06-26 19:31:41 +02:00
ThomasV
5ecfb42112 lnbase: pass password to mktx 2018-06-26 19:31:41 +02:00
ThomasV
c74ec38f2e qt: fix password passed to open_channel, cleanup 2018-06-26 19:31:41 +02:00
Janus
c7a0b61368 lnbase: mSAT hygiene, multiple multi-hop payments can be received 2018-06-26 19:31:41 +02:00
Janus
4644c68733 kivy: port lightning ui to lnbase 2018-06-26 19:31:41 +02:00
Janus
c796ef9fcc lightning: remove hub based approach, port qt gui to lnbase 2018-06-26 19:31:41 +02:00
Janus
91284dba13 lnbase: use small buffer when reading, support new_channel without payment in online test, send channel_reserve_satoshis 2018-06-26 19:30:08 +02:00
Janus
cad74463f2 lnbase: use correct cltv_expiry calculation (use invoice) 2018-06-26 19:30:08 +02:00
Janus
fbeff88515 lnbase: fix multi-hop payments 2018-06-26 19:30:08 +02:00
Janus
e05d37f5c0 lnbase: fix onion-hop payload construction again (cltv currently broken) 2018-06-26 19:30:08 +02:00
Janus
7a2f2ea904 lnbase: fix multi-hop fees, initial handling of received update_add_htlc during payment 2018-06-26 19:30:08 +02:00
Janus
71655fd705 lnbase: calculate cltv_expiry for onion_packet correctly 2018-06-26 19:30:08 +02:00
Janus
9569a46166 lnbase: try multi-hop onion package, type safety 2018-06-26 19:30:08 +02:00
SomberNight
a6317164ca PathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge" 2018-06-26 19:30:08 +02:00
SomberNight
ac64246086 create route from path, that includes extra info needed for routing 2018-06-26 19:30:08 +02:00
SomberNight
230e112238 bolt-04: decryption of errors 2018-06-26 19:30:08 +02:00
Janus
d043ed9b21 lnbase online test: use random node key when making new channel, save node key, multiple actions per invocation 2018-06-26 19:30:08 +02:00
Janus
57c578b28c lnbase: fix pay(), save htlc_id's, generate onion packet correctly 2018-06-26 19:30:08 +02:00
Janus
83ace8ada4 lnbase/online_test: save short_channel_id to wallet and build onion packet with it 2018-06-26 19:30:08 +02:00
SomberNight
79b2144672 calc short_channel_id after funding locked 2018-06-26 19:30:08 +02:00
Janus
1fb5561011 lnbase: initial 'payment to remote' attempt 2018-06-26 19:30:08 +02:00
Janus
eb8d1ee9a7 lnbase: formatting, remove imports 2018-06-26 19:30:08 +02:00
Janus
26e821e34e lnbase: verify commitment tx'es again 2018-06-26 19:30:08 +02:00
Janus
e6c499fef2 lnbase: infinite amount of incoming payments 2018-06-26 19:30:08 +02:00
Janus
d4b549b63f lnbase: two payments working, temporarily disable sig check 2018-06-26 19:30:08 +02:00
Janus
ef0c840b22 lnbase: store remote revocation store, don't store all remote revocation points, verify ctn numbers in reestablish 2018-06-26 19:30:08 +02:00
Janus
dbb8ff362f lnbase: add RevocationStore test, remove unnecessary lnd helper functions 2018-06-26 19:30:08 +02:00
Janus
7a55ae19b6 lnbase: compact commitment secret storage 2018-06-26 19:30:08 +02:00
Janus
2cf8b8ae6f lnbase: no negative commitment number nonsense 2018-06-26 19:30:08 +02:00
Janus
3a7f6b0186 lnbase: move channel commitment number increment to function 2018-06-26 19:30:08 +02:00