Commit Graph

5623 Commits

Author SHA1 Message Date
Johan T. Halseth
9e81b1fe53 chain_watcher: poll for commit point in case of failure
We pool the database for the channel commit point with an exponential
backoff. This is meant to handle the case where we are in process of
handling a channel sync, and the case where we detect a channel close
and must wait for the peer to come online to start channel sync before
we can proceed.
2018-11-21 10:28:57 +01:00
Johan T. Halseth
0dd7eed64e peer: define resendChanSyncMsg
This method is used to fetch channel sync messages for closed channels
from the db, and respond to the peer.
2018-11-21 10:28:56 +01:00
Johan T. Halseth
da3f515f12 channeldb/db_test: add TestFetchClosedChannelForID 2018-11-21 10:28:56 +01:00
Johan T. Halseth
45b132a954 channeldb/db: define FetchClosedChannelForID
FetchClosedChannelForID is used to find the channel close summary given
only a channel ID.
2018-11-21 10:28:56 +01:00
Johan T. Halseth
a9f93b2988 contractcourt/chain_watcher: add channel sync message to CloseChannelSummary 2018-11-21 10:28:56 +01:00
Johan T. Halseth
676a1b1407 lnwallet+link: make ChanSyncMsg take channel state as arg
This lets us get the channel reestablish message without creating the LightningChannel struct first.
2018-11-21 10:28:56 +01:00
Johan T. Halseth
0b9a323fcb channeldb/channel: add LastChanSync field to CloseChannelSummary
This commit adds an optional field LastChanSyncMsg to the
CloseChannelSummary, which will be used to save the ChannelReestablish
message for the channel at the point of channel close.
2018-11-21 10:28:43 +01:00
Johan T. Halseth
46c961aa17 channeldb/migrations: migrate ChannelCloseSummary 2018-11-21 10:27:58 +01:00
Johan T. Halseth
28b15dcbbb channeldb/channel: write boolean to indicate presence of ChannelCloseSummary fields 2018-11-21 10:27:58 +01:00
Johan T. Halseth
149a8ce94f channeldb/legacy_serialization: add deserializeCloseChannelSummaryV6
This commit adds a new file legacy_serialization.go, where a copy of the
current deserializeCloseChannelSummary is made, called
deserializeCloseChannelSummaryV6.

