Commit Graph

5784 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
5075394617
Merge pull request #1706 from joostjager/errorprocessing
routing: make routing retry behaviour consistent
2018-12-03 18:29:07 -08:00
Conner Fromknecht
c27b90f76c
queue/queue_test: adds 100% test coverage 2018-12-03 13:58:25 -08:00
Conner Fromknecht
a4442608e6
queue/queue: wait group inner go routines, add idempotency 2018-12-03 13:58:25 -08:00
Olaoluwa Osuntokun
5107feb1ce
Merge pull request #2261 from cfromknecht/makefile-unused-declarations
Makefile: remove unused HAVE_ declarations + cleanup
2018-12-03 13:34:43 -08:00
Joost Jager
b6ce03e569
routing: make routing retry behaviour consistent
Fixes the following issues:
- If the channel update of FailFeeInsufficient contains an invalid channel
  update, it is not possible to properly add to the failed channels set.
- FailAmountBelowMinimum may apply a channel update, but does not retry.
- FailIncorrectCltvExpiry immediately prunes the vertex without
  trying one more time.

In this commit, the logic for all three policy related errors is
aligned.
2018-12-03 13:23:27 +01:00
Brian Sipple
c9a5593a64 build: update make btcd command with GO111MODULE=on 2018-12-02 15:43:26 -08:00
Conner Fromknecht
7557bded50
Makefile: remove unused HAVE_ declarations + cleanup 2018-12-02 15:24:14 -08:00
Yancy Ribbens
bd3e046fb7 fix dockerfile dependency bug 2018-12-01 22:53:14 -06:00
Olaoluwa Osuntokun
f4b6e0b775
Merge pull request #2253 from monaco-ex/pr-fix-build-failure-on-docker-btcd
Fix the build error.
2018-12-01 13:58:23 -08:00
Cryptcoin Junkey
126787074b Fix the build error. 2018-12-01 03:06:38 +00:00
Olaoluwa Osuntokun
ec01bebb81
Merge pull request #1902 from cfromknecht/move-chan-series-to-discovery
Move chan series to discovery
2018-11-30 18:20:09 -08:00
Olaoluwa Osuntokun
7a39131a85
Merge pull request #2249 from cfromknecht/makefile-cleanup
Makefile: use travis targets, remove unnecessary symbols
2018-11-30 16:26:45 -08:00
Conner Fromknecht
ae46d2e716
Merge pull request #2211 from Roasbeef/notifier-reverse-scan
chainntnfs: modify all historical rescans to scan backwards
2018-11-30 16:26:24 -08:00
Conner Fromknecht
da21f33a2a
chan_series: remove chan_series from main 2018-11-30 15:33:34 -08:00
Conner Fromknecht
4e48a56d5e
server: init gossiper w/ discovery.ChanSeries 2018-11-30 15:33:34 -08:00
Conner Fromknecht
5fc0a192ad
discovery/syncer: move CGTimeSerires to chan_series 2018-11-30 15:33:34 -08:00
Conner Fromknecht
1c81a8fad6
discovery/chan_series: copy chan_series to discovery 2018-11-30 15:33:34 -08:00
Conner Fromknecht
157d181a66
Merge pull request #2194 from xsb/num-inactive-chan-reorder
lnrpc: reorder num_inactive_channels
2018-11-30 15:24:22 -08:00
Conner Fromknecht
0d9b5ecc3c
Makefile: use period for print for consistency 2018-11-30 15:20:50 -08:00
Conner Fromknecht
5039c106f6
make/testing_flags: remove unused PROD_TAGS 2018-11-30 15:20:49 -08:00
Conner Fromknecht
0ad3302e16
Makefile: remove unnecessary PROD_TAGS 2018-11-30 15:20:47 -08:00
Conner Fromknecht
2c716095d5
travis: use make targets instead of chaining 2018-11-30 15:20:46 -08:00
Conner Fromknecht
3e0ca05740
Makefile: add travis-race and travis-cover targets 2018-11-30 15:20:45 -08:00
Olaoluwa Osuntokun
8d624fa1fd
Merge pull request #2245 from Roasbeef/modules-fix
build: switch to btcd version that uses go modules, switch from bolt to bbolt
2018-11-30 14:59:53 -08:00
Olaoluwa Osuntokun
41fde4c796
build: update to latest btcd, neutrino, btcwallet 2018-11-30 14:26:28 -08:00
Olaoluwa Osuntokun
0734e53260
build: inline travis btcd build 2018-11-30 14:01:53 -08:00
Olaoluwa Osuntokun
24ab9970bf
build: modify make file to use go get with precise btcd hash 2018-11-30 14:01:00 -08:00
Olaoluwa Osuntokun
eafee05dd2
build: update go.mod and go.sum with latest btcd+neutrino+btcwallet 2018-11-30 13:59:39 -08:00
Olaoluwa Osuntokun
9e5ba86cef
build: force modules at the travis script level 2018-11-29 21:40:47 -08:00
Olaoluwa Osuntokun
1483af79da
build: force gomodules when executing linter 2018-11-29 21:35:51 -08:00
Olaoluwa Osuntokun
ac04306dcf
travis: collapse commands into single instance to ensure exit on fail
Before this commit, if for example the linter failed, then we would go
on to all the other tests rather than halting. We fix this by instead
chaining the relevant commands, and eliminating the LINT env variable
in the build matrix.
2018-11-29 21:27:55 -08:00
Olaoluwa Osuntokun
910757d30e
build: force go modules off when using metalinter in makefile 2018-11-29 21:26:30 -08:00
Olaoluwa Osuntokun
00001e7dad
watchtower: fix linter errors 2018-11-29 21:26:02 -08:00
Olaoluwa Osuntokun
9bdc1dc2f2
make: add env before go test for unit tests to support modules 2018-11-29 20:33:53 -08:00
Olaoluwa Osuntokun
0936aebf1d
build: remove glide usage to build btcd from Makefile
We no longer need glide to build btcd as btcd itself now uses go modules
as we do.
2018-11-29 20:33:50 -08:00
Olaoluwa Osuntokun
1fd3aac925
multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
Olaoluwa Osuntokun
0edf1ae081
build: update to latest btcwallet, neutrino, bbolt versions 2018-11-29 20:01:45 -08:00
Conner Fromknecht
668bd4db33
Merge pull request #2094 from cfromknecht/validate-color
config: validate node color after reading config
2018-11-29 16:18:44 -08:00
Joost Jager
6ba1144528
routing: move failed channels map into payment session
This is a small preparatory step towards moving mission control logic
out of router and reusing the acquired routing result data.
2018-11-29 10:31:38 +01:00
Joost Jager
ac04729cff
routing: use complete route in test
Previously not all route fields were properly populated. Example: prev
and next hop maps.
2018-11-29 10:31:38 +01:00
Joost Jager
71037969b7
routing: remove pruneVertexFailure function 2018-11-29 10:31:38 +01:00
Joost Jager
aca136a91c
routing: remove unused pruneVertexFailure parameters 2018-11-29 10:31:38 +01:00
Joost Jager
dd7e2e9e04
routing: move logging into applyChannelUpdate
To remove code duplicated at all call sites to check err and log.
2018-11-29 10:31:38 +01:00
Olaoluwa Osuntokun
fc4fe07010
Merge pull request #2081 from Roasbeef/signer-service
lnrpc+lnd+rpc: add new Signer RPC service, and sub RPC server infrastructure
2018-11-28 21:22:25 -08:00
Olaoluwa Osuntokun
b0a7a57f57
lnrpc/signrpc: add ComputeInputScript implementation 2018-11-28 20:57:13 -08:00
Olaoluwa Osuntokun
6c201e435a
lnrpc/signrpc: add ComputeInputScript to the Signer sub-server
In this commit, we add the ComputeInputScript which will allow callers
to obtain witnesses for all outputs under control of the wallet. This
allows external scripting of things like coin join, etc.
2018-11-28 20:57:11 -08:00
Olaoluwa Osuntokun
a8ac3cfe7d
lnd+rpc: fix linter errors 2018-11-28 20:57:10 -08:00
Olaoluwa Osuntokun
35b4b35eae
lnrpc: add new recursive proto generation script
In this commit, we add a recursive proto generation script. This avoids
having to add a new script for each upcoming sub-server.
2018-11-28 20:57:08 -08:00
Olaoluwa Osuntokun
06d5f2db37
macaroons: update line folding to project style 2018-11-28 20:57:07 -08:00
Olaoluwa Osuntokun
ff47ade13b
lnd+rpc: modify rpcServer to fully manaage listeners and gRPC, handle sub-servers
In this commit, we modify the existing rpcServer to fully manage the
macaroons, gRPC server, and also seek out and create all sub-servers.
With this change, the RPC server gains more responsibility, as it
becomes the "root" server in the hierarchy of gRPC sub-servers.

