Commit graph

11175 commits

Author SHA1 Message Date
ThomasV
3430d1aaa3 follow-up prev commit 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
Janus
1352b0ce9f Kivy: Support Lightning in Send tab 2019-08-20 09:03:11 +02:00
Janus
f803bb571d kivy: restore channel list to working state, add [force-]closing functionality 2019-08-20 09:03:11 +02:00
Janus
1520338f37 fix ln tests 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
Janus
783cac1f23 function that returns map from commitment number to list of HTLCs 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
9cf7aa054d call force_close_channel on LNWorker, not Peer 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
Janus
6211e656a8 lnwatcher: do not get_transaction before broadcast
this workaround was inserted to avoid losing the interface
when rebroadcasting a transaction already in the mempool
many times. but since the network should make sure we always
have a interface ready, and this problem shouldn't happen on
mainnet, remove the workaround
2019-08-20 09:03:11 +02:00
Janus
c8dcf0b471 lnwatcher: more detailed logging, support notifying test suite of txs 2019-08-20 09:03:11 +02:00
Janus
795ba1f99d lnwatcher: ensure probable spendability of prev_tx
previously, we would try to publish the second_stage
even if we couldn't, because a conflicting transaction
was published (like an htlc success when we close with
htlcs pending with a 1-hop payment and an online
counterparty)
2019-08-20 09:03:11 +02:00
Janus
f9f1805cdf use IntEnum for TxMinedDepth 2019-08-20 09:03:11 +02:00
ThomasV
632f11d5da watchtower: add watch_channel rpc 2019-08-20 09:03:11 +02:00
Janus
39fa13b938 lnchan: use NamedTuple for logs instead of dict with static keys (adds, locked_in, settles, fails) 2019-08-20 09:03:10 +02:00
Janus
72187a4341 lnchan: make sign_next_commitment revert state 2019-08-20 09:03:10 +02:00
Janus
001bb4ca09 remove incorrect docstrings, attribute docstring sources where applicable 2019-08-20 09:03:10 +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
f5201327d1 add lnd copyright boilerplate to lnchan, test_lnchan 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
a42c1067ab lnworker: fix listchannels 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
a5ab431b4b parse invoices with lightning: prefix 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
SomberNight
54edc9488a lnworker: store invoices based on payment_hash 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
0dfc9e512b fix co-op close 2019-08-20 09:03:10 +02:00
Janus
d6f62d4e7f follow-up redeeming of local outgoing htlc outputs, fix tests 2019-08-20 09:03:10 +02:00
SomberNight
04ec7e9968 lnutil.make_funding_input: don't return payment pubkeys
order depends on who is initiator anyway
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
f3d1f71e94 lnchan: set diagnostic_name
previously was only set for tests
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
bd48072e04 lnrouter: can_pay for own channels should use amount_to_forward 2019-08-20 09:03:10 +02:00
SomberNight
2364de930b lnrouter: run Dijkstra in reverse direction 2019-08-20 09:03:10 +02:00
SomberNight
7edbd5682a fix confusion re max path length 2019-08-20 09:03:10 +02:00
SomberNight
2fafd01945 protect against getting robbed through routing fees 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