SomberNight
b99add59c3
lnworker: introduce PaymentAttemptLog NamedTuple
2019-12-10 03:17:57 +01:00
SomberNight
d4da4aa56c
lnrouter: fix off-by-one in NUM_MAX_EDGES_IN_PAYMENT_PATH
2019-09-06 18:36:21 +02:00
SomberNight
509df9ddaf
create class for ShortChannelID and use it
2019-09-06 18:09:05 +02:00
ThomasV
246cda2928
fix Flake8 tests
2019-08-20 09:03:12 +02:00
SomberNight
beeb81e179
lnpeer: use correct failure codes in _maybe_forward_htlc
2019-08-20 09:03:12 +02:00
SomberNight
d955285808
lnrouter/channeldb: small import clean-up
2019-08-20 09:03:12 +02:00
ThomasV
e43a3bc63a
follow-up prev commit: pass is_mine to _edge_cost
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
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
ThomasV
115113f492
remove expensive sql request, python set comparison is faster
2019-08-20 09:03:12 +02:00
SomberNight
9a0ba7fa79
ChannelDB: trivial bugfix for get_channels_for_node
2019-08-20 09:03:11 +02:00
SomberNight
62f58c18fe
ChannelDB.on_node_announcement: some speed-up
...
(e.g. for 100 node anns, was ~5 seconds, now 0.7 sec; so still slow)
2019-08-20 09:03:11 +02:00
SomberNight
cffb89002c
fix ChannelDB.compare_channels: was raising "too many SQL variables"
...
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) too many SQL variables
2019-08-20 09:03:11 +02:00
ThomasV
0acd0c23d3
fix: key must be unique (sql)
2019-08-20 09:03:11 +02:00
ThomasV
eb4e6bb0de
improve filter_channel_updates
...
blacklist channels that do not really get updated
2019-08-20 09:03:11 +02:00
ThomasV
b055eeace2
prune channels older than two weeks from database
2019-08-20 09:03:11 +02:00
ThomasV
522ce5bb9f
verify channel updates in peer's TaskGroup
2019-08-20 09:03:11 +02:00
ThomasV
308dc6aa6b
use a single queue for gossip messages, so that they are processed in the correct order
2019-08-20 09:03:11 +02:00
ThomasV
e68f318b12
verify node and channel announcements before entering sql lock
2019-08-20 09:03:11 +02:00
ThomasV
0e42fd9f17
parallelize short_channel_id requests
2019-08-20 09:03:11 +02:00
ThomasV
1011245c5e
LNGossip: sync channel db using query_channel_range
2019-08-20 09:03:11 +02:00
ThomasV
31684abb51
do not SPV channel announcements; this is too resource intensive
2019-08-20 09:03:11 +02:00
SomberNight
cc57da704b
logging: adapt lightning branch to logging changes
2019-08-20 09:03:11 +02:00
ThomasV
34f22e6681
lnrouter: load data before finding path
2019-08-20 09:03:11 +02:00
ThomasV
b76728d459
lnrouter: fix get_last_good_address: one_or_none -> all
2019-08-20 09:03:11 +02:00
ThomasV
93e8d4f953
channel_db: fix timestamp_range, reduce verbosity
2019-08-20 09:03:11 +02:00
ThomasV
aa398993cf
lnrouter fixes:
...
- use gossip_queries_req instead of initial_routing_sync
- add connected nodes to recent peers only after successful init
- derive timestamp used with gossip_timestamp_filter from channel_db
- fix query_short_channel_ids:
1. channel IDs must be sorted with zlib
2. limit request to 100
3. do not abuse this to request node_announcements; it is fine not to have all nodes.
- fix get_recent_peers:
1. do not set last_connected_date to 'now' if we never connected a node
2. sql query was misconstructed and was returning only one peer
- populate FALLBACK_NODE_LIST_MAINNET with nodes that have the requested flags
2019-08-20 09:03:11 +02:00
ThomasV
e7888a50be
fix sql conflicts in lnrouter
2019-08-20 09:03:11 +02:00
ThomasV
2c80996fbf
lnrouter: fix primary key conflict in Policy update
2019-08-20 09:03:11 +02:00
ThomasV
02d013421a
lnwatcher: store transactions as binary
2019-08-20 09:03:11 +02:00
ThomasV
d8e9a9a49e
create parent class for sql databases
2019-08-20 09:03:11 +02:00
ThomasV
29afe52b4c
sqlite: do not use scoped_session
2019-08-20 09:03:11 +02:00
ThomasV
436c313790
follow-up previous commit
2019-08-20 09:03:11 +02:00
ThomasV
46aa5c1958
lnrouter: perform SQL requests in a separate thread. persist database.
2019-08-20 09:03:11 +02:00
ThomasV
9f188c087c
Flatten the structure of lnrouter, so that DBSession is not used outside of ChannelDB
2019-08-20 09:03:11 +02:00
Janus
95a2174789
sqlite in lnrouter: lnpeer: introduce _gossip_loop for gossip handling separated from message handling
2019-08-20 09:03:11 +02:00
Janus
3442e51fac
sqlite in lnrouter: remove useless InDB suffix
2019-08-20 09:03:11 +02:00
Janus
945e1dc4ee
sqlite in lnrouter: request missing channel_announcements and node_announcements
2019-08-20 09:03:11 +02:00
Janus
d2d67f1fe1
sqlite in lnrouter: avoid exceptions on shutdown
2019-08-20 09:03:11 +02:00
Janus
dd7c4b3bab
sqlite in lnrouter
2019-08-20 09:03:11 +02:00
ThomasV
3dce65dc73
Rename lnchan, lnchannel_verifier, lnbase
...
Auto-completions are a pain if files share a long prefix
2019-08-20 09:03:11 +02:00
Janus
56853da391
qt main_window: do not unregister on shutdown
...
this is handled differently in lightning, see commit
commit 6e355601261a60d143561f15760cc48f9c81d000
Author: ThomasV <thomasv@electrum.org>
Date: Sun Jun 3 10:07:56 2018 +0200
integrate channels_list with existing framework
2019-08-20 09:03:11 +02:00
ThomasV
3222e26e01
format message
2019-08-20 09:03:11 +02:00
ThomasV
f4b9d2f47c
show lightning network capacity in GUI
2019-08-20 09:03:11 +02:00
SomberNight
5b7c801ca4
after rebase fixes
2019-08-20 09:03:11 +02:00
SomberNight
c0ae7b5534
after rebase clean-up
2019-08-20 09:03:10 +02:00
SomberNight
f70e679aba
some more type annotations that needed conditional imports
2019-08-20 09:03:10 +02:00
SomberNight
bd48072e04
lnrouter: can_pay for own channels should use amount_to_forward
2019-08-20 09:03:10 +02:00
SomberNight
2364de930b
lnrouter: run Dijkstra in reverse direction
2019-08-20 09:03:10 +02:00