Commit Graph

8456 Commits

Author SHA1 Message Date
Wilmer Paulino
4faed1deff
build: update btcwallet and zmq dependencies
* We address an issue where we would unnecessarily time out bitcoind ZMQ
  connections if there are no messages to be read. This would cause
  connections to be torn down, which would then trigger the reconnection
  logic and prevent us from detecting this issue.

* A new sanity check within the wallet is done to prevent adding
  unconfirmed transactions that the wallet has already recognized as
  confirmed.
2019-07-12 02:40:16 -07:00
Otto Suess
c843835a05
invoicesrpc: fix route hint off-by-one-error
right now it is possible to add 21 route hints which results in an error.
2019-07-12 08:51:30 +02:00
Conner Fromknecht
0193034f4f
Merge pull request #2957 from halseth/taketa-goroutine-snapshot
[lnd test] write goroutine snapshot on integration test failure
2019-07-11 16:11:51 -07:00
Wilmer Paulino
5c11dd44d7
Merge pull request #3297 from orbitalturtle/makefile-case-clarification
MAKEFILE: Clarify what the testcase argument is
2019-07-11 14:40:29 -07:00
Conner Fromknecht
a4f4ff0f83
Merge pull request #3188 from joostjager/error-source-idx
htlcswitch+routing+routerrpc: error source as index and expose decrypt failure
2019-07-11 13:27:14 -07:00
Conner Fromknecht
2e0af923f3
Merge pull request #2366 from ccdle12/routing-policy-timestamps
lnrpc+rpcserver: Adding timestamps to RoutingPolicy
2019-07-11 12:10:03 -07:00
Joost Jager
2726f50d7c
htlcswitch: do not consider unknown failures an error 2019-07-11 19:49:49 +02:00
Joost Jager
c6f9517e48
lnwire+htlcswitch: only use references for failure messages
Methods on failure message types used to be defined on value receivers.
This allowed assignment of a failure message to ForwardingError both as
a value and as a pointer. This is error-prone, especially when using a
type switch.

In this commit the failure message methods are changed so that they
target pointer receivers.

Two instances where a value was assigned instead of a reference are
fixed.
2019-07-11 19:49:47 +02:00
Joost Jager
418fe364de
htlcswitch: use distinct error for unreadable failures 2019-07-11 19:49:45 +02:00
Johan T. Halseth
0820b07c19
make: add -goroutinedump, rm pprof*.log to itest 2019-07-11 14:47:02 +02:00
Johan T. Halseth
8b64b14627
gitignore: add pprof files to gitignore 2019-07-11 14:44:50 +02:00
Johan T. Halseth
195a868455
lntest: add flag -goroutinedump 2019-07-11 14:44:44 +02:00
Johan T. Halseth
8d5430dae3
lnd_test: add lndHarness to harnessTest, dump goroutines on Fatalf
Co-authored-by: taketa <853211b@gmail.com>
2019-07-11 14:41:41 +02:00
Johan T. Halseth
314ba7db03
lntest/harness: add method SaveProfilesPages
SaveProfilesPages will write the active goroutines to files
pprof-n-*.log.

Co-authored-by: taketa <853211b@gmail.com>
2019-07-11 14:41:40 +02:00
Johan T. Halseth
6028722d71
lntest/node: make ProfilePort part of node config 2019-07-11 14:36:59 +02:00
Joost Jager
0cdae56d28
htlcswitch+routing: make error decryption mockable 2019-07-11 10:37:28 +02:00
Joost Jager
2b47632b26
htlcswitch+routing+routerrpc: return error source as index 2019-07-11 10:37:26 +02:00
Joost Jager
55bef96cf3
htlcswitch/test: stricter error check in TestSwitchSendPayment 2019-07-11 10:37:24 +02:00
Joost Jager
569f821142
routing/test: allow arbitrary graph source nodes 2019-07-11 10:37:22 +02:00
ccdle12
a93d63f04b
lnrpc+rpcserver: Adding last_update timestamp to RoutingPolicy
lnrpc/rpc.proto: updates RoutingPolicy last_update number

