Commit Graph

5237 Commits

Author SHA1 Message Date
90a9f5882a lnrpc: add field amt_paid_msat to Invoice 2018-09-07 14:13:48 +02:00
712453bbc2 build: update btcwallet to latest version
In this commit, we update btcwallet to the latest version which fixes a
panic bug when attempting to notify a relevant transaction.
2018-09-06 20:44:59 -07:00
59c404a6d3 server: ensure persistent connections to tor addrs are made if active
In this commit, we restrict the persistent connection logic on startup
to only attempt to establish connections to Tor addresses if Tor
outbound support is enabled. Otherwise, we'll continually attempt to
reach the address even though we never will.
2018-09-06 18:51:19 -07:00
dcd8190c80 Merge pull request #1853 from cfromknecht/short-chan-id-compare
lnwire/lnwire_test: assert nil 0-length sid reply msg
2018-09-06 18:20:31 -07:00
0121fe8465 Merge pull request #1862 from Roasbeef/chan-series-test-fixes
multi: fix panic bug in chan series, itest test flake, update neutrino to latest version
2018-09-06 18:19:33 -07:00
5aed80b5ce build: update to latest version of neutrino
In this commit we update to the latest version of neutrino which fixes a
bug in the filter header syncing logic.
2018-09-06 16:58:08 -07:00
555b7db602 test: fix flake in link node garbage collection test
In this commit, we fix a flake in the link node garbage collection test
by ensuring the channels have been fully closed on both sides before we
attempt to restart and ensure that they don't actually establish
connections. Without this check, it's possible that either side hasn't
yet processed all the blocks, so they'll still reconnect to each other on
start up.
2018-09-06 16:57:32 -07:00
27ecfbbd36 lntest: log the expected and last balance in WaitForBalance error case 2018-09-06 16:49:27 -07:00
09d4660524 chanseries: fix panic bug by ensuring we access a non-nil edge
In this commit, we fix an existing but that would cause the daemon to at
times crash. Before this commit, we access the wrong edge, which would
possibly actually be nil, leading to a panic. In this commit we fix this
by ensuring we access the proper edge which is known to be non-nil at
this point in the control flow.
2018-09-06 16:48:55 -07:00
dc0030f11d discovery/gossiper: remove go-errors pkg 2018-09-05 22:08:16 -07:00
045a2c7fff discovery/syncer_test: add DOS delayed replies test 2018-09-05 22:08:16 -07:00
557cb6e253 discovery/syncer: delay replies after initial sync to prevent DOS 2018-09-05 22:08:16 -07:00
fb95858afc Merge pull request #1740 from valentinewallace/fix-historical-ntfns-reorg-test
chainntnfs/interface_test: fix unreliable historical block ntfns test
v0.5-beta-rc2
2018-09-05 21:01:42 -07:00
a1137a4f68 Merge pull request #1818 from cfromknecht/aplt-track-pending-conns
autopilot: prevent duplicate conns to same peer
2018-09-05 21:01:18 -07:00
85a2d4640f lnwire/lnwire_test: assert nil 0-length sid reply msg 2018-09-05 20:54:06 -07:00
d5f97f7bdc autopilot/multi: replace PubKey -> NodeKey on directive 2018-09-05 20:10:37 -07:00
e702a6a266 autopilot/agent_test: remove Fatalf calls from goroutines 2018-09-05 20:10:36 -07:00
2b578e06fc autopilot/agent_test: ensure directives use unique keys
This commit ensures that the mock attachment
directives use unique keys, ensuring that they
aren't skipped due to already having pending
connection requests. The tests fail when
they're all the same since they collide
in the pendingConns map.
2018-09-05 20:10:35 -07:00
7d9483c20d autopilot/agent_test: adds TestAgentSkipPendingConns
Adds a test asserting that the agent prevents
itself from making duplicate outstanding
connection requests to the same peer.
2018-09-05 20:10:35 -07:00
c214bea9db autopilot/prefattach: set NodeID for selection candidates 2018-09-05 20:10:34 -07:00
08b6bf54fb autopilot/interface: expose NodeID in AttachmentDirective 2018-09-05 20:10:34 -07:00
4599b0eac3 autopilot/agent: track pending connections
This commit modifies the autopilot agent to track
all pending connection requests, and forgo further
attempts if a connection is already present.
Previously, the agent would try and establish
hundreds of requests to a node, especially if the
connections were timing out and not returning.

This resulted in an OOM OMM when cranking up
maxchannels to 200, since there would be close
to 10k pending connections before the program was
terminated. The issue was compounded by periodic
batch timeouts, causing autopilot to try and
process thousands of triggers for failing
connections to the same peer.

