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