Commit Graph

4565 Commits

Author SHA1 Message Date
8cff5eae6c breacharbiter: make the second level check use confirmed spends 2018-07-22 23:09:08 +02:00
a16bb662a4 contractcourt/chain_arbitrator: make watchForChannelClose use confirmed spend 2018-07-22 23:09:07 +02:00
5bfa2f5912 contractcourt/contract_resolvers: make commitSweepResolver use confirmed spend 2018-07-22 23:09:07 +02:00
9fffe23696 contractcourt/contract_resolvers: make htlcOutgoingContestResolver act on conf 2018-07-22 23:07:53 +02:00
b3e17aa67b contractcourt/contract_resolvers: make second level htlcSuccessResolver wait for conf 2018-07-22 11:20:23 +02:00
bf06dc24c1 contractcourt/contract_resolvers: make waitForOutputResolution use confirmed spend 2018-07-22 11:20:23 +02:00
fdf3b407c9 lnd_test: correct node names in comments, format file 2018-07-22 11:20:23 +02:00
ea2b706174 lntest/node: make sure finalizing file is over before stop 2018-07-22 11:20:23 +02:00
bca926d6af Merge pull request #1371 from wpaulino/prune-link-nodes
server: prune link nodes without any open channels
2018-07-21 18:55:38 -07:00
925879f0fc Merge pull request #1581 from Roasbeef/async-rescan-btcd
chainntnfs/btcdnotify: switch to async rescan call for historical spe…
2018-07-21 18:35:12 -07:00
b9947c1c7c Merge pull request #1578 from Roasbeef/invoice-ntfn-buffer
invoiceregistry: make the invoice ntfn chan buffered
2018-07-20 18:12:00 -07:00
271db7d06d Merge pull request #1505 from wpaulino/fundingmanager-send-peer-directly
fundingmanager: send messages directly to peers
2018-07-20 17:48:14 -07:00
d54d41eed7 fundingmanager: update tests to latest changes 2018-07-19 12:34:13 -07:00
38e01b259f fundingmanager+lnd: remove no longer needed FindPeer and SendToPeer
callbacks

