ThomasV
ecd9508233
follow-up previous commit
6 years ago
ThomasV
a7d37b72db
factorize channel opening code into chan.open_with_first_pcp
6 years ago
ThomasV
c3f6351922
simplify points, remove side-effect in reestablish_channel
6 years ago
ThomasV
b5fd27c64c
fix local/remote confusion in reestablish_channel
6 years ago
Janus
95a2174789
sqlite in lnrouter: lnpeer: introduce _gossip_loop for gossip handling separated from message handling
6 years ago
Janus
945e1dc4ee
sqlite in lnrouter: request missing channel_announcements and node_announcements
6 years ago
Janus
dd7c4b3bab
sqlite in lnrouter
6 years ago
ThomasV
3e443535a2
lnchannel: pass reference to lnworker
6 years ago
SomberNight
ef7a59b4a9
lnchannel: save htlc preimages as soon as possible but horribly hacky
...
will properly clean this up...
6 years ago
SomberNight
021f5d570e
lnpeer: check that remote only sends commit_sig if there are changes
6 years ago
Janus
f618bb4a67
lnhtlc: handle settles like adds (asymmetrical across ctns)
6 years ago
SomberNight
3a2ab149b9
lnchannel: add_htlc and receive_htlc now take and return UpdateAddHtlc
...
also fix undefined vars in _maybe_forward_htlc and _maybe_fulfill_htlc
in lnpeer
6 years ago
ThomasV
62be0c481c
lightning: Save invoices and preimages separately. Save preimages when forwarding
6 years ago
ThomasV
e475617b75
lnpeer: distinguish local and remote pending updates
6 years ago
ThomasV
4228b926d4
lnpeer: send commitment after receiving updates
6 years ago
ThomasV
3d8e168a85
follow-up previous commit
6 years ago
ThomasV
6eba22b5a8
lnpeer: replace asyncio.sleep with events
6 years ago
ThomasV
86b33a5637
code refactoring: _maybe_fullfill_htlc, _maybe_forward_htlc
6 years ago
ThomasV
a40207cbbb
Refactor LNPeer in order to support HTLC forwarding:
...
1. Do not perform channel updates in coroutines, because they would get executed in random order.
2. After applying channel updates, wait only for the relevant commitment (local or remote) and not for both, because local and remote might be out of sync (BOLT 2).
3. When waiting for a commitment, wait until a given ctn has been reached, because a queue cannot be shared by several coroutines
6 years ago
ThomasV
3dce65dc73
Rename lnchan, lnchannel_verifier, lnbase
...
Auto-completions are a pain if files share a long prefix
6 years ago
Janus
5f1feee331
move lightning message encoding to new lnmsg module
6 years ago
ThomasV
954e4c8892
lnbase: rename methods, fix tests
6 years ago
ThomasV
43e6e08840
Forward HTLCs
6 years ago
ThomasV
fa96efabb5
lnpeer: receive_and_revoke, send_and_revoke
6 years ago
ThomasV
82e8bcebb6
restructure channel_reestablish, resend funding_locked if needed
6 years ago
ThomasV
8e753f998a
fix tests
6 years ago
ThomasV
a3c6f82bb2
move LNPeer handshake back into initialize
6 years ago
ThomasV
b5482e4470
create transport and perform handshake before creating Peer
6 years ago
ThomasV
61638664f7
do not add ephemeral addresses to recent peers
6 years ago
ThomasV
472e82e387
fix channel closure when it was requested by the remote party
6 years ago
Janus
18bd934461
ln: show full chan id in list, use Event for initialized, more timeouts, return peer from add_peer, set max_htlc_value_in_flight_msat to capacity
6 years ago
ThomasV
2af178a586
Store boolean is_received in lightning invoices. Sort lightning history with timestamp. Minor fixes
6 years ago
ThomasV
0e8dba897e
lightning:
...
* store invoices for both directions
* do not store lightning_payments_inflight, lightning_payments_completed in lnworker
* payment history is returned by get_payments method of LNChannel
* command line: lightning history, lightning_invoices
* re-enable push_msat
6 years ago
Janus
d80b709aa4
lnbase: fix on_open_channel, add TODOs for missing validation
6 years ago
Janus
d5ed4309bb
revert low max_htlc_value_in_flight_msat, fix test
...
spec does not mention that there can be an upper bound
on max_htlc_value_in_flight_msat, so don't try to make
any node happy that has a max limit on this.
6 years ago
Janus
e6bd3959e0
ln: handle channel limits better, show remote limits in details dialog, replace rusty's testnet peer (doesn't work currently)
6 years ago
Janus
7cf4f40dcb
ln: warn when negotiated feerate is too low
6 years ago
Janus
8fc1779b0d
ln: add test_lnwatcher
6 years ago
Janus
f8dc9b344a
lnbase: work around peer not sending funding_locked so channel doesn't get marked open
6 years ago
Janus
6b6097a453
ln: add closechannel cli command
6 years ago
Janus
e56e849505
lnchan refactor
...
- replace undoing logic with new HTLCManager class
- separate SENT/RECEIVED
- move UpdateAddHtlc to lnutil
6 years ago
ThomasV
d9e7807fff
lnpeer: print port in error_messages
6 years ago
Janus
60508725b6
lnbase: fix sig encoding in mutual close
6 years ago
Janus
37a0315aab
lnbase: fix NameError
6 years ago
ThomasV
fde9f91902
lnchannel: store pre-signed sweep transactions after each new commitment
6 years ago
Janus
133e5ec8c3
use gossip_timestamp_filter instead of request_initial_sync
6 years ago
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
6 years ago
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
6 years ago
SomberNight
bc72966442
lnchan: follow-up "replace properties with functions"
6 years ago
ThomasV
78896897cb
lnchan: replace properties with functions
6 years ago