Commit graph

101 commits

Author SHA1 Message Date
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
ThomasV
8bb23ea2cd follow-up prev commit: channel_flags, message_flags, htlc_maximum_msat 2019-08-20 09:03:10 +02:00
SomberNight
79989ad538 lnbase: typo in on_channel_reestablish 2019-08-20 09:03:10 +02:00
ThomasV
9a59ffaf44 lnrouter: filter out unsuitable channels 2019-08-20 09:03:10 +02:00
ThomasV
409a336071 fix tests (follow-up previous commit) 2019-08-20 09:03:10 +02:00
ThomasV
445252284f move transport code to its own file 2019-08-20 09:03:10 +02:00
Janus
71afa3cc70 lnbase: split out BOLT-08 (Noise) implementation 2019-08-20 09:03:10 +02:00
SomberNight
48252318b8 rebase follow-up 2019-08-20 09:03:10 +02:00
Janus
520b5703a4 lnbase: resend revoke_and_ack if necessary 2019-08-20 09:03:10 +02:00
Janus
94a10e6307 rebase fixup: use new broadcast_transaction API 2019-08-20 09:03:10 +02:00
Janus
601356f5d1 lnbase: use 45000 feerate on regtest for eclair compatibility 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
ThomasV
d439b3c308 fix previous commit 2019-08-20 09:03:10 +02:00
ThomasV
1ebd1baebf follow-up 1c8a4bcfa497b117e4511c2f108dbca8a1adb793 2019-08-20 09:03:10 +02:00
SomberNight
8d4a5bd1d7 lnbase: handle some error codes re htlc failures ('UPDATE' flag) 2019-08-20 09:03:10 +02:00
SomberNight
a8ace7ef4f lnonion: use IntEnum and IntFlag for failure codes 2019-08-20 09:03:10 +02:00
SomberNight
864efa029b handle failing htlc after restart 2019-08-20 09:03:10 +02:00
SomberNight
eced61123d clean up local/global features 2019-08-20 09:03:10 +02:00
SomberNight
4d32478f30 on_channel_reestablish: try to get remote to force close channel if out-of-sync.
see ACINQ/eclair#727 and lightningnetwork/lnd#1904
2019-08-20 09:03:10 +02:00
SomberNight
1946254ef2 on_update_fail_htlc: don't send commitment without changes
c-lightning was force-closing channels with us: "[lnbase:127.0.0.1] error commit_sig with no changes"
2019-08-20 09:03:10 +02:00
SomberNight
bf25d765d9 simplify ChannelDB.on_channel_update 2019-08-20 09:03:10 +02:00
SomberNight
97393d05aa use 'r' field in invoice when making payments (routing hints) 2019-08-20 09:03:10 +02:00
SomberNight
029ec5a5ab make our channels private, and put routing hints in invoices we create 2019-08-20 09:03:10 +02:00
ThomasV
c1b34dafe2 follow-up previous commit 2019-08-20 09:03:10 +02:00
SomberNight
5fbadafdb1 follow-up lnwatcher changes 2019-08-20 09:03:10 +02:00
ThomasV
6b9de278d4 aiosafe: define user visible exception class 2019-08-20 09:03:10 +02:00
ThomasV
6f3c2b30ed lnbase: propagate error messages received in on_error to their relevant coroutines 2019-08-20 09:03:10 +02:00
ThomasV
11c3ca281c create sweep transaction outside of lnwatcher 2019-08-20 09:03:10 +02:00
SomberNight
707c7d569d lnbase: Peer handles its own disconnection instead of lnworker 2019-08-20 09:03:10 +02:00
SomberNight
17457327ef make key derivation reasonable
no more hardcoded secrets, no more key-reuse
2019-08-20 09:03:10 +02:00
Janus
8bd6dc2425 ln: fix opening of channels (NameErrors) 2019-08-20 09:03:10 +02:00