Commit Graph

3555 Commits

Author SHA1 Message Date
Alex 948cb09c14 routing/chainview: bitcoind back-end now requires explicit `NotifyBlocks()` 2018-03-14 12:16:40 -06:00
Johan T. Halseth 5818bdba96
Merge pull request #828 from cfromknecht/switch-itest-hardening
Switch ITest Hardening
2018-03-14 11:06:34 +01:00
Conner Fromknecht 6a432c4be2
lntest: adds EnsureConnected helper method 2018-03-14 02:23:34 -07:00
Conner Fromknecht 82c1e9af92
lntest/harness: adds WaitInvariant helper method
This commits adds a complement to the existing WaitPredicate
helper function, ensuring that a boolean statement remains
true for the duration of the provided timeout. This expands
our ability to do simple sanity checks where the wait-until
semantics of WaitPredicate may not be as-well suited.
2018-03-14 02:23:34 -07:00
Conner Fromknecht 72dcf44246
lnd_test: harden switch persistence itests
This commits removes many of the timeout-based consistency
checks, which tend to be less dependable on Travis. They
have been replaced with stronger WaitPredicates, and the new
WaitInvariant where appropriate. This should give provide a
much greater degree of reliability in our highly-variant
testing environments.
2018-03-14 02:19:30 -07:00
Olaoluwa Osuntokun e0dc10b1a5
Merge pull request #824 from cfromknecht/multi-chain-coin-type
Configurable CoinType for HD Derivation
2018-03-13 18:14:30 -07:00
Olaoluwa Osuntokun 90ecc380ce
funding: fix race conditions in tests by guarding r.lastUpdated w/ a mtx 2018-03-13 18:13:10 -07:00
Olaoluwa Osuntokun 0fb7804e4a
Merge pull request #826 from cfromknecht/reextract-circuit-encrypters
Reextract Circuit Error Encrypters
2018-03-13 18:10:12 -07:00
Olaoluwa Osuntokun d3cb451ead
funding: run gofmt -s on funding manager tests 2018-03-13 17:09:00 -07:00
Olaoluwa Osuntokun 0befe41384
Merge pull request #782 from paddyquinn/master
funding: implement reservation zombie sweeper
2018-03-13 17:07:53 -07:00
Olaoluwa Osuntokun a451c1d11d
Merge pull request #830 from halseth/link-test-increase-timeout
link test: increase timeout for message sends
2018-03-13 16:53:25 -07:00
Conner Fromknecht ca7992e8dd
lnwallet/btcwallet/singer: use chainKeyScope to fetch scoped mgr 2018-03-13 16:33:46 -07:00
Conner Fromknecht fbef815530
lnwallet/btcwallet/config: add CoinType to configuration 2018-03-13 16:33:46 -07:00
Conner Fromknecht e760963ead
lnwallet/btcwallet/btcwallet: use coin type in key scope 2018-03-13 16:33:46 -07:00
Conner Fromknecht e99243d86b
lnwallet/interface_test: inti btcwallet with test coin type 2018-03-13 16:33:46 -07:00
Conner Fromknecht 99a2ce00d6
keychain/interface_test: test btc and ltc key derivation 2018-03-13 16:33:46 -07:00
Conner Fromknecht cb7f34895c
keychain/btwallet: support coin type configuration
This commit allows for secret keyrings to be initialized
with a specific coin type, which allows us to use
different derivation paths for bitcion and litecoin.