rpcserver: adding LastUpdate field to marshalDbEdge

This commit adds a LastUpdate field to each RoutingPolicy, it will show
the time each RoutingPolicy was updated.

lnrpc: regenerating proto files
2019-07-11 07:44:28 +01:00
Turtle
47609a511e MAKEFILE: Clarify what the testcase argument is 2019-07-11 00:37:30 -04:00
Turtle
f958555ce3 Lnd + server_test: Add unit test for TLS cert autoregeneration 2019-07-11 00:10:55 -04:00
Turtle
24ca95ab10 lnd_test: remove TLSAutoRegeneration test 2019-07-11 00:08:24 -04:00
Wilmer Paulino
93aad89f4c
Merge pull request #3296 from exfrog/patch-1
Update recovery.md (typo)
2019-07-10 20:52:16 -07:00
Wilmer Paulino
f9816330c5
Merge pull request #3238 from breez/chan_reserve_fields
rpc: add channel reserve fields in RPC responses.
2019-07-10 16:30:33 -07:00
exfrog
f98b737cfe
Update recovery.md
minor typo on line 286, said 'implement' twice
2019-07-10 16:04:55 -07:00
Roei Erez
404abcbd04 rpc: add channel reserve fields in RPC responses.
In this commit two fields were added to the Channl RPC result in both
open and pending states.
The fields: local_chan_reserve, remote_chan_reserve represents the
reservation the nodes are rquired to keep in both sides of the channel.
This is usefull when calculating the "real" inbound and outbound
liquidity in an accurate way.
2019-07-11 00:03:20 +03:00
Olaoluwa Osuntokun
d1d6c310e6
Merge pull request #3294 from wpaulino/use-bsaes-mirror
build: use github mirror of bsaes dependency
2019-07-10 13:39:23 -07:00
Wilmer Paulino
d67d3e6258
Merge pull request #3295 from Roasbeef/remove-catch-all-code-owners
CODEOWNERS: remove top level catch all
2019-07-10 13:15:53 -07:00
Olaoluwa Osuntokun
a3d5a708bb CODEOWNERS: remove top level catch all 2019-07-10 12:15:38 -07:00
Wilmer Paulino
03cf9a53e4
Merge pull request #3293 from halseth/bumpfee-doc
[trivial] lnrpc: make BumpFee doc start with RPC name
2019-07-10 12:02:41 -07:00
Wilmer Paulino
383dd8111b
build: use github mirror of bsaes dependency
This allows us to not depend on external hosts for third-party
dependencies other than the standard hosts: github.com,
google.golang.org, and gopkg.in.
2019-07-10 11:52:57 -07:00
Johan T. Halseth
7a5247b766
Merge pull request #3245 from breez/non_static_permissions
rpc: fix calculating RPC permissions.
2019-07-10 13:33:54 +02:00
Johan T. Halseth
f0cbe46324
lnrpc: make BumpFee doc start with RPC name 2019-07-10 12:56:54 +02:00
Roei Erez
46489050ef rpc: make RPC permissions non static.
This commit fixes a but where restarting LND at the same process causes
It to fail.
The problem resides in the fact that an array of permissions is
initialized as a package variable and when creating the
RPCServer all subserver permissions are appended while checking for
duplicates.
On subsequent restart this array is left over from the previous run and
being populated again with the same permissions causing a duplicate
error.
The solution is simple, just to extract out the initial permissions to
a separate function and call it from the context is is needed.
2019-07-10 13:10:24 +03:00
Wilmer Paulino
f819002b7a
Merge pull request #1933 from yaslama/transactions-addresses
Add addresses to transactions returned by SubscribeTransactions
2019-07-10 02:34:31 -07:00
Johan T. Halseth
25375d603c
Merge pull request #3246 from tyzbit/fwdinghistory_3240
rpcserver: ForwardingHistory end_time defaults to time.Now()
2019-07-10 09:56:00 +02:00
Johan T. Halseth
e775eddaee
Merge pull request #3285 from cfromknecht/codeowners-typo
CODEOWNERS: fix aezeed typo
2019-07-10 09:53:46 +02:00
Yaacov Akiba Slama
46a611cd90 Add DestAddresses field in transactions returned by SubscribeTransactions 2019-07-10 09:40:41 +03:00
Yaacov Akiba Slama
fe2a565bec Add test for unmined transaction DestAddresses
Co-authored-by: Christopher Coverdale <chris.coverdale24@gmail.com>
2019-07-10 09:39:46 +03:00
Yaacov Akiba Slama
f33df0928d Fill DestAddresses in unmined transactions 2019-07-10 09:38:27 +03:00
Conner Fromknecht
1b16f84964
CODEOWNERS: fix aezeed typo 2019-07-09 18:16:23 -07:00
Wilmer Paulino
0b070d7604
Merge pull request #3269 from Roasbeef/codeowners
CODEOWNERS: create initial code owners config
2019-07-09 14:41:37 -07:00
Wilmer Paulino
9691f86af0
Merge pull request #3279 from carlaKC/ckc-I1359-listpaymentsMSatFee
lnrpc: Deprecate fee field in payment struct
2019-07-09 14:36:24 -07:00
carla
af10009c93 lnrpc: Deprecate fee field in payment struct 2019-07-09 09:58:20 -04:00
Olaoluwa Osuntokun
19ff8f2c1b
Merge pull request #3280 from Roasbeef/derive-first-empty-key-loc
lnwallet: fix key derivation for very first key in family
2019-07-08 21:53:40 -07:00
Olaoluwa Osuntokun
9acd7a67ce
CODEOWNERS: create initial code owners config
In this commit, we create the initial CODEOWNERS file for `lnd`. This
file is a new-ish feature of Github that allows the maintains of a
project to define the individuals who are deemed to be experts of a
particular section of the codebase. Automated review assignment systems
can then use this file to generate required reviewers for a section of
the project. The CODEOWNERS file isn't meant to be a strict guideline,
but instead can be used to ease the burden of finding reviewers for a
particular section of the codebase.

