Commit Graph

34 Commits

Author SHA1 Message Date
SomberNight 67d24bf129 add LN gossip sync progress estimate indicator to Qt GUI 2020-02-29 20:03:35 +01:00
SomberNight fd56fb9189 ChannelDB: add self.lock and make it thread-safe 2020-02-29 20:03:31 +01:00
SomberNight a32af44ff9 trivial clean-up (typing/imports) 2020-02-28 20:27:35 +01:00
ThomasV 55a0043ab7 follow-up previous commit (fix tests) 2020-02-28 10:34:04 +01:00
ThomasV 97900c0985 store raw messages in gossip_db. Fixes #5960 2020-02-28 10:22:49 +01:00
ThomasV 9d0a862a43 revert prrevious commit (used in tests) 2020-02-20 11:26:19 +01:00
ThomasV 9680e7836c remove ChannelDB.add_channel_update (no longer needed after 46d8080c76) 2020-02-20 11:20:05 +01:00
SomberNight 46d8080c76 ln gossip: don't put own channels into db; always pass them to fn calls
Previously we would put fake chan announcement and fake outgoing chan upd
for own channels into db (to make path finding work). See Peer.add_own_channel().
Now, instead of above, we pass a "my_channels" param to the relevant ChannelDB methods.
2020-02-17 20:38:41 +01:00
SomberNight 24ebc77d76 ln chan verifier: fix code rot 2019-12-10 01:14:38 +01:00
SomberNight 13d6997355 LNPeerAddr: validate arguments
no longer subclassing NamedTuple (as it is difficult to do validation then...)
2019-11-26 00:15:33 +01:00
ThomasV a4944cdcb2 delete channel from db in remove_channel, becaose it is called from lnworker 2019-10-23 08:20:15 +02:00
SomberNight 106bc6d2b2 follow-up prev 2019-10-15 15:41:18 +02:00
ThomasV 0966edc637 fine-grained callbacks for lightning network dialog 2019-10-12 19:15:51 +02:00
ThomasV 3897cf725d move handle_error_code_from_failed_htlc to lnworker because it requires access to the network object 2019-10-12 18:22:19 +02:00
ThomasV 5377eb907c follow-up dd0be1541e 2019-10-12 12:59:38 +02:00
ThomasV dd0be1541e Improve handling of lightning payment status:
- Move 'handle_error_code_from_failed_htlc' to channel_db,
and call it from pay_to_route, because it should not be
called when HTLCs are forwarded.
- Replace 'payment_received' and 'payment_status'
callbacks with 'invoice_status' and 'request_status'.
- Show payment error logs in the Qt GUI
- In the invoices list, show paid invoices for which
we still have the log.
2019-10-11 17:51:33 +02:00
SomberNight 509df9ddaf create class for ShortChannelID and use it 2019-09-06 18:09:05 +02:00
SomberNight edf186da0d channeldb.load_data: attempt at fixing race
closes #5525
2019-09-05 18:32:45 +02:00
ThomasV bd57880799 do not raise exception when add_own_channel adds channel update from the cache 2019-09-04 08:01:08 +02:00
ThomasV e286ed1c13 add_own_channel does not need to be async 2019-09-03 21:01:45 +02:00
SomberNight fa5302bcfb (trivial) fix type annotation 2019-08-20 09:03:12 +02:00
SomberNight e54f0fbafa do not raise BaseException 2019-08-20 09:03:12 +02:00
SomberNight d955285808 lnrouter/channeldb: small import clean-up 2019-08-20 09:03:12 +02:00
SomberNight f0588846d5 channeldb: also store "message_flags" field for channel updates
this is a breaking change for the db format.
As in comment in diff,
"It would make more sense to store the raw gossip messages in the db."
2019-08-20 09:03:12 +02:00
SomberNight d229bb4e4d lnpeer: restore "temp save orphan channel updates" functionality
needed to handle race where remote might send chan_upd too soon
(before we save the short channel id for the channel after it reaches funding locked)
2019-08-20 09:03:12 +02:00
SomberNight ba431495db lnworker: fix silent TypeError in _calc_routing_hints_for_invoice 2019-08-20 09:03:12 +02:00
ThomasV 39bae1c7cf channel_db: load_data should load node_info 2019-08-20 09:03:12 +02:00
ThomasV b55f9e9e6a Do not route through channels for which we did not receive
both updates, because this often means one of the nodes is
offline.
2019-08-20 09:03:12 +02:00
ThomasV 30e942bead fix: delete from channel_db 2019-08-20 09:03:12 +02:00
ThomasV 32fcad5bc3 channel_db: update channels_for_node when removing channel 2019-08-20 09:03:12 +02:00
ThomasV 238f3c949c get rid of sql_alchemy 2019-08-20 09:03:12 +02:00
ThomasV 0eab1692d6 Do not store message payloads in channel db.
Use single primary key for addresses.
2019-08-20 09:03:12 +02:00
ThomasV f2d58d0e3f optimize channel_db:
- use python objects mirrored by sql database
 - write sql to file asynchronously
 - the sql decorator is awaited in sweepstore, not in channel_db
2019-08-20 09:03:12 +02:00
ThomasV 180f6d34be separate channel_db module 2019-08-20 09:03:12 +02:00