Commit Graph

5237 Commits

Author SHA1 Message Date
01d8953737 chainntnfs/btcd: fallback to scan manually only in case of err != nil 2018-08-24 14:46:20 +02:00
31dc387e0f chainntnfs/btcd+bitcoind tests: use common TxConfStatus 2018-08-24 14:46:20 +02:00
79b2ee7da5 chainntnfs/btcd+bitcoind: use common TxConfStatus 2018-08-24 14:46:20 +02:00
b552984fcd chainntnfs: define common TxConfStatus type 2018-08-24 14:46:20 +02:00
89c33731fe chainntnfs/bitcoind: remove unnecessary check for tx==nil 2018-08-24 14:46:20 +02:00
4a60887974 chainntnfs/btcd: remove unnecessary check for tx==nil 2018-08-24 14:46:19 +02:00
a91466e9fa chainntnfs/bitcoind tests: check found mempool case 2018-08-24 13:51:54 +02:00
cb3ec07685 chainntnfs/test_util: set 10ms trickleInterval for miner 2018-08-24 13:50:47 +02:00
ecc91305ac chainntnfs/btcdnotify: initialize with height hint cache 2018-08-24 04:05:46 -07:00
16a321f6c5 chainntnfs/bitcoind: initialize with height hint cache 2018-08-24 04:05:18 -07:00
85c0dd3de0 routing/chainview: update to latest API changes 2018-08-24 03:36:25 -07:00
9b6b78a932 chainntnfs/neutrinonotify: update to latest API changes 2018-08-24 03:36:25 -07:00
e718016464 build: update btcd+btcwallet+neutrino to latest versions 2018-08-24 03:36:25 -07:00
191c4f3e28 multi: enable txindex on miner harness 2018-08-24 03:36:25 -07:00
cb688de7ad chainntnfs: guard test chain notifier under debug flag 2018-08-24 03:36:25 -07:00
7895f01e2e chainntnfs: ensure proper fallback to scanning tx manually
In this commit, we address a bug where it's possible that we still
attempt to manually scan for a transaction to determine whether it's
been included in the chain even after successfully checking the txindex
and not finding it there. Now, we'll short-circuit this process by
exiting early if the txindex lookup was successful but the transaction
in question was not found. Otherwise, we'll fall back to the manual
scan.
2018-08-24 03:36:24 -07:00
f88f6f68d4 chainntnfs: extract helper test vars and functions
In this commit, we extract some of the helper test variables and
functions into their own file and guard them under a build flag. This is
needed as some unit tests will be introduced in a future commit where
most of the same functions within the interface tests are reused. In
order to prevent these variables and functions from being exportable, we
guard them by the "debug" build tag.
2018-08-24 03:36:24 -07:00
625b210f44 Merge pull request #1776 from cfromknecht/autopilot-add-node-trigger
[autopilot]: add OnNodeUpdate trigger
2018-08-23 20:35:34 -07:00
b9db220e8c config: properly show list of sub-systems for show debuglevel
Fixes #1772.
2018-08-23 19:48:30 -07:00
de92dac6a8 lnwallet: fix logging message for fee floor 2018-08-23 19:38:13 -07:00
fa6a0a7ce9 lnwire: recognize required query sync feature bit 2018-08-23 19:36:17 -07:00
a1a6845fb5 Merge pull request #1731 from halseth/link-policy-persist
Correctly apply min_htlc to forwarding policy
2018-08-23 19:21:44 -07:00
1898e57807 autopilot/agent_test: test that agent recovers from initial empty graph 2018-08-23 18:58:12 -07:00
93f1994dc5 pilot: signal OnNodeUpdates to autopilot 2018-08-23 18:58:12 -07:00
602856750b autopilot/agent: add OnNodeUpdates signal
Adds a new external signal alerting autopilot that
new nodes have been added to the channel graph or
an existing node has modified its channel
announcment. This allows autopilot to examine its
current state, and attempt to open channels if our
target state is not yet met.
2018-08-23 18:58:12 -07:00
8de84c4576 Merge pull request #1754 from halseth/fndmgr-gossiper-handoff
Unify gossiper and router announcement handling
2018-08-23 18:44:37 -07:00
dadf13e2a3 cmd/lncli: rename parseArgs to extractPathArgs, return error 2018-08-23 18:05:24 -07:00
ebc9550a1b cmd/lncli: properly parse cert and macaroon paths for all config variants
In this commit, we ensure that we're able to properly parse the cert and
macaroon paths for all relevant config variants. Before this commit, it
would be the case that the macaroon path ended up empty if a user wasn't
running the default (mainnet, lnddir) settings. In this commit, we
remedy this by parsing each of the two (cert+macaroon) paths
independently.
2018-08-23 18:05:23 -07:00
3d4843ed6c docker: update docker README to account for recent lncli/macaroon changes 2018-08-23 18:05:23 -07:00
4d74fa32a9 config: update comment for network directory 2018-08-23 18:05:22 -07:00
dc3db4bf62 docs: update path to where macaroons are stored
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
856500dc43 macaroons: ensure path for macaroon DB exists
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
4ba6a59e75 cmd/lncli: retrieve the macaroon for the current chain and network
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
56504d2685 cmd/lncli: add flags to determine the macaroon for the active network
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
e1726ecb2f config: remove default macaroon path
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
9981fd8fa7 config+lnd: create macaroons files under the network dir
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
6ddae25487 config+cmd/lncli: make cleanAndExpandPath return empty string on empty path
Co-Authored-By: Karl Ranna <karl@karlranna.com>
2018-08-23 18:05:00 -07:00
646e81262f Merge pull request #1771 from halseth/contractcourt-handoff-coop-trigger
[contractcourt] add coopCloseTrigger on startup for pendingClose channel
2018-08-23 16:19:55 -07:00
8344b05c38 contractcourt/chanarb test: expand TestChannelArbitratorCommitFailure to coop and local force close 2018-08-23 10:04:43 +02:00
4933120d38 contractcourt/channel arbitrator: add coopCloseTrigger on startup for pendingClose channel 2018-08-23 10:04:43 +02:00
e9066c2d34 peer: print warning if selfPolicy not found 2018-08-23 07:50:18 +02:00
030eca2347 lnd_test: test payment failing because < min_htlc 2018-08-23 07:50:18 +02:00
19e3a194fa peer+server: make fetchLastChanUpdate _always_ fetch our own update
This commit fixes a bug that would cause us to fetch our peer's
ChannelUpdate in some cases, where we really wanted to fetch our own.

