Commit Graph

11256 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
2b5c9e1606 build: set Go version to 1.15 remove retract
We need to remove the retract as it's a new directive that isn't
understood by Go versions < 1.16.
2021-04-21 17:44:13 -05:00
Olaoluwa Osuntokun
8f940a5ea3 Merge pull request #5138 from Roasbeef/strict-zombie
channeldb+discovery: implement strict zombie pruning
2021-04-21 14:03:50 -07:00
Olaoluwa Osuntokun
a9f1b341be discovery: update zombie resurrection test w/ new logic
In this commit, we update the existing zombie resurrection test to
ensure that if we prune an edge and another pubkey is marked as nil,
that we only accept a resurrection channel update from the node the we
originally pruned if the pruning decision was one sided.
2021-04-21 13:56:35 -05:00
Olaoluwa Osuntokun
6c27de7d11 routing: add strict pruning as new flag, default for neutrino
In this commit we add a new flag that controls if lnd will do strict
zombie pruning or not. If true, then this will cause lnd to maintain a
tighter graph as it wants both edges to always be live. We enable this by
default for neutrino as without this, it's possible that a node never
sees both edges begin disabled, so those edges are never actually pruned
from the graph.
2021-04-21 13:56:29 -05:00
Olaoluwa Osuntokun
7b589e5811 routing: add strict zombie pruning as a config level param
In this commit, we add strict zombie pruning as a config level param.
This allow us to add the option for those that want a tighter graph, and
not change the default composition of the channel graph for most users
over night.

In addition, we expand the test case slightly by testing that the self
node won't be pruned, but also that if there's a node with only a single
known stale edge, then both variants will prune that edge.
2021-04-21 13:56:27 -05:00
Olaoluwa Osuntokun
916059da48 routing: update chan pruning test w/ new zombie logic 2021-04-21 13:56:24 -05:00
Conner Fromknecht
e3a8b3b0c4 routing/router: prune zombies when either end is stale 2021-04-21 13:56:21 -05:00
Conner Fromknecht
672dbe39e7 channeldb/graph: only set laggard zombie pubkey 2021-04-21 13:56:19 -05:00
Conner Fromknecht
f28a98aa6f discovery/gossiper: only parse zombie pubkey if non-empty 2021-04-21 13:56:16 -05:00
Conner Fromknecht
4baee9537b discovery/gossiper: move zombie handling to helper 2021-04-21 13:56:11 -05:00
Olaoluwa Osuntokun
60250f0a04 Merge pull request #5034 from Roasbeef/m1-go1.16
build: switch all builds systems and CI/ID to go 1.16, update min go version, add support for compiling M1 binaries
2021-04-21 08:59:46 -07:00
Carla Kirk-Cohen
10a15ad73f Merge pull request #5228 from carlaKC/errlist-neutrinoshutdown
itest: whitelist neutrino shutting down error
2021-04-21 14:04:32 +02:00
carla
0368da02bd itest: whitelist neutrino shutting down error 2021-04-21 12:36:43 +02:00
Olaoluwa Osuntokun
1a8d1874a5 Merge pull request #5213 from hsjoberg/mobile-moveup
mobile: Move lndStarted check to the top of the Start function
2021-04-20 09:16:55 -07:00
Hampus Sjöberg
e1ebdb311a mobile: Move lndStarted check to the top of the Start function 2021-04-20 14:51:27 +02:00
Olaoluwa Osuntokun
5c5b91216a Merge pull request #5221 from Roasbeef/btcwallet-chain-client-alignment
build: update to latest version of btcwallet
2021-04-19 20:15:54 -07:00
Olaoluwa Osuntokun
1301377e1a build: update to latest version of btcwallet
In this commit, we upgrade to the latest version of `btcwallet` that
fixes an alignment issue with usage of atomics that can cause a panic on
certain systems.

Fixes #5196.
2021-04-16 11:18:01 -07:00
Johan T. Halseth
a36c95f732 Merge pull request #4588 from bjarnemagnussen/coinselect-align-fee-estimates
chanfunding: fee estimation based on change output in `CoinSelect`
2021-04-16 13:43:51 +02:00
Johan T. Halseth
faf5049848 Merge pull request #4599 from hsjoberg/lndmobile-restart
mobile: re-initialize listeners via RecreateListeners
2021-04-15 08:53:55 +02:00
Conner Fromknecht
748265d097 Merge pull request #5207 from carlaKC/4727-singleinvoice
invoicesrpc: terminate SubscribeSingleInvoice once invoice reaches a final state
2021-04-14 15:32:53 -07:00
Olaoluwa Osuntokun
d5aedbcbd9 Merge pull request #5192 from Roasbeef/reject-cache-chan-ann
discovery: always add chan announcements to the reject cache if err !…
2021-04-14 15:20:18 -07:00
Olaoluwa Osuntokun
bb6aca1130 discovery: add unit tests for chan anns in the reject cache 2021-04-14 15:19:27 -07:00
Olaoluwa Osuntokun
c959ecc4c9 discovery: always add chan announcements to the reject cache if err != ErrIgnored
In this commit, we make a change to always add chan announcements to the
reject cache if we didn't reject them for already existing.  Without
this change, if we end up rejecting a channel announcement say because
the channel is already spent or the funding transaction doesn't exist,
then we'll end up continually re-validating the same set of channels we
know will fail, when they're sent to us by peers.

