Commit Graph

5403 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
5747e8971c
build: update to point to latest version of neutrino
In this commit, we update the build to point to the latest version of
neutrino which includes a bug fix for a regression that would cause the
daemon to spin when at chain tip attempting to always fetch the next set
of headers though it was already fully up to date.
2018-09-13 16:27:35 -07:00
Olaoluwa Osuntokun
b71cb0dbd8
README: add security section in readme 2018-09-13 16:25:18 -07:00
Olaoluwa Osuntokun
f7436f43b2
lnwire: check length of payload in decodeShortChanIDs 2018-09-13 15:57:08 -07:00
Olaoluwa Osuntokun
c5979c7d80
discovery: fix logging for gossip syncer rate limiting 2018-09-13 15:55:44 -07:00
Wilmer Paulino
9c92d60149 lnrpc: update ListInvoices RPC with new pagination support 2018-09-13 15:54:35 -07:00
Wilmer Paulino
fe17adc519 cmd/lncli: update listinvoices docs with new pagination support 2018-09-13 15:54:12 -07:00
Conner Fromknecht
3974dbeda0
make: clean lnd-debug, lncli-debug and .vendor-new 2018-09-13 14:17:33 -07:00
Olaoluwa Osuntokun
9e99f13f8d
Merge pull request #1898 from Roasbeef/fix-migration
channeldb: don't use KeyN in latest migration
2018-09-13 14:12:52 -07:00
Olaoluwa Osuntokun
8909c13d1e
Merge pull request #1863 from wpaulino/query-invoices-default
channeldb+cmd/lncli: enable backwards pagination of listinvoices
2018-09-13 14:11:54 -07:00
Olaoluwa Osuntokun
1c4bd04c55
Merge pull request #1896 from Roasbeef/btcwallet-unconf-txn
lnwallet+rpc: allow unconfirmed transactions to be returned over RPC, fix SubscribeTransaction unconf for neutrino
2018-09-12 22:12:38 -07:00
Wilmer Paulino
08bddece8b
cmd/lncli: add description and reversed flag to listinvoices 2018-09-12 22:12:00 -07:00
Wilmer Paulino
012d4f5c8c
rpcserver: include new proto fields in ListInvoices rpc 2018-09-12 22:11:59 -07:00
Wilmer Paulino
8e151ffd3f
lnrpc: add fields to paginate invoices backwards 2018-09-12 22:11:58 -07:00
Wilmer Paulino
7e6eb44cf8
channeldb/invoice_test: refactor TestQueryInvoices and add reverse test cases 2018-09-12 22:11:57 -07:00
Wilmer Paulino
0fe35e0014
channeldb/invoices: extend invoice queries to allow backwards pagination 2018-09-12 22:11:56 -07:00
Olaoluwa Osuntokun
e6925cc5be
config: fix linter error 2018-09-12 22:10:14 -07:00
Olaoluwa Osuntokun
034198ffb7
channeldb: don't use KeyN in latest migration
In this commit, we fix a bug in the latest migration that could cause
the migration to end in a panic. Additionally, we modify the migration
to exit early if the bucket wasn't found, as in this case, no migration
is required.

Fixes #1874.
2018-09-12 22:06:11 -07:00
Olaoluwa Osuntokun
e23f889639
config: return an error if unable to parse values in the config file 2018-09-12 21:35:32 -07:00
Olaoluwa Osuntokun
c5ece1e509
Merge pull request #1843 from cfromknecht/change-noencryptwallet
Start deprecating noencryptwallet
2018-09-12 21:07:23 -07:00
Wilmer Paulino
2fa64dd6ff multi: update to new BitcoindClient API 2018-09-12 21:05:19 -07:00
Olaoluwa Osuntokun
64681214f4
lnwallet: add test to execrise unconfirmed transcations notified by SubscribeTransactions
In this commit, we add a new test to ensure that all backends will
properly send out notifications when an unconfirmed transcation that we
send is inserted into the tx store. Before we updated the btcwallet
build commit in dep, this would fail for neutrino but now passes.
2018-09-12 21:01:59 -07:00
Olaoluwa Osuntokun
27abad92f6
lnwallet: update for new API change in NewBitcoindClient 2018-09-12 21:01:47 -07:00
Olaoluwa Osuntokun
2509ecd8d8
lnwallet: fix ListTransactionDetails to ensure unconfirmed transactions are installed
In this commit, we fix a bug in the arguments to GetTransactions for the
btcwallet implementation of the WalletController interface. Before this
commit, we wouldn't properly return unconfirmed transactions. The issue
was that we didn't specify the special mempool height of "-1", as the
ending height. The mempool height is actually internally converted to
the highest possible height that can fit into a int32.

In this commit, we set the start to zero, and end to -1 (actually
2^32-1) to properly scan for unconfirmed transactions.

