Commit Graph

4535 Commits

Author SHA1 Message Date
Wilmer Paulino
0aa1f39af8
channeldb+server: prune link nodes on startup
In this commit, we extend the server's functionality to prune link nodes
on startup. Since we currently only decide whether to prune a link node
from the database based on a channel close, it's possible that we have
link nodes lingering from before this functionality was added on.
2018-07-17 17:35:31 -07:00
Wilmer Paulino
38b52df51f
peer+server: remove persistent connections for peers with no open channels remaining 2018-07-17 17:35:30 -07:00
Wilmer Paulino
0e4d350e56
channeldb: prune nodes with no open channels left from the graph 2018-07-17 17:35:29 -07:00
Wilmer Paulino
d26050f711
contractcourt: use MarkChannelResolved for coop channel closures
In this commit, we alter cooperative channel closures to also use
MarkChannelResolved in order to unify the logic for the different types
of channel closures.
2018-07-17 17:35:28 -07:00
Wilmer Paulino
4578eec8a1
channeldb: garbage collect link nodes with no open channels remaining 2018-07-17 17:35:27 -07:00
Wilmer Paulino
959618d596
channeldb: refactor methods to allow using existing db transaction 2018-07-17 17:35:26 -07:00
Wilmer Paulino
044e81bbd4
channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
Olaoluwa Osuntokun
daf4a25fd9
discovery: fix missing formatting argument
Fixes #1576.
2018-07-17 16:43:06 -07:00
Olaoluwa Osuntokun
6dff599d21
Merge pull request #1554 from halseth/bitcoind-mempool-spends
Filter out bitcoind mempool spends
2018-07-16 13:24:35 -07:00
Johan T. Halseth
07618ca0c6
chainntnfs/interface_test: increase wait time for mempool spends
This commit increases the time we wait for a spend client to notify a
mempool spend from 50ms to 10s. This is done to catch the case where
bitcoind would use up to 7 seconds before notifying about a mempool
spend, which wasn't caught by the test.
2018-07-16 15:08:59 +02:00
Johan T. Halseth
4e47e4e7f1
chainntnfs/bitcoindnotify: filter out mempool spends from relevant txs
This commit fix a bug within the bitcoind notifier logic, which would
ignore the passed mempool argument, and notify spentness whether the
spending transaction was confirmed or not. The logic used to fix this is
similar to what is already done for the btcd backend.
2018-07-16 12:27:05 +02:00
Olaoluwa Osuntokun
b0288d4677
Merge pull request #1326 from Roasbeef/btcsuite-switch
multi: switch over all imports to depend on btcsuite proper, no longer the roasbeef forks
2018-07-13 18:49:17 -07:00
Olaoluwa Osuntokun
71dfb1cdb1
build: update glide to point to latest neutrino+btcwallet 2018-07-13 17:15:13 -07:00
Olaoluwa Osuntokun
505544e1b3
routing/chainview: update API usage for neutrino due to recent changes 2018-07-13 17:15:12 -07:00
Olaoluwa Osuntokun
80ff2c8d9f
lnwallet+chainntnfs: update neutrino API usage due to recent changes 2018-07-13 17:15:12 -07:00
Olaoluwa Osuntokun
9ad9af4f7a
build: update glide files to point to btcsuite/* not roasbeef/* 2018-07-13 17:15:12 -07:00
Olaoluwa Osuntokun
a34a4661e8
docs: update installation instructions to point to btcsuite/btcd not roasbeef/btcd 2018-07-13 17:08:46 -07:00
Olaoluwa Osuntokun
054d449316
docker/btcd: fix comment in docker file w.r.t old roasbeef fork 2018-07-13 17:08:46 -07:00
Olaoluwa Osuntokun
584834aa95
makefile: update to fetch btcsuite/btcd instead of roasbeef/btcd 2018-07-13 17:08:45 -07:00
Olaoluwa Osuntokun
6f60f139f4 multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
Olaoluwa Osuntokun
bc5bfeb479
lnwire: fix logging for FeeInsufficient, show amt not fee
Fixes #1548.
2018-07-12 16:10:16 -07:00
Olaoluwa Osuntokun
d8fb6017cc
Merge pull request #1547 from Roasbeef/outgoing-payment-migration-invoice-series
channeldb: add new migration to finalize invoice migration for outgoi…
2018-07-12 13:20:25 -07:00
Olaoluwa Osuntokun
19d84dd1cc
channeldb: add new migration to finalize invoice migration for outgoing payments
In this commit, we migrate the database away from a partially migrated
state. In a prior commit, we migrated the database in order to update
the Invoice struct with three new fields: add index, settle index, paid
amt.  However, it was overlooked that the OutgoingPayment struct also
embedded an Invoice within it. As a result, nodes that upgraded to the
first migration found themselves unable to start up, or call
listpayments, as the internal invoice within the OutgoignPayment hadn't
yet been updated.  This would result in an OOM typically as we went to
allocate a slice with a integer that should have been small, but may
have ended up actually being a set of random bytes, so a very large
number.

In this commit, we finish the DB migration by also migrating the
internal invoice within each OutgoingPayment.

Fixes #1538.
Fixes #1546.
2018-07-12 00:22:28 -07:00
Olaoluwa Osuntokun
515ba7a4d0
channeldb: fix formatting for invoice migration log 2018-07-11 17:05:56 -07:00
Olaoluwa Osuntokun
93207608b5
Merge pull request #1125 from Roasbeef/streaming-invoice-improvements
channeldb+lnrpc: re-work invoicing API to implement robust streaming notification delivery
2018-07-10 20:42:00 -07:00
Olaoluwa Osuntokun
1189e703da
invoiceregistry: enforce stricter check on duplicate ntfn avoidance 2018-07-10 19:37:24 -07:00
Olaoluwa Osuntokun
90d4a723d3
Merge pull request #1536 from cfromknecht/install-doc-formatting
docs/INSTALL: fix mismatched code blocks
2018-07-10 19:06:25 -07:00
Conner Fromknecht
a3acd9c23f
docs/INSTALL: fix mismatched code blocks 2018-07-10 19:03:06 -07:00
Rui Gomes
ae84b99cb5 cmd/lncli: add missing space to the payinvoice cmd help 2018-07-10 17:21:46 -07:00
Olaoluwa Osuntokun
16df90fc23
Merge pull request #1504 from cfromknecht/chainview-filter-locking
[routing/chainview] improve filter locking granularity in btcd/bitcoind
2018-07-10 17:19:36 -07:00
maurycy
3915c6a569 routing: do not reacquire the lock for topology notifications 2018-07-10 17:09:52 -07:00
jonny1000
273f030390 test: fix type in comment 2018-07-10 17:06:55 -07:00
maurycy
ee65605495 chainregistry: fix ActiveChains comment 2018-07-10 16:57:09 -07:00
Dan Bolser
d0d77f9718 README: add known good FreeBSD (9.11) instructions 2018-07-10 16:53:34 -07:00
Olaoluwa Osuntokun
a43d02f8f0
cmd/lncli: clarify help for push_amt in openchannel
Fixes #1522.

Fixes #1259.
2018-07-09 12:40:47 -07:00
Olaoluwa Osuntokun
e13f96e64b
routing: ensure we create a pruneViewSnapshot for route sessions
In this commit, we fix an existing bug that could at times lead to a
panic if a user manually crafts a route via SendToRoute, and that route
results in a payment error. The fix is simple: create the map even
though it won't be used in the sessions since the user is feeding the
router manual routes.
2018-07-08 16:34:25 -07:00
Olaoluwa Osuntokun
03650bbb18
Merge pull request #1470 from cfromknecht/multi-hop-itest-flake
lnd_test: remove itest race caused by mining extra block
2018-07-06 21:39:04 -05:00
Conner Fromknecht
daa28e0d0f
routing/chainview/bitcoind: improve filterMtx locking
In this commit, we modify the granularity of the locking
around the filterMtx in the bitcoind chainview, such that
we only lock once per block connected or filter update.
Currently, we acquire and release the lock for every
update to the map.

We also fix a bug that would cause us to not fully remove
all previous outpoints spent by a txn when doing manual
filter, as we previously would only remove the first output
detected.
2018-07-06 19:08:17 -07:00
Conner Fromknecht
0f6bc3538d
routing/chainview/btcd: improve filterMtx locking
In this commit, we modify the granularity of the locking
around the filterMtx in the btcd chainview, such that we
only lock once per block connected or filter update.
Currently, we acquire and release the lock for every
update to the map.

We also fix a bug that would cause us to not fully remove
all previous outpoints spent by a txn when doing manual
filter, as we previously would only remove the first output
detected.
2018-07-06 19:08:17 -07:00
Phil Opaola
6aaf692049 cmd: fix small typo in mnemonicCheck 2018-07-06 20:34:19 -05:00
Olaoluwa Osuntokun
11e7f47f01
Merge pull request #1508 from wpaulino/dust-limit-active-chain
fundingmanager: determine our dust limit based on active chain
2018-07-06 19:01:41 -05:00
Olaoluwa Osuntokun
cef29e74d7
Merge pull request #1509 from wpaulino/lnddir-lnd-conf
config: use config file within lnddir unless overwritten
2018-07-06 18:59:56 -05:00
Olaoluwa Osuntokun
db4a09d3b5
channeldb: skip sub-buckets during invoice time series migration
In this commit, we fix an existing bu gin the invoice time series
migration code. Before this commit, the migration would fail as we would
try to migrate an empty invoice. We now detect this case and skip all
empty invoices.

We also add a bit more logging on both the info and trace logging level.
2018-07-06 16:45:02 -07:00
Olaoluwa Osuntokun
4813da9a64
cmd/lncli: update ad-hoc addinvoice response json to display add_index 2018-07-06 16:45:01 -07:00
Olaoluwa Osuntokun
43d1d1f4f2
test: extend testInvoiceSubscriptions to test historical notification dispatch 2018-07-06 16:45:01 -07:00
Olaoluwa Osuntokun
6891729b5c
invoiceregistry: ensure we re-bind the loop variable within deliverBacklogEvents 2018-07-06 16:44:59 -07:00
Wilmer Paulino
833d037f66
config: use config file within lnddir unless overwritten 2018-07-06 12:44:36 -07:00
Wilmer Paulino
a7e0d3f57b
fundingmanager: determine our dust limit based on active chain
In this commit, we fix an issue where we would always assume the dust
limit was Bitcoin's dust limit, rather than the active chain. This would
lead to issues when attempting to open channels on the Litecon chain.
2018-07-06 12:28:09 -07:00
Olaoluwa Osuntokun
9c1ed7fc7d
invoiceregistry: update AddInvoice to return addIndex of new invoice 2018-07-06 12:22:03 -07:00
Olaoluwa Osuntokun
904342b9e8
rpc: populate response of AddInvoice w/ add index of new invoice 2018-07-06 12:22:02 -07:00