Fixes #5191
2021-04-14 15:19:14 -07:00
Olaoluwa Osuntokun
54e315101d Merge pull request #4577 from yyforyongyu/itest-better-logging
itest: logging for subtests and refactor WaitForBlockchainSync
2021-04-14 15:04:34 -07:00
Olaoluwa Osuntokun
70b7c355d3 Merge pull request #4425 from breez/persist-rescan-progress
Persist rescan progress.
2021-04-14 12:43:35 -07:00
Olaoluwa Osuntokun
c760b0188a Merge pull request #5209 from cfromknecht/constrain-pay-addr-lookup
channeldb/invoice: only allow pay-addr lookup w/ no query hash
2021-04-14 10:10:08 -07:00
carla
db1d671b1a multi: terminate SubscribeSingleInvoice once completed 2021-04-14 09:19:23 +02:00
carla
0686329062 itest/test: add settle/canceled assertions for subscribe single 2021-04-14 09:19:22 +02:00
carla
7f1e0a4d7b itest/test: move test hold persistence into its own file 2021-04-14 09:19:21 +02:00
yyforyongyu
96c3a64316 lntest: refactor WaitForBlockchainSync 2021-04-14 12:30:22 +08:00
yyforyongyu
a215c55186 itest: add logging for subtests 2021-04-14 12:30:19 +08:00
Olaoluwa Osuntokun
3d0c477704 build: retract v0.0.2
A stray version of lnd was pushed out waaaay back in 2016 that can trip
up `pkg.go.dev` and things like `go get`. Using the new Go 1.16 feature,
we can now "retract" this version, which marks it as being unavailable.
2021-04-13 15:57:33 -07:00
Olaoluwa Osuntokun
a1bfbdc7d2 docs/INSTALL.md: update install docs w/ new min Go version 2021-04-13 15:57:27 -07:00
Olaoluwa Osuntokun
95650c7d63 build: add darwin-arm64 (M1 Apple Silicon) as a release target 2021-04-13 15:57:24 -07:00
Olaoluwa Osuntokun
af0fc09f62 multi: update build systems and CI/CD to go 1.16 2021-04-13 15:57:21 -07:00
Olaoluwa Osuntokun
25dfbc4106 Merge pull request #5193 from wpaulino/neutrino-assume-valid
Use routing.assumechanvalid=true by default in Neutrino mode
2021-04-13 15:37:51 -07:00
Olaoluwa Osuntokun
21e8394983 Merge pull request #5194 from Kixunil/patch-3
Better document the nature of accept-keysend
2021-04-13 15:35:20 -07:00
Olaoluwa Osuntokun
41e2db6fbb Merge pull request #5204 from yyforyongyu/fix-pathfind-feature-bit
routing: fix pathfind edge features being nil
2021-04-13 15:34:54 -07:00
Conner Fromknecht
de7da3d223 Merge pull request #5182 from PierreRochard/node-update-addresses
rpcserver+lnrpc: make graph node addresses consistent
2021-04-13 14:30:07 -07:00
Conner Fromknecht
f8d201a605 channeldb/invoice: only allow pay-addr lookup w/ no query hash
Without this check, it's possible to send a probe HTLC w/ a valid
payment address but invalid payment hash that gets settled. Because
there was no assertion that the HTLC's payment hash matches the
invoice, the link would fail when it receives an invalid preimage for
the HTLC on its commitment.
2021-04-13 12:18:42 -07:00
Conner Fromknecht
791a82878d Merge pull request #5208 from carlaKC/makefile-acc
makefile: bump goacc commit
2021-04-13 11:57:14 -07:00
carla
a80a6f0453 Makefile: bump goacc commit 2021-04-13 15:39:03 +02:00
Bjarne Magnussen
6ab625d69b chanfunding: factor out sanity check for change that is dust 2021-04-13 11:37:20 +02:00
Bjarne Magnussen
59c40ec8b4 chanfunding: fee estimation based on change output in CoinSelect
Add a dust-limit to `CoinSelect` and let the fee estimation consider if a change output is needed or not, assuring that if the change is below the dust-limit it will go towards the fee instead.
2021-04-13 11:37:12 +02:00
yyforyongyu
37aa49c7aa routing: fix pathfind edge features being nil 2021-04-13 15:53:18 +08:00
Bjarne Magnussen
235e73205d chanfunding: refactor fee estimate calculation 2021-04-12 14:39:38 +02:00
Martin Habovštiak
16027b0151 Better document the nature of accept-keysend
This explains the purpose of `accept-keysend` and its planned deprecation in detail.

Fixes #5190
2021-04-10 10:41:18 +02:00
Conner Fromknecht
213b264e4c Merge pull request #5187 from bottlepay/config-commit-time
config: add commit time parameter
2021-04-09 16:44:40 -07:00
Wilmer Paulino
2f1f616c65 lntest: use validatechannels config option for itests 2021-04-09 15:47:04 -07:00
Pierre Rochard
99cba51849 rpcserver+lnrpc: make graph node addresses consistent
This commit adds a []*lnrpc.NodeAddress typed node_addresses field
on the NodeUpdate message of SubscribeChannelGraph to mirror the
addresses field in the LightningNode message of DescribeGraph.

Fixes https://github.com/lightningnetwork/lnd/issues/4084
2021-04-09 11:29:22 -05:00