The rationale is to keep old deserialization code around to be used
during migration, as it is hard maintaining compatibility with the old
format while changing the code in use.
2018-11-21 10:12:05 +01:00
Johan T. Halseth
780e1bbead peer: correct variable name, print error 2018-11-21 10:12:04 +01:00
Johan T. Halseth
13098a595a lnd test: refactor testDataLossProtection
This extracts part of the test into a new helper method timeTravel,
which can be used to easily reset a node back to a state where channel
state is lost.
2018-11-21 10:12:04 +01:00
Johan T. Halseth
0ca7c8c5f8 lnd_test: define helper getChanInfo 2018-11-21 10:12:04 +01:00
Johan T. Halseth
eb2f832bba lnd_test: define createPayReqs helper method 2018-11-21 10:12:04 +01:00
Johan T. Halseth
e1d8b07735 lnd_test: remove unused math/rand rependency 2018-11-21 10:07:56 +01:00
Olaoluwa Osuntokun
d3b44542d3 Merge pull request #2200 from wpaulino/birthday-block-infinite-loop
build: update btcwallet dep to fix birthday block sanity check infinite loop
v0.5.1-beta-rc3
2018-11-20 16:59:14 -08:00
Wilmer Paulino
62071d9082 build: update btcwallet dep to fix birthday block sanity check infinite loop
In this commit, we update our btcwallet dependency that includes a fix
to address an issue that would cause users to be stuck in an infinite
loop by fetching the same candidate birthday block due to its height not
being updated if the sanity check was attempting to fix an estimate in
the future.
2018-11-20 15:42:06 -08:00
Johan T. Halseth
d6d833c242 Merge pull request #2185 from babonet13/patch-1
Add EXPOSE directive for 9735 (p2p) & 10009 (rpc)
2018-11-19 08:48:20 +01:00
Johan T. Halseth
a6b3ef3f08 Merge pull request #2178 from grunch/removes-duplicated-default-msg
removes duplicated default message on queryroutes command
2018-11-19 08:44:47 +01:00
Olaoluwa Osuntokun
4da1c867c3 build: bump version to 0.5.1 v0.5.1-beta-rc2 2018-11-15 19:47:13 -08:00
Olaoluwa Osuntokun
99dd6f75f8 Merge pull request #2190 from Roasbeef/rescan-btcwallet-fix
build: update to latest version of btcwallet
2018-11-15 19:42:12 -08:00
Olaoluwa Osuntokun
6e06a617b2 build: update to latest version of btcwallet
In this commit, we update to the latest version of btcwallet. This
version includes a bug fix which ensures that the wallet birthday sanity
check only executes once and not each time the deamon is restarted.
2018-11-15 19:08:44 -08:00
Olaoluwa Osuntokun
3f57f65bf0 Merge pull request #2181 from wpaulino/btcwallet-notify-received
build+lnwallet: notify wallet upon relevant transaction confirmation
v0.5.1-beta-rc1
2018-11-14 21:39:00 -08:00
Wilmer Paulino
9ca9802d9c lnwallet/btcwallet: check wallet rescan is complete within IsSynced
In this commit, we add an additional check to btcwallet's IsSynced
method to ensure that it is not currently undergoing a rescan. We do
this to block upon starting the server and all other dependent
subsystems until the rescan is complete.
2018-11-14 20:17:36 -08:00
Wilmer Paulino
b1860a95e0 lnwallet/btcwallet: add lightning addr scope before wallet start
In this commit, we add the lightning address scope before the wallet
starts to prevent a race condition between the wallet syncing and adding
the scope itself. This became more apparent with the recent btcwallet
fixes, as several database transactions now occur between the wallet
being started and it syncing.
2018-11-14 20:17:36 -08:00
Wilmer Paulino
f9b15e97f3 build: update btcwallet dependency to address SendOutputs bug
In this commit, we update our btcwallet dependency to include the latest
changes that aim to address the recently discovered SendOutputs bug.

This commit will also allow the lnwallet test case added in the
previous commit to succeed.
2018-11-14 20:17:36 -08:00
Wilmer Paulino
5b42a38c0f lnwallet/interface_test: add test to detect confirmation of change output spend tx
In this commit, we add a new test to the existing set of wallet tests to
ensure we can properly detect the confirmation of transactions that
spend our change outputs. We do this as a measure to prevent future
regressions from happening where the wallet doesn't request its backend
to be notified of when an on-chain transaction pays to a change address,
like with the recently discovered SendOutputs bug.

As is, this test will not pass until we update the btcwallet dependency
in the next commit.
2018-11-14 20:17:36 -08:00
Wilmer Paulino
255f38e72d lnwallet/btcwallet: check output is under our control in FetchInputInfo
In this commit, we add an additional check to btcwallet's FetchInputInfo
method to ensure the output is actually under control of the wallet.
Previously, the wallet would assume the output was under its control if
the txid of the output was found within the wallet. This is not a safe
assumption to make however, because if we happened to be the sender of
this transaction, it would be found within the wallet but it's not
actually under our control. To fix this, we explicitly check that there
exists an address in our wallet for this output.
2018-11-14 20:17:36 -08:00
babonet13
4f10771e48 Add EXPOSE directive for 9735 (p2p) & 10009 (rpc)
See EXPOSE additional directive line 32
2018-11-14 14:12:20 +01:00
Olaoluwa Osuntokun
fd5b24fb4e Merge pull request #2149 from wpaulino/chan-full-proof-node-ann
discovery/gossiper: send node anns when constructing full chan proof
2018-11-13 21:13:57 -08:00
Olaoluwa Osuntokun
2f0bc5c370 Merge pull request #2124 from cfromknecht/wtlookout
[watchtower/lookout]: on-chain breach monitoring
2018-11-13 19:53:07 -08:00
Olaoluwa Osuntokun
adb8bdc359 Merge pull request #2153 from halseth/integration-tests-waitforpendingclose
lnd_test: add waitForChannelPendingForceClose
2018-11-13 16:11:05 -08:00
Johan T. Halseth
776059bdab Merge pull request #2155 from joostjager/return-tx
lnwallet: update to new SendOutputs signature
2018-11-13 16:39:54 +01:00
Johan T. Halseth
721e9a2a90 Merge pull request #2173 from chokoboko/peer-handshake-timeout-err-msg
peer: Fix handshake timeout error message
2018-11-13 08:18:28 +01:00
Francisco Calderón
b61f6fe886 removes duplicated default message on queryroutes command 2018-11-12 12:03:00 -03:00
chokoboko
ec1a77dccb Fix peer handshake timeout error message
Use proper format verb for handshakeTimeout
2018-11-12 12:45:31 +02:00
Johan T. Halseth
881ed08709 Merge pull request #2150 from wpaulino/abandon-channel-rest
lnrpc: modify AbandonChannel REST endpoint
2018-11-12 09:02:37 +01:00
Wilmer Paulino
55094f1470 discovery/gossiper: send node anns when constructing full chan proof
In this commit, we allow the gossiper to also broadcast the
corresponding node announcements, if we know of them, of a channel when
constructing its full proof. We do this to ensure peers (other than our
remote peer) receive all the relevant announcements for a channel.

