Janus
f3038ff4d2
test_lnbase: use new Peer API (with lnworker)
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
ThomasV
fc26f1be37
revert the introduction of add_invoice_coroutine in a612c2b09
2018-07-13 16:44:01 +02:00
ThomasV
6372b44af7
do not pass channel list to update_rows signal, as it is sent to all windows
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
ThomasV
f702bbac11
integrate channels_list with existing framework
2018-07-13 16:44:01 +02:00
ThomasV
14201f6463
follow-up a612c2b0983ab4c6798156aebf1cd550fb3e0447
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
123f10054e
lightning: connect send button
2018-07-13 16:44:01 +02:00
ThomasV
a388fb6ffd
lightning GUI: use existing receive and send tabs with lightning invoices
2018-07-13 16:44:01 +02:00
Janus
0a67a824b6
ln: don't make invoice if peer can't possibly pay, append _sat to sat
...
parameters to avoid confusion
2018-07-13 16:44:01 +02:00
ThomasV
2defce6a42
lnworker: generate and save private key
2018-07-13 16:44:01 +02:00
ThomasV
a012cd1e0d
follow up previous commit
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
SomberNight
9d0bb08451
split lnrouter from lnbase
2018-07-13 16:44:01 +02:00
SomberNight
d329d501c4
remove function H256
2018-07-13 16:44:01 +02:00
ThomasV
9598978cc4
move on_funding_locked to lnworker
2018-07-13 16:44:01 +02:00
ThomasV
68f409fd27
lightning: add payment methods to lnworker
2018-07-13 16:44:01 +02:00
ThomasV
a69e72b830
lightning: move lnworker code to its own module
2018-07-13 16:44:01 +02:00
ThomasV
3a9b15bc2d
fix lnaddr.py following rebase
2018-07-13 16:44:01 +02:00
ThomasV
82953cb092
update lnbase after crypto refactoring
2018-07-13 16:44:01 +02:00
Janus
9ad0b7a878
lnbase: remove lnbase stub
2018-07-13 16:44:01 +02:00
ThomasV
857b6e99b8
lnbase: pass password to mktx
2018-07-13 16:44:01 +02:00
ThomasV
275f26729f
qt: fix password passed to open_channel, cleanup
2018-07-13 16:44:01 +02:00
Janus
e5b89c6c0e
lnbase: mSAT hygiene, multiple multi-hop payments can be received
2018-07-13 16:44:01 +02:00
Janus
e550e0241b
kivy: port lightning ui to lnbase
2018-07-13 16:44:01 +02:00
Janus
5f3613d8b7
lightning: remove hub based approach, port qt gui to lnbase
2018-07-13 16:43:59 +02:00
Janus
953ea1bea0
lnbase: use small buffer when reading, support new_channel without payment in online test, send channel_reserve_satoshis
2018-07-13 16:43:24 +02:00
Janus
8bd2f2c0ee
lnbase: use correct cltv_expiry calculation (use invoice)
2018-07-13 16:43:24 +02:00
Janus
96d2e788b8
lnbase: fix multi-hop payments
2018-07-13 16:43:24 +02:00
Janus
a7c61077cb
lnbase: fix onion-hop payload construction again (cltv currently broken)
2018-07-13 16:43:24 +02:00
Janus
2c3870d0fe
lnbase: fix multi-hop fees, initial handling of received update_add_htlc during payment
2018-07-13 16:43:24 +02:00
Janus
34cc9e2ef7
lnbase: calculate cltv_expiry for onion_packet correctly
2018-07-13 16:43:24 +02:00
Janus
babbbfcdea
lnbase: try multi-hop onion package, type safety
2018-07-13 16:43:24 +02:00
SomberNight
00887ee76e
PathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge"
2018-07-13 16:43:24 +02:00
SomberNight
0c70b3af1a
create route from path, that includes extra info needed for routing
2018-07-13 16:43:24 +02:00
SomberNight
f389c96814
bolt-04: decryption of errors
2018-07-13 16:43:24 +02:00
Janus
bc11675aae
lnbase online test: use random node key when making new channel, save node key, multiple actions per invocation
2018-07-13 16:43:24 +02:00
Janus
85cb9bc7f5
lnbase: fix pay(), save htlc_id's, generate onion packet correctly
2018-07-13 16:43:24 +02:00
Janus
44ffdd1936
lnbase/online_test: save short_channel_id to wallet and build onion packet with it
2018-07-13 16:43:24 +02:00
SomberNight
1fc0b1378d
calc short_channel_id after funding locked
2018-07-13 16:43:24 +02:00
Janus
a9cfa65f64
lnbase: initial 'payment to remote' attempt
2018-07-13 16:43:24 +02:00
Janus
3d3fe9976c
lnbase: formatting, remove imports
2018-07-13 16:43:24 +02:00
Janus
39df2a50b7
lnbase: verify commitment tx'es again
2018-07-13 16:43:24 +02:00
Janus
783209e951
lnbase: infinite amount of incoming payments
2018-07-13 16:43:24 +02:00
Janus
6c96f3a646
lnbase: two payments working, temporarily disable sig check
2018-07-13 16:43:24 +02:00
Janus
39000763ba
lnbase: store remote revocation store, don't store all remote revocation points, verify ctn numbers in reestablish
2018-07-13 16:43:24 +02:00
Janus
fe40f0a275
lnbase: add RevocationStore test, remove unnecessary lnd helper functions
2018-07-13 16:43:24 +02:00
Janus
15f5d6d603
lnbase: compact commitment secret storage
2018-07-13 16:43:24 +02:00
Janus
a509852b36
lnbase: no negative commitment number nonsense
2018-07-13 16:43:24 +02:00
Janus
69f5adea2f
lnbase: move channel commitment number increment to function
2018-07-13 16:43:24 +02:00
Janus
a33d74420a
lnbase: receive repeated payments
2018-07-13 16:43:24 +02:00
Janus
1643cac047
tests: don't use default lightning_peers in online test
2018-07-13 16:43:24 +02:00
Janus
bd7762186c
lnbase: channel reestablishment working
2018-07-13 16:43:24 +02:00
SomberNight
109d672bdb
bolt-04: implement processing of onion packets
2018-07-13 16:43:24 +02:00
SomberNight
a3e1e5dd47
minor clean-up of prev. util.xor_bytes
2018-07-13 16:43:24 +02:00
SomberNight
2570fd12f8
implement bolt-04 onion packet construction
2018-07-13 16:43:24 +02:00
Janus
b94f93f8b9
lnbase: save channel details in wallet, enable running online test with reestablishment_mode
2018-07-13 16:43:24 +02:00
Janus
0e9f4c4120
lnbase: move waiting for funding_locked to new function, make function for signing and sig conversion
2018-07-13 16:43:24 +02:00
Janus
1d821cb2c6
lnbase: make function for building htlc_tx depending on if it is for_us/we_receive
2018-07-13 16:43:24 +02:00
Janus
572d01d0c5
lnbase: verify their htlc signature
2018-07-13 16:43:24 +02:00
ThomasV
063c9b2e28
lnbase: standardize to_bytes calls
2018-07-13 16:43:24 +02:00
Janus
50f3c0dd00
lnbase: fix custom local to_self_delay, use node privkey derived from timestamp in online test
2018-07-13 16:43:24 +02:00
Janus
177df75d87
test_lnbase_online: pass password=None to channel_establishment_flow
2018-07-13 16:43:24 +02:00
Janus
73870d0457
lnbase: avoid copying variables, insert newlines
2018-07-13 16:43:24 +02:00
ThomasV
5ebc328ae6
lnbase: derive keys from wallet keystore
2018-07-13 16:43:24 +02:00
Janus
ff7a73ce19
lnbase: avoid local variables, remote useless comments, name basepoints as such
2018-07-13 16:43:24 +02:00
Janus
0a46b1c335
lnbase: set new field in Transaction instead of returning a tuple in make_commitment
2018-07-13 16:43:24 +02:00
Janus
67c5a8ba16
lnbase: set to_self_delay back to 144, defer cltv_expiry problem
2018-07-13 16:43:24 +02:00
Janus
e4434d530d
lnbase: use correct delay
2018-07-13 16:43:24 +02:00
Janus
28a6a3c1da
lnbase: avoid code duplication, return htlc outpoint dict in make_commitment
2018-07-13 16:43:24 +02:00
Janus
188588936a
lnbase: simplify commitment transaction building with open channel
2018-07-13 16:43:24 +02:00
Janus
9a6646c780
lnbase: organize channel data
2018-07-13 16:43:24 +02:00
Janus
07624960e5
lnbase: allow passing KeypairGenerator to channel_establishment_flow, fix derive_privkey
2018-07-13 16:43:24 +02:00
Janus
b433fb24bd
lnbase: receiving invoice payment works
2018-07-13 16:43:24 +02:00
Janus
dc5e3e9cfa
lnbase: commitment_signed, revoke_and_ack now accepted without errors
2018-07-13 16:43:24 +02:00
SomberNight
0a55216045
bitcoin.py: SCRIPT-related clean-up. transaction.py: construct_witness
2018-07-13 16:43:24 +02:00
Janus
e77c5b3c30
lnbase: fix their new commitment transaction (htlc tx construction still incorrect)
2018-07-13 16:43:24 +02:00
ThomasV
38f3db3712
lnbase: fix bug in message parsing
2018-07-13 16:43:24 +02:00
ThomasV
ab715438c6
follow up b5eb7dd7683f24f03c80ab8f612658b5f3966eb1
2018-07-13 16:43:24 +02:00
Janus
fdef6d5987
lnbase: attempt at making htlc_signature to send (currently remote fails due to wrong num_htlcs in commitment_signed)
2018-07-13 16:43:24 +02:00
ThomasV
612f6958fe
simplification
2018-07-13 16:43:24 +02:00
Janus
3b79d58237
lnbase: add TODO explaining how to verify htlc_signature given to us
2018-07-13 16:43:24 +02:00
Janus
12457dea3d
lnbase: verification of new local commitment working
2018-07-13 16:43:24 +02:00
Janus
0d1a9f6e6c
lnbase: derive next keys when making updated local commitment transaction
2018-07-13 16:43:24 +02:00
Janus
bef837de85
lnbase: try to receive payment, work on commitment tx with htlcs
2018-07-13 16:43:24 +02:00
Janus
0564d93379
lnbase: handle commitment transaction update (receive funds, not working yet)
2018-07-13 16:43:24 +02:00