Fixes #1422.
2018-09-12 21:01:40 -07:00
Olaoluwa Osuntokun
24f9504e27
lnwallet: add test to ensure that all backends show unconf txns in ListTransactionDetails
In this commit, we add a new test to the set of lnwallet integration
tests. In this new test, we aim to ensure that all backends are able to
display unconfirmed transactions in ListChainTransactions. As of this
commit, this test fails as no backends will return unconfirmed
transactions properly.
2018-09-12 20:51:32 -07:00
Olaoluwa Osuntokun
20460432d5
build: update dep to latest version of btcwallet 2018-09-12 20:49:28 -07:00
Olaoluwa Osuntokun
4dd4f7cf45
Merge pull request #1516 from wpaulino/auto-tor-v3
tor+server: add automatic support for v3 onion services
2018-09-11 21:02:05 -07:00
Olaoluwa Osuntokun
8c09e77e8d
Merge pull request #1878 from davidknezic/release-armv6
release: Add ARMv6 platform to release.sh
2018-09-11 20:31:43 -07:00
Olaoluwa Osuntokun
62c6789de2
Merge pull request #1880 from cfromknecht/rate-limit-gossip-queries
discovery: Traffic shaping of gossip query replies
2018-09-11 19:46:08 -07:00
Olaoluwa Osuntokun
55e9ef0157
Merge pull request #1887 from cfromknecht/parallel-chain-watcher-start
contractcourt/chain_arbitrator: parallel chain watcher start
2018-09-11 19:38:40 -07:00
Wilmer Paulino
18528e9f3f
docs: update v3 tor docs 2018-09-11 19:37:13 -07:00
Wilmer Paulino
95560238ce
server: update to lastest tor controller api 2018-09-11 19:37:12 -07:00
Wilmer Paulino
8599b30c78
config: modify private key path to be onion type agnostic 2018-09-11 19:37:11 -07:00
Wilmer Paulino
9ae0ac53a2
tor/controller: add tor version number check
In this commit, we add a check for the Tor server's version number to
ensure it supports creating v3 onion services through its control port.
2018-09-11 19:37:10 -07:00
Wilmer Paulino
e38174c7ce
tor/controller: add support for v3 onion services
In this commit, we extend our Tor controller to also support creating v3
onion services, as they are now supported by the Tor daemon. We also
refactor our existing AddOnion method to take in a config struct that
houses all of the required options to create/restore an onion service.
2018-09-11 19:37:09 -07:00
Olaoluwa Osuntokun
ea5a18f4e5
Merge pull request #1886 from Roasbeef/lax-migration-assumptions
channeldb: relax bucket assumptions for latest db migration
2018-09-11 19:18:03 -07:00
Olaoluwa Osuntokun
2c48ec8dde
Merge pull request #1877 from halseth/garbage-collect-link-nodes
[integration tests] Fix flake in persistent connection pruning test
2018-09-11 19:17:21 -07:00
Conner Fromknecht
0c74575c44
contractcourt/chain_arbitrator: parallel chain watcher start
This commit restructures the initialization procedure
for chain watchers such that they can proceed in parallel.
This is primarily to help nodes running with the neutrino
backend, which otherwise forces a serial rescan for each
active channel to check for spentness.

Doing so allows the rescans to take advantage of batch
scheduling in registering for the spend notifications,
ensuring that only one or two passes are made, as opposed
to one for each channel.

Lastly, this commit ensures that the chain arb is properly
shutdown if any of it's chain watchers or channel arbs
fails to start, so as to cancel their goroutines before
exiting.
2018-09-11 16:10:29 -07:00
Olaoluwa Osuntokun
09924f3f2c
channeldb: relax bucket assumptions for latest db migration
In this commit, we no longer assume that the bucket hierarchy has been
created properly when applying the latest DB migration. On older nodes
that never obtained a channel graph, or updated _before_ the query sync
stuff was added, then they're missing buckets that the migration expects
them to have.

We fix this by simply creating the buckets as we go, if needed.
2018-09-11 16:09:25 -07:00
Olaoluwa Osuntokun
d050cedd02
Merge pull request #1872 from Roasbeef/create-proper-buckets
channeldb: fix bucket creation hierarchy in createChannelDB
2018-09-11 16:04:40 -07:00
Paul Litvak
e43b83fa74 cmd/lncli: Fixed conflicting payinvoice amount output 2018-09-12 01:27:54 +03:00
Joost Jager
a7fec827cc
routing: validate channel update in failure message 2018-09-11 20:12:09 +02:00
Joost Jager
b5fd32ff77
discovery+routing: move validation logic to routing package
Previously, gossiper was the only object that validated channel
updates. Because updates can also be received as part of a
failed payment session in the routing package, validation logic
needs to be available there too. Gossiper already depends on
routing and having routing call the validation logic inside
gossiper would be a circular dependency. Therefore the validation
was moved to routing.
2018-09-11 20:12:07 +02:00
Joost Jager
ac8a3af84c
routing: add channel update validation test 2018-09-11 20:10:15 +02:00
Joost Jager
47d2e1e024
routing: add option to specify explicit id for test channels 2018-09-11 20:10:15 +02:00
Joost Jager
c5c580ab54
routing: add private key map to test graph instance 2018-09-11 20:10:14 +02:00
Joost Jager
5daf75b264
routing: restructure test context creation 2018-09-11 20:10:14 +02:00
Joost Jager
2d255e3bc3
routing: use fixed time value in tests 2018-09-11 20:10:14 +02:00
Johan T. Halseth
598904fbb9
lnd_test: restart nodes twice to trigger pruning logic 2018-09-11 10:25:48 +02:00
Johan T. Halseth
a926665358
lnd_test: make sure we stay disconnected using WaitInvariant in testGarbageCollectLinkNodes 2018-09-11 10:25:48 +02:00
Conner Fromknecht
3f3e2bf4e8
dep: add golang.org/x/time for rate limiter 2018-09-11 00:12:36 -07:00