Commit graph

228 commits

Author SHA1 Message Date
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
a5a7c1406e lightning channels reserves: use pretty balance in Qt, fix bugs, add tests 2019-08-20 09:03:10 +02:00
Janus
15b0720f5e lightning channel reserves 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
2364de930b lnrouter: run Dijkstra in reverse direction 2019-08-20 09:03:10 +02:00
SomberNight
ded11b4d9e lnonion: implement error packet construction 2019-08-20 09:03:10 +02:00
Janus
ac68c8f531 lnchan: add available_to_spend() 2019-08-20 09:03:10 +02:00
SomberNight
e6a0b641d5 lnaddr: encode min_final_cltv into invoice 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
Janus
eabe23f6b8 make function for determining who pays fee 2019-08-20 09:03:10 +02:00
ThomasV
409a336071 fix tests (follow-up previous commit) 2019-08-20 09:03:10 +02:00
SomberNight
0578bbd5d0 fix tests 2019-08-20 09:03:10 +02:00
SomberNight
7589bdc6a9 fix tests 2019-08-20 09:03:10 +02:00
Janus
1763d02b05 rename lnhtlc->lnchan, HTLCStateMachine->Channel 2019-08-20 09:03:10 +02:00
Janus
b26dc66567 lnhtlc: only store feerate once, don't store heights since we do not roll back 2019-08-20 09:03:10 +02:00
Janus
e8471e483b lnhtlc: merge config and state, remove unnecessary properties 2019-08-20 09:03:10 +02:00
Janus
1d4c113a35 lnhtlc: remove lookup_htlc, use heterogeneously typed lists 2019-08-20 09:03:10 +02:00
Janus
699368b0b7 lnhtlc: save settled htlc amounts separately 2019-08-20 09:03:10 +02:00
SomberNight
d44afd9633 fix tests 2019-08-20 09:03:10 +02:00
Janus
efc8d50570 move connection string decoding to lnworker, fix test_lnutil 2019-08-20 09:03:10 +02:00
Janus
50b3bc939c avoid reading from queues concurrently in pay() 2019-08-20 09:03:10 +02:00
SomberNight
d29191b010 rename LNChanAnnVerifier 2019-08-20 09:03:10 +02:00
Janus
d5d9270d0c lnhtlc: save logs and feeupdates 2019-08-20 09:03:10 +02:00
Janus
eca5545004 lnhtlc: don't throw away fee updates or htlcs
also add inject_fees debug command
2019-08-20 09:03:10 +02:00
Janus
02eca03486 lnhtlc: cleanup and save settled htlcs 2019-08-20 09:03:10 +02:00
Janus
6f5209ef85 lnhtlc: test that sent amount is received 2019-08-20 09:03:10 +02:00
Janus
261fefb6f3 lnwatcher rebased 2019-08-20 09:03:10 +02:00
SomberNight
0b0bc89083 fix tests 2019-08-20 09:03:10 +02:00
SomberNight
c02cc9bb3b persist recent peers. implement dns seed bootstrapping.
dns seeds are currently disabled though, as they always seem to return mainnet nodes.
2019-08-20 09:03:10 +02:00
SomberNight
bc06ded4b9 persist nodes in channel_db on disk 2019-08-20 09:03:10 +02:00
SomberNight
5a05a92b3d move bolt-04 onion stuff to its own module 2019-08-20 09:03:10 +02:00
Janus
9247da5203 ln: share more code with control path for failed htlc, verify ctx'es 2019-08-20 09:03:10 +02:00
Janus
3c06b3cee1 ln: use START_INDEX instead of 2**48-1 2019-08-20 09:03:10 +02:00
Janus
a841fa3602 ln: save htlc signatures 2019-08-20 09:03:10 +02:00
SomberNight
d0798c336f channeldb: allow injecting trusted edges 2019-08-20 09:03:10 +02:00
SomberNight
a5b44d25b0 persist channel db on disk. verify channel gossip sigs. 2019-08-20 09:03:10 +02:00
Janus
9853cc6f31 ln: do not use mSAT accuracy for commitment fees 2019-08-20 09:03:10 +02:00
Janus
66e7b4d250 ln: fundee must commit to fee first 2019-08-20 09:03:10 +02:00
Janus
d740475e7a move channel_state into HTLCStateMachine 2019-08-20 09:03:10 +02:00
Janus
35adc3231b lightning: fixup after rebasing on restructured master 2019-08-20 09:03:10 +02:00
SomberNight
1c75d939d9
commands: change API of "make_seed" and "create" commands
instead of "segwit" boolean, take a "seed_type" optional arg
default seed_type to "segwit"
previously these commands created legacy seeds by defalt
2019-08-09 22:02:01 +02:00
Daniel Kraft
3f8661b069
Unit tests for Blockchain.verify_header.
The function Blockchain.verify_header was previously not covered by tests
at all.  Even removing all the tests in it would still make the unit tests
pass.  This change adds tests for this important (!) function.
2019-07-28 13:23:20 +02:00
SomberNight
aadde9be17
transaction: fix remove_signatures
closes #5491
2019-07-05 21:16:58 +02:00
SomberNight
cc9ad3ae90
wallet: fix restore_wallet_from_text edge case
closes #5490
2019-07-05 19:27:44 +02:00
SomberNight
94b721baa4
wallet: fix type error in _bump_fee_through_decreasing_outputs
fixes #5483
2019-07-04 17:23:34 +02:00
SomberNight
e0b1bbfc46
tests: new tests for bump_fee and rbf_batching 2019-06-20 22:42:50 +02:00
SomberNight
0c20fcb6b3
tests: fix existing bump_fee tests 2019-06-20 22:42:49 +02:00
SomberNight
d0a43662bd
wallet: make "increase fee" RBF logic smarter
There are now two internal strategies to bump the fee of a txn.
bump fee method 1: keep all inputs, keep all not is_mine outputs,
                   allow adding new inputs
bump fee method 2: keep all inputs, no new inputs are added,
                   allow decreasing and removing outputs (change is decreased first)
Method 2 is less "safe" as it might end up decreasing e.g. a payment to a merchant;
but e.g. if the user has sent "Max" previously, this is the only way to RBF.

We try method 1 first, and fail-over to method 2.
Previous versions always used method 2.

fixes #3652
2019-06-20 22:42:48 +02:00