It also provide default constants for Bitcion and
Litecoin BIP 44 coin types.
2018-03-13 16:33:46 -07:00
Conner Fromknecht 2447f3097f
chainregistry: init secret key ring wth CoinType from params 2018-03-13 16:33:45 -07:00
Conner Fromknecht 55da4cc547
chainparams: add CoinType to parameters for HD derivation 2018-03-13 16:33:45 -07:00
Conner Fromknecht c1f0c4ffda
peer: DecodeOnionObfuscator -> ExractErrorEncrypter 2018-03-13 16:33:29 -07:00
Conner Fromknecht a9904b328f
servrer: pass ExtractErrorEncrypter 2018-03-13 16:33:29 -07:00
Conner Fromknecht f1e407cecc
htlcswitch/test_utils: DecodeOnionObfuscator - ExtractErrorEncrypter 2018-03-13 16:33:29 -07:00
Conner Fromknecht c762fe0caa
htlcswitch/switch: pass ExtractErrorEncrypter to circuitMap 2018-03-13 16:33:29 -07:00
Conner Fromknecht cee221f8cc
htlcswitch/mock: add Reextract NOP to mockObfuscator 2018-03-13 16:33:28 -07:00
Conner Fromknecht 2fbb0c8b92
htlcswitch/link_test: DecodeOnionObfuscator -> ExtractErrorEncrypter 2018-03-13 16:33:28 -07:00
Conner Fromknecht d13a566284
htlcswitch/link: DecodeOnionObfuscator -> ExtractErrorEncrypter 2018-03-13 16:33:28 -07:00
Conner Fromknecht 3d487e3ca3
htlcswitch/iterator: extract error encrypter from ephemeral key 2018-03-13 16:33:28 -07:00
Conner Fromknecht dccab0a654
htlcswitch/failure: add Reextract to SphinxErrorEncrypter 2018-03-13 16:33:28 -07:00
Conner Fromknecht 75c7349823
htlcswitch/circuit_test: use circuit map config and test rextraction 2018-03-13 16:33:28 -07:00
Conner Fromknecht 64ee4e0247
htlcswitch/circuit_map: add Config and Reextract obfuscators 2018-03-13 16:33:27 -07:00
Olaoluwa Osuntokun 4ced071a7d
cmd/lncli+log: fix linter error 2018-03-13 13:01:21 -07:00
Olaoluwa Osuntokun 813902ddeb
log: hook up the logger for the sphinx package
With this logger in place, we’ll properly get log updates whenever a
set of shared secrets is to be garbage collected.
2018-03-13 12:59:14 -07:00
Olaoluwa Osuntokun ddfe73eedb
cmd/lncli: ensure mnemonic for restore flow is exactly 24 words 2018-03-13 12:57:13 -07:00
Olaoluwa Osuntokun 0933f42674
Merge pull request #829 from halseth/peer-failed-channel-tracking
peer: track failed channels
2018-03-13 12:55:14 -07:00
Olaoluwa Osuntokun d75e2f76cc
Merge pull request #833 from wilmerpaulino/fix-macaroon-path
cmd/lncli: correctly set modified macaroon path
2018-03-13 12:33:59 -07:00
Wilmer Paulino 5a2a4a26b6
cmd/lncli: correctly set modified macaroon path 2018-03-13 12:17:49 -04:00
Johan T. Halseth b2608dd292
htlcswitch/link_test: increase timeout for message sends
This commit increases the time we wait for a message to be sent for
several test cases, aiming to decrease the false negative rate on
Travis.
2018-03-13 12:20:58 +01:00
Johan T. Halseth a6c2550404
peer: track failed channels
This commit adds a set used to track channels we consider failed. This
is done to ensure we don't end up in a connect/disconnect loop when we
attempt to re-sync the channel state of a failed channel with a peer.
2018-03-13 11:11:17 +01:00
Olaoluwa Osuntokun 3a53752d90
Merge pull request #783 from wilmerpaulino/config-node-dir
config+cmd/lncli: add flags to specify the base directory for lnd and supported backend nodes
2018-03-12 20:31:49 -07:00
Olaoluwa Osuntokun 24f9b6a342
Merge pull request #802 from wilmerpaulino/glide-to-dep
build: switch from glide to dep for dependency management
2018-03-12 20:30:39 -07:00
Olaoluwa Osuntokun 45eaa70814
Merge pull request #821 from cfromknecht/switch-early-shutdown
htlcswitch/switch: improve safety of switch shutdown
2018-03-12 19:57:19 -07:00
Olaoluwa Osuntokun 53045450ad
Merge pull request #823 from Roasbeef/chan-stream-buf-limit
peer: modify the msgStream to not buffer messages off the wire indefi…
2018-03-12 19:39:48 -07:00
Wilmer Paulino 9bf1b5399b
config: ensure all paths are cleaned and expanded after parsing options
In this commit, we ensure all paths to directories and files related to
LND are cleand and expanded before attempting to use them.

For example, in POSIX systems:
  - ~/lnd.conf would be expanded to /home/user/lnd.conf
  - $HOME/lnd.conf would be expanded to /home/user/lnd.conf
2018-03-12 22:24:32 -04:00
Wilmer Paulino 862729809e
config+cmd/lncli: ensure tilde in path is expanded to home dir
Since we're now able to create a base LND directory that no longer lives
under the OS specific application data directory, we modify
cleanAndExpandPath to replace the `~` in a path to the current user's
home directory, rather than the user's application data directory.
2018-03-12 22:24:04 -04:00
Wilmer Paulino 36e06cdd35
config: add flag to specify the dir for the supported backend nodes
In this commit, we introduce a new flag to set a custom path for a
backend node's data directory.
2018-03-12 22:24:03 -04:00
Wilmer Paulino 44bc563396
config+cmd/lncli: add flag to specify the base dir for lnd
In this commit, we introduce a new flag `--lnddir` that allows us to
set a different base directory, other than the OS specific application
data directory, for all related lnd files and directories.
2018-03-12 22:23:56 -04:00
PaddyQuinn c67f1408eb funding: add zombie sweeper tests
Note: This commit also creates a function called
assertFundingMsgSent, which replaces checkNodeSendingFundingLocked
by doing the same work not just for FundingLocked messages but
also for AcceptChannel, FundingCreated, and FundingLocked messages.
2018-03-12 22:11:40 -04:00
PaddyQuinn 75e45b830b funding: implement reservation zombie sweeper
Before previous commits were squashed into this commit, zombie
reservations were cleaned up individually when they timed out.
However, this made the code more complex because each reservation
had its own individual timer and thus it would have required the
timer being cancelled any time the reservation was cancelled,
which would have been harder to maintain. With this commit,
zombie reservations are cleaned up by a zombie sweeper that is
set off by a ticker instead, to make the code more maintainable.
2018-03-12 21:58:51 -04:00
Olaoluwa Osuntokun 8988a07bce
htlcswitch: eliminate unnecessary indentation in processRemoteAdds
In this commit, we remove a ton of unnecessary indentation in the
processRemoteAdds method. Before this commit, we had a switch statement
on the type of the entry. This was required before when the method was
generic, but now since we already know that it’s an Add, we no longer
require such a statement.
2018-03-12 18:58:46 -07:00
Olaoluwa Osuntokun 069311c47f
htlcswitch: log dangling circuits in unable to create new commitment 2018-03-12 18:58:45 -07:00