The tests changes were made to ensure the new behavior introduced works
as intended. Previously, the node announcements for each test channel
announcement were not processed, so they never existed from the
gossiper's point of view.

This also addresses an existing flake in the integration test
`testNodeAnnouncement`. This problem arose due to the node announcement
being sent before the connection between Dave (node announcement sender)
and Alice (node announcement receiver) was initiated and the full
channel proof was constructed.
2018-11-11 17:48:07 -08:00
Wilmer Paulino
c9e79527af discovery/gossiper: add trace log when skipping unadvertised node ann 2018-11-11 17:48:06 -08:00
Wilmer Paulino
4f45e339f1 discovery+routing: add FetchLightningNode to ChannelGraphSource interface 2018-11-11 17:48:05 -08:00
Joost Jager
e14678030c lnwallet: update to new SendOutputs signature 2018-11-10 07:57:19 +01:00
Johan T. Halseth
d4b042dc19 Merge pull request #2159 from halseth/integration-tests-net-aware-db
lntest: make DBPath aware of active net
2018-11-09 12:14:55 +01:00
Johan T. Halseth
715db90435 Merge pull request #2170 from AdamISZ/fix-typos-signer
fix two comment typos in signer.go
2018-11-09 11:44:02 +01:00
Johan T. Halseth
c694663d94 Merge pull request #2143 from ErikEk/improv_color_validation
Improving color validation
2018-11-09 09:58:41 +01:00
Johan T. Halseth
d7cbdea9db lnd_test: add waitForChannelPendingForceClose
This commit introduces a new utility method
waitForChannelPendingForceClose, that is used to ensure a force closed
channel has been recognized by the UTXO nursery, and is ready to be
swept as soon as it matures.

The commit also utilizes this method to properly wait before mining
blocks in certain tests, as it makes sure that the UTXO nursery will
react properly to the new blocks.
2018-11-09 08:50:00 +01:00
Johan T. Halseth
1516ceb37a Merge pull request #2160 from halseth/integration-tests-mine-reorged-funding-tx
[Integration tests] mine reorged funding tx
2018-11-09 08:48:09 +01:00
Johan T. Halseth
9c3be96490 Merge pull request #2167 from joostjager/nursery-cleanup
utxonursery: clean up unused code
2018-11-09 08:44:44 +01:00
Johan T. Halseth
3df62268ea Merge pull request #2158 from halseth/integration-tests-remove-externalip
[Trivial] lntest/node: remove extraneous externalip
2018-11-09 08:44:04 +01:00
Johan T. Halseth
b0c6f666f6 Merge pull request #2166 from joostjager/cnct-fixes
cnct: add todo for invalid expiry value handling
2018-11-09 08:43:43 +01:00
Johan T. Halseth
a2b553cf57 Merge pull request #2157 from halseth/integration-tests-remove-log
[Integration tests] remove log disabling hack
2018-11-09 08:42:35 +01:00