Commit Graph

8510 Commits

Author SHA1 Message Date
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
nsa
66d15c8e76 channeldb + wtdb: specify freelist bbolt options by default
This commit specifies two bbolt options when opening the underlying
channel and watchtower databases so that there is reduced heap
pressure in case the bbolt database has a lot of free pages in the
B+ tree.
2019-07-08 18:41:25 -04:00
nsa
4fd78926d4 build: update bbolt to v1.3.3 with panic rollback fix
This commit updates the bbolt dependency to v1.3.3 so that we
can use the NoFreelistSync option without triggering a panic
in case a rollback occurs.
2019-07-08 18:35:43 -04:00
tyzbit
d9179bee91 rpcserver: ForwardingHistory end_time defaults to time.Now()
In this commit we change the default behavior
of end_time when calling ForwardingHistory.
end_time now defaults to time.Now()
2019-07-08 18:18:35 -04:00
Wilmer Paulino
a575b5679d
Merge pull request #3271 from ottosuess/patch-3
trivial: typo fix (closes #3268)
2019-07-08 15:03:35 -07:00
Wilmer Paulino
8a4665ff87
Merge pull request #3263 from cfromknecht/fix-updatechanpolicy-help
cmd/lncli/commands: fix updatechanpolicy lowest possible fee msg
2019-07-08 13:46:44 -07:00
Johan T. Halseth
b162595929
Merge pull request #3229 from halseth/fallback-hostname
lnd: fallback to localhost if failing getting hostname
2019-07-08 14:57:36 +02:00
Johan T. Halseth
601773958d
lnd: fallback to localhost if failing getting hostname
Needed on some versions of Android.
2019-07-08 14:00:25 +02:00
esneider
66b5574f4c Fix typo in doc 2019-07-05 19:40:04 -03:00
Otto Suess
e9abee2852
trivial: typo fix (closes #3268)
suer should be user
2019-07-04 18:02:26 +02:00
Joost Jager
1e79ddc9bc
routerrpc: accept route hints for SendPayment rpc 2019-07-04 09:27:18 +02:00
Joost Jager
5ce04091d8
routing+routerrpc+channeldb: return route on invalid payment details 2019-07-04 09:27:16 +02:00
Joost Jager
7bc56f5a7b
routing: add subscriber event constructors 2019-07-04 09:27:14 +02:00
Joost Jager
ae46fb00cb
routing+channeldb: add more failure reasons 2019-07-04 09:27:12 +02:00
Conner Fromknecht
a6e77811b1
Merge pull request #3251 from Crypt-iQ/sync_with_chain_fix_0627
routing: move call to PruneGraph outside of the collating loop
2019-07-02 20:00:55 -07:00
nsa
678fb674eb routing: move call to PruneGraph outside of the collating loop
This commit moves the call to PruneGraph outside of the loop
that collates all of the spentOutputs. With this change, if
a node has been offline for a long period of time, resyncing
with the chain no longer takes up as much memory (1MB vs 200MB
in some cases) or time. Previously, PruneGraph was called
for every block and allocated a very large map further down
in the pruneGraphNodes function. Now, pruneGraphNodes is only
called once.
2019-07-02 21:21:28 -04:00
Conner Fromknecht
5f4922cd57
Merge pull request #3262 from cfromknecht/watchtowerrpc-crash-fix
lnrpc/watchtowerrpc: prevent watchtowerrpc panic when tower not active
2019-07-02 18:07:53 -07:00
Conner Fromknecht
0451baecf5
cmd/lncli/commands: fix updatechanpolicy lowest possible fee msg 2019-07-02 16:20:53 -07:00
Conner Fromknecht
f727b94e12
lnrpc/watchtowerrpc: prevent watchtowerrpc panic when tower not active 2019-07-02 15:06:12 -07:00
Olaoluwa Osuntokun
36983214e8
Merge pull request #3259 from cfromknecht/watchtower-docs
docs: watchtower guide + bump default sweep fee rate
2019-07-01 17:52:10 -07:00
Johan T. Halseth
8b83f03308
rpcserver+router: log terminal sendPayment error 2019-07-01 16:22:57 -07:00
Conner Fromknecht
2440e9c2e5
docs/watchtower.md: add watchtower guide 2019-07-01 15:57:21 -07:00
Conner Fromknecht
a38d44e3da
sample-lnd.conf: add watchtower and wtclient sample confs 2019-07-01 15:56:10 -07:00
Conner Fromknecht
4b549cb43c
watchtower/wtpolicy/policy: bump default fee rate to 10 sat/byte 2019-07-01 15:56:03 -07:00
Olaoluwa Osuntokun
108f25dc89
Merge pull request #3257 from Crypt-iQ/restorechanbackup_fix_0630
chanrestore: return error instead of nil if failed derivation
2019-07-01 15:40:36 -07:00
Conner Fromknecht
05107ce969
watchtower/wtdb: fix double hex encoding of chanid 2019-07-01 13:11:58 -07:00
nsa
9804caca6d chanrestore: return error instead of nil if failed derivation
This commit fixes a bug in the openChannelShell function where,
instead of properly returning an error when failing to derive
the shachain root's private key, nil was returned instead. This
would lead to a panic as the channel shell was then referenced
further down in the callstack. An error is now properly returned.
2019-06-30 12:42:36 -04:00
Olaoluwa Osuntokun
6a4179e224
Merge pull request #3253 from Roasbeef/second-dns-seed
multi: add secondary DNS seed for bootstrap, add exponential back off to initial bootstrap
2019-06-28 18:32:04 -07:00
Olaoluwa Osuntokun
7779a8f4bd
Merge pull request #3255 from Roasbeef/btcwallet-fix
build: update to btcwallet version w/ btcd rescan optimization
2019-06-28 18:30:05 -07:00
Olaoluwa Osuntokun
04512a1a93
build: update to latest btcd with rescan optimization 2019-06-28 17:39:32 -07:00
Olaoluwa Osuntokun
dad1ed2d71
build: update to latest neutrino version w/ flake fix 2019-06-28 17:15:55 -07:00
Olaoluwa Osuntokun
998cf42ac3
build: update to btcwallet version w/ btcd rescan optimization 2019-06-28 17:02:02 -07:00
Olaoluwa Osuntokun
b60e6d6f53
Merge pull request #3254 from cfromknecht/stricter-confirmation-matching
chainntnfs: stricter historical confirmation matching
2019-06-28 16:48:11 -07:00
Olaoluwa Osuntokun
831afdc919
lnd: add secondary DNS seed for mainnet 2019-06-28 16:10:52 -07:00
Olaoluwa Osuntokun
0470d27603
server: add an exponential back off to initialPeerBootstrap
In this commit we add exponential back off to the `initialPeerBootstrap`
method. Before this change, if the DNS seed was down, we would hammer it
in an attempt to get our initial set of peers. This makes this section a
bit less aggressive, but saves log spam and also will hit the DNS
servers less frequently.
2019-06-28 16:10:50 -07:00
Olaoluwa Osuntokun
efab9cb584
server: extract backOffCeiling into bootstrapBackOffCeiling as constant 2019-06-28 16:10:49 -07:00
Olaoluwa Osuntokun
abe73ca6c1
server: don't re-use existing wait group for loops within initialPeerBootstrap 2019-06-28 16:10:48 -07:00
Olaoluwa Osuntokun
9c957193cf
discovery: remove retries from DNS based SampleNodeAddrs, allow down seeds
In this commit, we modify the `SampleNodeAddrs` method to no longer
retry itself. Instead, we'll now leave this task to the caller of the
this method. Additionally, we'll no longer return with an error if we
can't hit a particular seed. Instead, we'll log the error and move onto
the next seed. Finally, we'll also no longer require that the DNS seed
has a secondary seed in order to support a wider array of DNS seeds.
2019-06-28 16:10:47 -07:00
Olaoluwa Osuntokun
7f48ff6717 watchtower: fix linter errors 2019-06-28 16:10:41 -07:00
Olaoluwa Osuntokun
c68f747b4f
Merge pull request #3227 from 2xic/issue_3074
lnd: reject custom fee when force closing channel
2019-06-28 13:37:21 -07:00
Conner Fromknecht
d5da18827e
chainntnfs/interface: stricter conf dispatch for txindex 2019-06-27 20:24:23 -07:00
Conner Fromknecht
50f7f7f1b7
chainntnfs/txnotifier: stricter confirmation matching via scripts 2019-06-27 20:24:23 -07:00
Conner Fromknecht
e10d4e9047
chainntnfs/multi: replace txid with ConfRequest in txindex matching 2019-06-27 20:24:21 -07:00
Conner Fromknecht
922a980bd7
chainntnfs/interface: fix incorrect statuses for deserialization errors 2019-06-27 20:23:18 -07:00
Conner Fromknecht
91a44c001c
chainntnfs/multi: add interfaced ConfDetailsFromTxIndex
Removes the code duplication between bitcoind and btcd, by creating an
abstracted version of confDetailsFromTxIndex in the main chainntfns
package.
2019-06-27 20:23:16 -07:00
Olaoluwa Osuntokun
3c4c4f873b
Merge pull request #3248 from joostjager/querymc-binding-bug
routerrpc: fix loop variable binding bug in querymc
2019-06-27 17:25:58 -07:00
Olaoluwa Osuntokun
f12159c756
Merge pull request #3250 from OpinionatedGeek/master
Docker builds don't work with Loop
2019-06-27 16:58:54 -07:00