SomberNight
e8a2fa5596
tests: lnpeer.htlc_switch: don't fulfill htlc until add is irrevocable
...
This adds a failing test, where the HTLC switch fulfills an HTLC too soon,
before the corresponding 'update_add_htlc' is irrevocably committed.
5 years ago
ThomasV
521376f87f
rm unused parameter in maybe_fulfill_htlc
5 years ago
ThomasV
fe1b2149cb
lnpeer: fix flen in INIT
5 years ago
ThomasV
23ece8b33b
lnpeer: initialize new channel storage with lnworker db
5 years ago
bitromortac
bd178fbed5
lnpeer: remove unused imports, code cleanup
5 years ago
bitromortac
6b90a2d36c
lnpeer: implement upfront shutdown script logic
...
Upfront shutdown script is a script provided on channel opening,
which will be used by the peer to enforce us closing to this script
on collaborative channel close.
5 years ago
bitromortac
863fe031f0
lnpeer: await on_message handlers to raise exceptions
5 years ago
ThomasV
177766ac37
lnpeer: fix a comment
5 years ago
ThomasV
eb6eac9254
fix reserve_sat in local_config. see #6896
5 years ago
ThomasV
b29cdc02da
Require gossip_queries in LNWallet (follow-up f83d2d9fee)
...
- workaround lnd bug https://github.com/lightningnetwork/lnd/issues/3651
- also reduces bandwidth usage
5 years ago
ThomasV
f83d2d9fee
Move the part of process_gossip that requires access to channel_db into in LNGossip.
5 years ago
ThomasV
dfcdcb8d64
fix typo
5 years ago
SomberNight
82c8c4280f
lnworker: add request_remote_force_close which can be used without state
...
see #6656
5 years ago
SomberNight
35f1f2905b
lnpeer: forbid creating Peer with ourselves (self-connect)
...
related: #6583
5 years ago
SomberNight
ea3e3ddbb8
lnpeer: handle cooperative close edge-case
...
fix #6317
5 years ago
SomberNight
aba2e0f55a
lnhtlc: add all_htlcs_ever, get_htlc_by_id, was_htlc_failed and use them
...
towards encapsulation of hm.log
5 years ago
ThomasV
0b16f8ec3a
lnpeer: only process INIT if we are a backup. fixes #6241
6 years ago
SomberNight
1321b0e47a
qt channel details: maybe fix #5728
6 years ago
ThomasV
aacddf008c
trigger_force_close: set my_current_per_commitment_point to a valid point
...
We could as well derive the point from our channel_seed and ctn=0,
but that seems unnecessary. Related: #6241
6 years ago
SomberNight
5401b3f72d
channel backups: try fixing force-close-trigger
6 years ago
SomberNight
4c70956687
filter callbacks to wallet: channel, payment_succeeded, payment_failed
...
It is ugly that the 'channel' callback takes a wallet I guess,
but with channel backups in one wallet, and active channels in another,
it was causing problems... (when open simultaneously)
6 years ago
SomberNight
3509343447
ln: make 'to_self_delay' CSV configurable
...
needed for tests
6 years ago
SomberNight
fc39295d20
lnpeer: review safety check re channel open flow, and tweak params
6 years ago
ThomasV
2571669a32
fix #6200 : if we cannot parse an onion, send a failure code that has the BADONION bit
6 years ago
ThomasV
47b3c49b25
split lnpeer.fail_htlc into two methods with less parameters
6 years ago
ThomasV
2adbbee5fe
Add extra state to distinguish shutdown negotiation from post-
...
negotiation, where channel should not be reestablished. See #6182
6 years ago
ThomasV
6aa337c618
fix #6176
6 years ago
SomberNight
530a446172
follow-up prev: don't reuse funding tx change address for static_remotekey
...
see comment in code
6 years ago
SomberNight
6040e953a3
wallet: implement reserving addresses, and use it for LN SRK to_remote
...
- Use change addresses (instead of receive) for the static_remotekey to_remote outputs,
and reserve these to greatly reduce the chance of address-reuse
- Use change addresses (instead of receive) for LN channel sweep addresses.
Note that these atm are not getting reserved.
6 years ago
SomberNight
f9de6a5354
tests: lnpeer: make debug htlc failure hooks more uniform
6 years ago
SomberNight
2b0ed9f406
(trivial) lnpeer: rm @log_exceptions from htlc_switch
6 years ago
SomberNight
cc4029c335
test_lnpeer: add some multi-hop payment unit tests
6 years ago
SomberNight
7153e753d1
lnworker._pay: allow specifying path as argument
...
not exposed to CLI/etc yet but will be used in tests soon
6 years ago
ThomasV
887b643706
follow-up prev commit...
6 years ago
ThomasV
a8c14e65ad
follow-up prev commit
6 years ago
ThomasV
1529b07aa4
follow-up prev commit
6 years ago
ThomasV
c1b1638615
fix htlc forwarding:
...
- persist fail_htlc error messages
- do not rely on payment_hash in htlc_switch
6 years ago
ThomasV
ab188ff375
add config variable to test update_fail_malformed_htlc
6 years ago
ThomasV
abe1bece2c
remove UnknownPaymentHash (exception used as value)
6 years ago
SomberNight
8389892dbd
lnpeer: (trivial) log name for chan.state and chan.peer_state
...
IntEnum.__format__ just returns an int:
>>> from enum import IntEnum
>>> class Colours(IntEnum):
... red = 1
... blue = 2
...
>>> var = Colours.red
>>> f"{var}"
'1'
>>> f"{var!s}"
'Colours.red'
>>> f"{var!r}"
'<Colours.red: 1>'
6 years ago
SomberNight
6f7a4ab048
lnpeer: add get_channel_by_id, for small speed-up
6 years ago
SomberNight
b9b53e7f76
lnworker: fix threading issues for .channels attribute
...
external code (commands/gui) did not always take lock when iterating lnworker.channels.
instead of exposing lock, let's take a copy internally (as with .peers)
6 years ago
ThomasV
ef5ad5f22f
extend 'add_peer', 'list_peers' commands to gossip
6 years ago
SomberNight
223b62554e
lntransport: use network proxy if available
...
fixes #4824
6 years ago
SomberNight
90cb032721
lnworker: implement exponential backoff for retries
6 years ago
ThomasV
9224404108
Move callback manager out of Network class
6 years ago
SomberNight
54e1520ee4
ln: check if chain tip is stale when receiving HTLC
...
if so, don't release preimage / don't forward HTLC
6 years ago
SomberNight
12283d625b
(trivial) rename lnchannel.channel_states to ChannelState
6 years ago
ThomasV
821431a239
lnpeer: move ping_if_required away from message_loop
...
If our connection dies because we went to sleep, message_loop
will stall and ping_if_required will never be called.
6 years ago
ThomasV
99f933401a
add more logging shortcuts
6 years ago