Commit graph

134 commits

Author SHA1 Message Date
Janus
6b6097a453 ln: add closechannel cli command 2019-08-20 09:03:11 +02:00
Janus
e56e849505 lnchan refactor
- replace undoing logic with new HTLCManager class
- separate SENT/RECEIVED
- move UpdateAddHtlc to lnutil
2019-08-20 09:03:11 +02:00
ThomasV
d9e7807fff lnpeer: print port in error_messages 2019-08-20 09:03:11 +02:00
Janus
60508725b6 lnbase: fix sig encoding in mutual close 2019-08-20 09:03:11 +02:00
Janus
37a0315aab lnbase: fix NameError 2019-08-20 09:03:11 +02:00
ThomasV
fde9f91902 lnchannel: store pre-signed sweep transactions after each new commitment 2019-08-20 09:03:11 +02:00
Janus
133e5ec8c3 use gossip_timestamp_filter instead of request_initial_sync 2019-08-20 09:03:11 +02:00
ThomasV
c0a1af2032 fix channel closure:
- add 'CLOSING' state
 - wait until channel has no inflight HTLC
 - end fee negocitation when both parties agree on the fee
   (previously code ended it only when the other party had broadcast)
 - broadcast the closing transaction
2019-08-20 09:03:11 +02:00
SomberNight
595cfcbb65 move sweeping methods from lnchan.py to new file
also sweep "received" htlcs from "our" ctx
also sweep htlcs from their ctx (non-breach)
extract ctn; included_htlcs_in_their_latest_ctxs
2019-08-20 09:03:11 +02:00
SomberNight
bc72966442 lnchan: follow-up "replace properties with functions" 2019-08-20 09:03:11 +02:00
ThomasV
78896897cb lnchan: replace properties with functions 2019-08-20 09:03:11 +02:00
Janus
e3409d32ef channel details with list of htlcs 2019-08-20 09:03:11 +02:00
ThomasV
5422de90a2 lightning: do not handle more than one fee update at a time 2019-08-20 09:03:11 +02:00
SomberNight
521fadb8cb lnutil: restructure channel config namedtuples (local/remote config) 2019-08-20 09:03:11 +02:00
Janus
1425628604 add command for listing invoices and their progress, fix list_channels 2019-08-20 09:03:11 +02:00
SomberNight
5b7c801ca4 after rebase fixes 2019-08-20 09:03:11 +02:00
Janus
8a98810df1 do not co-op close channels with pending htlcs 2019-08-20 09:03:11 +02:00
Janus
c570bc5fb1 avoid leaving FORCE_CLOSING state, rebroadcast closing tx if reorged out 2019-08-20 09:03:11 +02:00
Janus
0ea87278fb move force_close_channel to lnbase, test it, add FORCE_CLOSING state 2019-08-20 09:03:11 +02:00
SomberNight
c0ae7b5534 after rebase clean-up 2019-08-20 09:03:10 +02:00
Janus
7e76e82152 test_lnbase: add test that pays to another local electrum 2019-08-20 09:03:10 +02:00
SomberNight
ce2b572fa5 lnbase: more type annotations, and minor fix 2019-08-20 09:03:10 +02:00
SomberNight
449ec013fe add licence headers to more files 2019-08-20 09:03:10 +02:00
Janus
85789d8a09 lnbase: mark initialized later, add tests, etc
- consistent node_id sorting
- require OPTION_DATA_LOSS_PROTECT and test it
2019-08-20 09:03:10 +02:00
Janus
578faeb91a lnbase: do not assert only one htlc in commitment 2019-08-20 09:03:10 +02:00
Janus
a5a7c1406e lightning channels reserves: use pretty balance in Qt, fix bugs, add tests 2019-08-20 09:03:10 +02:00
ThomasV
eb4e6b2e54 use WaitingDialog to close channels 2019-08-20 09:03:10 +02:00
ThomasV
70dbd8e672 add close_channel method to peer 2019-08-20 09:03:10 +02:00
ThomasV
f985aac8d1 fix typo 2019-08-20 09:03:10 +02:00
ThomasV
5ca6fbaea7 lnbase: self.channel_reestablished is not a queue 2019-08-20 09:03:10 +02:00
Janus
15b0720f5e lightning channel reserves 2019-08-20 09:03:10 +02:00
ThomasV
d9facabc8c lnbase: call save_channel in revoke and receive_revoke 2019-08-20 09:03:10 +02:00
Janus
1f97a9753e redeem htlc outputs of our local commitment transaction back to wallet 2019-08-20 09:03:10 +02:00
SomberNight
f70e679aba some more type annotations that needed conditional imports 2019-08-20 09:03:10 +02:00
SomberNight
edff357fad better handling of channel updates for private channels 2019-08-20 09:03:10 +02:00
SomberNight
c577df8489 lnbase: when opening channel, test if we have enough balance first
and make sure we don't try to create the funding txn from local UTXOs
2019-08-20 09:03:10 +02:00
SomberNight
d511ecdc00 start failing htlcs 2019-08-20 09:03:10 +02:00
SomberNight
4b37343c62 unify hardcoded regtest fee 2019-08-20 09:03:10 +02:00
ThomasV
d6b4268fde Qt gui: show messages about payment outcome 2019-08-20 09:03:10 +02:00
ThomasV
02c39a950f encapsulate get_invoice in lnworker 2019-08-20 09:03:10 +02:00
ThomasV
095de2dd22 make on_update_add_htlc async 2019-08-20 09:03:10 +02:00
SomberNight
3ac9858d59 follow-up prev 2019-08-20 09:03:10 +02:00
SomberNight
56c0983e69 fix multi-hop payments 2019-08-20 09:03:10 +02:00
ThomasV
c0aee58e4d follow-up 3460ba738e 2019-08-20 09:03:10 +02:00
ThomasV
d9eb92979b revert rbf on funding tx 2019-08-20 09:03:10 +02:00
SomberNight
a8b9727817 lnbase: fix peer clean-up 2019-08-20 09:03:10 +02:00
ThomasV
f8894d467f funding tx: use fees from config and set rbf 2019-08-20 09:03:10 +02:00
SomberNight
9de6028fb5 clean-up Peer init 2019-08-20 09:03:10 +02:00
SomberNight
2e5552816c if payment fails with UPDATE onion error, also utilise channel_update for private channels 2019-08-20 09:03:10 +02:00
Janus
962f70c7da ln: add lightning_listen config option 2019-08-20 09:03:10 +02:00