It's also possible to enforce that the CODEOWNERS for a particular
file/package sign-off on relevant changes, thereby blocking review
unless they're involved. However, for now we'll simply use it to guide
the review assignment project, leaving creating blocking review
constraints until a later point if deemed useful.
2019-07-08 20:42:05 -07:00
Conner Fromknecht
933e723ec7
Merge pull request #3178 from federicobond/once-refactor
multi: replace manual CAS with sync.Once in several more modules
2019-07-08 20:33:44 -07:00
Olaoluwa Osuntokun
ba5fbb3c27
Merge pull request #3156 from joostjager/extended-fail
routerrpc: add more failure reasons and route hints
2019-07-08 19:12:03 -07:00
Olaoluwa Osuntokun
bd46491d07 lnwallet: fix key derivation for very first key in family
In this commit, we fix an existing bug that would cause us to be unable
to derive the very first key in a key family if the wallet hadn't
already derived it in the past. This can happen if a user keeps their
same `channel.db`, but restores their wallet resulting in fresh
`wallet.db` state.

This is an existing issue due to the fact that we don't properly
distinguish between an empty key locator, and the very first key in a
`KeyFamily`: `(0, 0)`. Atm, `KeyLoactor{0, 0}.IsEmpty() == True`,
causing us to be unable to retrieve this key in certain cases since we
fall through and attempt address based derivation.

In order to remedy this, we add a new special case (until we upgrade
`KeyLoactor` formats, but needed for legacy reasons) to _try_ a regular
`KeyLoactor` based derivation if we fail to derive via address, and this
is an "empty" key loc. This has been tested in the field and shown to
work, with the one downside that in this "hot swap restoration" case,
we'll hit the database twice to derive the key.
2019-07-08 17:08:39 -07:00