In addition to creating each sub-server, it will also merge the set of
macaroon permissions for each sub-server, with the permissions of the
rest of the RPC infra. As a result, each sub-server is able to
independently specify what it needs w.r.t macaroon permissions and have
that taken care of by the RPC server. In order to achieve this, we need
to unify the creation of the RPC interceptors, and also fully manage the
gRPC server ourselves.

Some examples with various build configs:
```
⛰i  make build
 Building debug lnd and lncli.
go build -v -tags="dev" -o lnd-debug -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.5-beta-143-gb2069914c4b76109b7c59320dc48f8a5f30deb75-dirty" github.com/lightningnetwork/lnd
go build -v -tags="dev" -o lncli-debug -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.5-beta-143-gb2069914c4b76109b7c59320dc48f8a5f30deb75-dirty" github.com/lightningnetwork/lnd/cmd/lncli

⛰i  ./lnd-debug --debuglevel=debug --signrpc.signermacaroonpath=~/sign.macaroon
unknown flag `signrpc.signermacaroonpath'
unknown flag `signrpc.signermacaroonpath'

⛰i  make build tags=signerrpc
 Building debug lnd and lncli.
go build -v -tags="dev signerrpc" -o lnd-debug -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.5-beta-143-gb2069914c4b76109b7c59320dc48f8a5f30deb75-dirty" github.com/lightningnetwork/lnd
go build -v -tags="dev signerrpc" -o lncli-debug -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.5-beta-143-gb2069914c4b76109b7c59320dc48f8a5f30deb75-dirty" github.com/lightningnetwork/lnd/cmd/lncli

⛰i  ./lnd-debug --debuglevel=debug --signrpc.signermacaroonpath=~/sign.macaroon
2018-10-22 17:31:01.132 [INF] LTND: Version: 0.5.0-beta commit=v0.5-beta-143-gb2069914c4b76109b7c59320dc48f8a5f30deb75-dirty, build=development, logging=default
2018-10-22 17:31:01.133 [INF] LTND: Active chain: Bitcoin (network=simnet)
2018-10-22 17:31:01.140 [INF] CHDB: Checking for schema update: latest_version=6, db_version=6
2018-10-22 17:31:01.236 [INF] LTND: Primary chain is set to: bitcoin
2018-10-22 17:31:02.391 [INF] LNWL: Opened wallet
2018-10-22 17:31:03.315 [INF] LNWL: The wallet has been unlocked without a time limit
2018-10-22 17:31:03.315 [INF] LTND: LightningWallet opened
2018-10-22 17:31:03.319 [INF] LNWL: Catching up block hashes to height 3060, this will take a while...
2018-10-22 17:31:03.320 [INF] HSWC: Restoring in-memory circuit state from disk
2018-10-22 17:31:03.320 [INF] LNWL: Done catching up block hashes
2018-10-22 17:31:03.320 [INF] HSWC: Payment circuits loaded: num_pending=0, num_open=0
2018-10-22 17:31:03.322 [DBG] LTND: Populating dependencies for sub RPC server: Signrpc
```

As for the config, an example is:
```
[signrpc]
signrpc.signermacaroonpath=~/signer.macaroon
```
2018-11-28 20:57:06 -08:00