With these fixes, autopilot will skip nodes that we
are trying to connect to during heuristic selection.
The CPU and memory utilization have been significantly
reduced as a result.
2018-09-05 20:10:34 -07:00
4100dfcf6b Merge pull request #1801 from cfromknecht/remove-initial-graph-sync-request
server: Stop requesting initial graph sync
2018-09-05 19:16:56 -07:00
1ac1092aaa lnd: ensure that we set the wallet birthday for --noencryptwallet
In this commit, we ensure that we always set the wallet birthday. If the
user has provided a seed, or is creating a new one, then it will be
overwritten below. However, before this commit, if a user started with
the --noencryptwallet flag, then we would _always_ start to rescan from
genesis with the recent bug fix to ensure that we always start after the
birthday.
2018-09-05 18:58:48 -07:00
055dc233a1 lnwire/features: add required gq to local features
This commit adds the required feature name to our
set of local known features. This will allow other
peers connecting to us to set the required gossip
queries feature bit. This is required for the
subsequent commits, which instruct the server to
set the bit depending on user configured preferences.
2018-09-05 18:51:04 -07:00
aec1e84e3e Merge pull request #1844 from wpaulino/prune-peer-conn-disk-chans
peer: prune persistent peer connection on zero on-disk channels
2018-09-05 18:45:54 -07:00
ea51ec34b1 peer: prune persistent peer connection on zero on-disk channels
In this commit, we fix a small bug with regards to the persistent peer
connection pruning logic. Before this commit, it'd be the case that we'd
prune a persistent connection to a peer if all links happen to be
inactive. This isn't ideal, as the channels are still open, so we should
always be atttempting to connect to them. We fix this by looking at the
set of channels on-disk instead and prune the persistent connection if
there aren't any.
2018-09-05 18:30:45 -07:00
b0347879db Merge pull request #1817 from halseth/autopilot-node-update
Reduce goroutine overhead on autopilot updates
2018-09-05 18:08:37 -07:00
b2efbce1ac Merge pull request #1849 from cfromknecht/resync-golock
dep: constrain siphash, x/sys, and errgo.v1 + upd neutrino
2018-09-05 17:58:49 -07:00
d2a7d910b7 Merge pull request #1825 from Roasbeef/extra-gossip-message-data
channeldb+discovery: ensure we store, validate and propagate announcements with opaque data
2018-09-05 17:53:02 -07:00
146e0efe71 Merge pull request #1802 from wpaulino/equal-zmq-conf-error
config: ensure ZMQ options are not equal and defer creating lnddir until all flag parsing is done
2018-09-05 17:33:40 -07:00
322e53ec5f dep: constrain siphash, x/sys, and errgo.v1, upd neutrino 2018-09-05 17:08:59 -07:00
785efcfaa2 channeldb: also ignore the EOF error when trying to read ExtraOpaqueBytes
In this commit, we account for the additional case wherein the
announcement hasn't yet been written with the extra zero byte to
indicate that there aren't any remaining bytes to be read. Before this
commit, we accounted for the case where the announcement was written
with the extra byte, but now we ensure that legacy nodes that upgrade
will be able to boot properly.
2018-09-05 16:42:23 -07:00
d1a80e35ef Merge pull request #1841 from cfromknecht/sync-gq-start
peer: Synchronous registration of gossip queries
2018-09-05 16:37:03 -07:00
baee07ef48 Merge pull request #1846 from roeierez/invoice_amt_paid
rpcserver: amount paid should be in satoshis as other fields used for amount
2018-09-05 12:58:59 +02:00
f0201fbb32 amount paid should be in satoshies as other fields used for amount 2018-09-05 11:41:48 +03:00
16b5a67c3a Merge pull request #1842 from wpaulino/dedup-chan-updates-horizon
channeldb: dedup channel edges returned from ChanUpdatesInHorizon
2018-09-04 21:24:40 -07:00
48072f8e82 channeldb: add limit on the max number of opaque bytes per announcement
In this commit, we add a new limit on the largest number of extra opaque
bytes that we'll allow to be written per vertex/edge. We do this in
order to limit the amount of disk space that we expose, as it's possible
that nodes may start to pad their announcements adding an additional
externalized cost as nodes may need to continue to store and relay these
large announcements.
2018-09-04 20:52:45 -07:00
7808288249 chanseries+server: populate ExtraOpaqueData field when reading from disk 2018-09-04 20:52:45 -07:00
98518706b2 sample-lnd.conf: remove noencryptwallet flag from sample 2018-09-04 20:52:44 -07:00
88aa74be57 discovery: add new set of tests to ensure we validate w/ extra data 2018-09-04 20:52:44 -07:00
13e4fe2104 docker/lnd/start-lnd.sh: pass noseedbackup instead of noencryptwallet 2018-09-04 20:52:44 -07:00
841e24399c discovery: ensure we populate ExtraOpaqueData when writing/reading from disk 2018-09-04 20:52:44 -07:00
8e017465c0 macaroons/README: update noencryptwallet -> noseedbackup 2018-09-04 20:52:44 -07:00
0fc20cee64 discovery: update utils to properly include opaque data in gossip msgs 2018-09-04 20:52:44 -07:00
e47412be3a docs/INSTALL: remove noencryptwallet from install docs
We will be slowly phasing this out, though abruptly
discontinuing support would be a more extensive change.
For now, we will ensure that this feature is not
recommended to users setting up a new wallet.
2018-09-04 20:52:43 -07:00
a35bdd4233 channeldb: extend set of graph tests to include opque data where pertinent 2018-09-04 20:52:43 -07:00
d75a01ec83 walletunlocker/service: change noencryptwallet reference to noseedbackup 2018-09-04 20:52:43 -07:00
f5c582d8d7 channeldb: add new ExtraOpaqueData to edge policy+update and node ann
In this commit, we add a mirror set of fields to the ones we recently
added to the set of gossip wire messages. With these set of fields in
place, we ensure that we'll be able to properly store and re-validate
gossip messages that contain a set of extra/optional fields.
2018-09-04 20:52:43 -07:00
fb3ace9b28 lnd: use default enc pw when noseedbackup is passed 2018-09-04 20:52:43 -07:00