The FindPeer and SendToPeer callbacks are no longer needed within the
fundingManager due to the previous commit allowing us to send messages
to peers directly.
2018-07-19 12:34:12 -07:00
9cedef9245 fundingmanager: send messages to peers directly
In this commit, we modify the existing message sending functionality
within the fundingmanager. Due to each mesage send requiring to hold the
server's lock to retrieve the peer, we might run into a case where the
lock is held for a larger than usual amount of time and would therefore
block on sending the message within the fundingmanager. We remedy this
by taking a similar approach to some recent changes within the gossiper.
We now keep track of each peer within the internal fundingmanager
messages and send messages directly to them.
2018-07-19 12:34:11 -07:00
e669e90017 fundingmanager: retrieve peer before resuming funding flow 2018-07-19 12:34:10 -07:00
6d4da72156 discovery/gossiper: update to latest NotifyWhenOnline changes 2018-07-19 12:34:08 -07:00
04c5eba194 server: modify NotifyWhenOnline to return the peer once connected 2018-07-19 12:32:32 -07:00
6504a9cfa8 fundingmanager+peer: modify fundingErrorMsg to use peer key 2018-07-19 12:32:31 -07:00
6b1982f50f fundingmanager+lnd: modify WatchNewChannel callback to take in peer key 2018-07-19 12:32:30 -07:00
3ab17063ff multi: satisfy new lnpeer interface 2018-07-19 12:32:29 -07:00
77d2853d76 lnpeer: extend interface Address and AddNewChannel methods 2018-07-19 12:32:28 -07:00
8c92df0f47 fundingmanager: return ErrFundingManagerShuttingDown on shutdown 2018-07-19 12:32:13 -07:00
274687471a chainntnfs/btcdnotify: switch to async rescan call for historical spend ntfns
In this commit, we modify the way to handle historical spend dispatches
to ensure that we don't block the client for very old rescans. Rather
than blocking and waiting for the rescan to finish (which may take
minutes in the worst case), we'll now instead launch a goroutine to
handle the async response of the rescan.
2018-07-18 01:31:49 -07:00
10b0df61a7 Merge pull request #1577 from Roasbeef/invoice-duplicate-settle
channeldb: ensure that we return an invoice on duplicate settles
2018-07-17 17:44:26 -07:00
b70319e0d6 test: ensure harness nodes are connected before running each test
Due to some of the previous commits, we no longer have persistent
connections to peers whom we have no open channels with. It might be the
case that this is triggered throughout any of the tests, so we'll ensure
that the Alice and Bob harnesses are connected before running each test.
2018-07-17 17:35:34 -07:00
e3162605be test: add test to garbage collect link nodes 2018-07-17 17:35:33 -07:00
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
38b52df51f peer+server: remove persistent connections for peers with no open channels remaining 2018-07-17 17:35:30 -07:00
0e4d350e56 channeldb: prune nodes with no open channels left from the graph 2018-07-17 17:35:29 -07:00
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
4578eec8a1 channeldb: garbage collect link nodes with no open channels remaining 2018-07-17 17:35:27 -07:00
959618d596 channeldb: refactor methods to allow using existing db transaction 2018-07-17 17:35:26 -07:00
044e81bbd4 channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
c965e0f4a9 invoiceregistry: make the invoice ntfn chan buffered
In this commit, we update the main invoiceEvents channel within the
invoiceregistry to now have an initial buffer size of 100. We do this as
it's been reported by users that on start up they're unable to actually
create or settle invoices manually. Traces have shown that this is due
to contention while holding the invoice mutex. To attempt to solve this,
we add an additional buffer to the channel as most sends will now be
routinely non blocking.
2018-07-17 16:53:28 -07:00
daf4a25fd9 discovery: fix missing formatting argument
Fixes #1576.
2018-07-17 16:43:06 -07:00
5ee368f0f9 channeldb: ensure that we return an invoice on duplicate settles
In this commit, we fix an existing bug related to duplicate invoice
settle.s Before this commit, the second (and later) times an invoice was
settled we would return a nil pointer. This would result in the new
invoiceRegistry panicing as it would go to attempt to notify with a nil
invoice.

We fix this by returning the invoice on disk (unmodified) for each
settle after the initial one.

Fixes #1568.
2018-07-17 16:28:08 -07:00
509998db86 channeldb: add new test for duplicate invoice settles
In this commit, we add a new test to ensure that duplicate invoice
settles work as expected. At the present time, this test will fail as
the second to last assertion fails as we'll return a nil invoice the
second time around.
2018-07-17 16:27:04 -07:00
6dff599d21 Merge pull request #1554 from halseth/bitcoind-mempool-spends
Filter out bitcoind mempool spends
2018-07-16 13:24:35 -07:00
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
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
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
71dfb1cdb1 build: update glide to point to latest neutrino+btcwallet 2018-07-13 17:15:13 -07:00
505544e1b3 routing/chainview: update API usage for neutrino due to recent changes 2018-07-13 17:15:12 -07:00
80ff2c8d9f lnwallet+chainntnfs: update neutrino API usage due to recent changes 2018-07-13 17:15:12 -07:00
9ad9af4f7a build: update glide files to point to btcsuite/* not roasbeef/* 2018-07-13 17:15:12 -07:00
a34a4661e8 docs: update installation instructions to point to btcsuite/btcd not roasbeef/btcd 2018-07-13 17:08:46 -07:00
054d449316 docker/btcd: fix comment in docker file w.r.t old roasbeef fork 2018-07-13 17:08:46 -07:00
584834aa95 makefile: update to fetch btcsuite/btcd instead of roasbeef/btcd 2018-07-13 17:08:45 -07:00
6f60f139f4 multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00