The reason this happened was that we passed the peer's pubkey to
fetchLastChanUpdate, making us match on their policy. This would lead to
ChannelUpdates being sent during routing which would have no effect on
the attempted path.

We fix this by always use our own pubkey in fetchLastChanUpdate, and
also uses the common methods within the server to be able to extract the
update even when only one policy is known.
2018-08-23 07:50:18 +02:00
de5e9e139c server: make extractChannelUpdate extract from set of potential policies 2018-08-23 07:50:17 +02:00
229fd88289 peer: use custom MinHTLC value at initial link add
This commit fixes a bug within the peer, where we would always use the
default forwarding policy when adding new links to the switch. Mostly
this wasn't a problem, as we most often are using default values for new
channels, but the min_htlc value is a value that is set by the remote,
not us.

If the remote specified a custom min_htlc during channel creation, we
would still use our DefaultMinHtlc value when first adding the link,
making us try to forward HTLCs that would be rejected by the remote.

We fix this by getting the required min_htlc value from the channel
state machine, and setting this for the link's forwarding policy.

Note that on restarts we will query the database for our latest
ChannelEdgePolicy, and use that to craft the forwardingPolicy. This
means that the value will be set correctly if the policy is found in the
database.
2018-08-23 07:50:17 +02:00
f4f7b64b2d lnwallet/channel: add FwdMinHtlc(), returning MinHTLC from localChanCfg 2018-08-23 07:50:17 +02:00
7eee09c454 lnd_test: check ChannelUpdate for custom min_htlc 2018-08-23 07:50:17 +02:00
e069dd7f04 fundingmanager test: test that custom MinHTLC is in ChannelUpdate 2018-08-23 07:50:17 +02:00
e174fbd759 fundingmanager: use value the _remote_ require us to use in ChannelUpdate
This commit fixes a bug that would make us advertise the remote's
min_htlc value in our channel update.

The min_htlc value is set by a node Alice to limit its exposure to small
HTLCs, and the channel counter party should not forward HTLCs of value
smaller than this to Alice. This means that the value a node Bob should
advertise in its ChannelUpdate, is the min_htlc value the counter party
require all HTLCs to be above.

Instead of populating the ChannelUpdate with the MinHtlc value found in
the remote constraints, we now use the value from the local constraints.
2018-08-23 07:50:17 +02:00
0c65719613 fundingmgr: check quit channel when sending update
Avoids deadlock during failing fundingmanager tests.
2018-08-23 07:50:16 +02:00