Commit Graph

9280 Commits

Author SHA1 Message Date
Johan T. Halseth
08803e2e41
lnd_test: fix race condition on simultanous force closes
This fixes an issue that would lead to a flake during intergration
tests. Carol would start up with a outdated state and attempt to force
close the channel. At the same time she would connect to Dave,
triggering the dataloss protection. Dave would respond by force closing
the channel, and Dave transaction would in some cases have a higher fee,
resulting Carol's tx being replaced.

We fix this by suspending Dave until Carol's close tx is mined.
2019-11-21 13:43:29 +01:00
Johan T. Halseth
2754f5dea0
mobile: 80 char limit readme 2019-11-21 12:35:52 +01:00
Johan T. Halseth
27abe4a301
mobile: halseth/falafel -> lightninglabs/falafel 2019-11-21 12:34:38 +01:00
Johan T. Halseth
1b543b919e
mobile: add comments to build script 2019-11-21 12:33:48 +01:00
Johan T. Halseth
b1e6d9c5cf
Merge pull request #1152 from guggero/macaroon-integrationtest
itest: add tests for macaroon authentication
2019-11-21 09:22:28 +01:00
Olaoluwa Osuntokun
1ad681782e
Merge pull request #3721 from Roasbeef/complete-abandon-channel
rpc+cnct: update AbandonChannel to also remove cnct and channel graph state
2019-11-20 20:00:41 -08:00
Olaoluwa Osuntokun
32965fd4be
rpc: update AbandonChannel to remove state from cnct, nursery and graph
In this commit, we update the `AbandonChannel` method to also remove the
state from the countract court as well as the channel graph. Abandoning
a channel is now a three step process: remove from the open channel
state, remove from the graph, remove from the contract court. Between
any step it's possible that the users restarts the process all over
again. As a result, each of the steps below are intended to be
idempotent.

We also update the integration test to assert that no channel is found
in the graph any longer. Before this commit, this test would fail as the
channel was still found in the graph, which can cause other issues for
an operational daemon.

Fixes #3716.
2019-11-20 17:42:58 -08:00
Olaoluwa Osuntokun
faa5f340fd
contractcourt: export ResolveContract, update to stop channel arb
In this commit, we export the `ResolveContract` method as it's useful as
a way to manually remove active contracts from the chain and channel
arbitrator. Along the way, we also update the method to also attempt to
stop the channel arb if it exists. This allows an external party to
remove all state with a single call. Before this commit, it was assumed
that this method was only called by the channel arb itself, when it was
already on the way to exiting after all contracts were fully resolved.

We also add a set of unit tests to exercise the intended behavior as
this method is now public.
2019-11-20 17:42:52 -08:00
Olaoluwa Osuntokun
f6614dd435
channeldb: add new AbandonChannel method 2019-11-20 17:42:49 -08:00
Johan T. Halseth
8755a35860
Merge pull request #3667 from cfromknecht/log-fixes
fundingmanager+routing log touch ups
2019-11-20 15:57:05 +01:00
Conner Fromknecht
2a6e41236c
lnwire/reply_channel_range: assert sorted encodings 2019-11-20 01:57:59 -08:00
Conner Fromknecht
3cc235a349
lnwire/query_short_chan_ids: assert sorted for plain encoding 2019-11-20 01:57:36 -08:00
Oliver Gugger
570275435b
lntest: add SCB repeated restore test 2019-11-20 10:57:20 +01:00
Conner Fromknecht
063f24f2ed
channeldb+routing: expose HTLCs in payment subscriptions
This commit modifies the FetchPayment method to return MPPayment structs
converted from the legacy on-disk format. This allows us to attach the
HTLCs to the events given to clients subscribing to the outcome of an
HTLC.

This commit also bubbles up to the routerrpc/router_server, by
populating HTLCAttempts in the response and extracting the legacy route
field from the HTLCAttempts.
2019-11-19 20:43:38 -08:00
Conner Fromknecht
68916eb4b7
routerrpc: add HTLCAttempts to PaymentStatus 2019-11-19 20:42:38 -08:00
Conner Fromknecht
01cecb1f27
multi: rename to FailureReasonPaymentDetails
Prior name is too long XD
2019-11-19 20:42:21 -08:00
Conner Fromknecht
e9eabed99c
lntest: assert mpp fields in listpayments 2019-11-19 20:41:58 -08:00
Conner Fromknecht
997500b08d
lnrpc+rpcserver: populate experimental MPP fields in ListPayment rpc 2019-11-19 20:41:44 -08:00
Conner Fromknecht
d1f245e791
lnrpc: expose new MPP fields on list payments 2019-11-19 20:41:27 -08:00
Conner Fromknecht
77602451b8
channeldb: add MPPayment from FetchPayments 2019-11-19 20:41:08 -08:00
Conner Fromknecht
9e019407fb
routing/control_tower: fix PaymentResult godocs 2019-11-19 20:40:44 -08:00
Conner Fromknecht
fbd599a2cb
multi: rename Payment.PaymentPreimage to Payment.Preimage
Preliminary step to exposing PaymentPreimage() as a method that can be
shared between legacy payments and mutli-path payments.
2019-11-19 20:40:29 -08:00
Conner Fromknecht
216b933d9b
config+itest: allow unsafe disconnect by default
This commit beings the process of deprecating unsafe-disconnect. Many
moons ago this was disallowed to prevent concurency bugs surrounding
reconnect. Despite the name, it has been safe to enable this feature for
well over a year, as several PRs have been merged that addressed the
possible issues that existed when the feature was added.
2019-11-19 20:13:04 -08:00
Conner Fromknecht
aa3e74043d
lntest/harness: improve error message for AssertChannelExists
predErr wasn't always being set when the predicate failed, replace with
wait.NoError.
2019-11-19 20:12:48 -08:00
Conner Fromknecht
c9c7216768
lntest/itest: remove global alice and bob from disconnect test
This will allow us to start Alice and Bob with additional arguments once
we switch to making unsafe-disconnect true by default.
2019-11-19 20:12:29 -08:00
Conner Fromknecht
8e10da03c7
lntest/itest: move chanpoint instantiation down to where it's used 2019-11-19 20:12:07 -08:00
Philipp Gillé
b03d8edcd9 docker: replace maintainer by label in Dockerfiles
The maintainer instruction is deprecated, see:
https://docs.docker.com/engine/reference/builder/#maintainer-deprecated

Also unified the maintainer value.
2019-11-19 18:06:17 -08:00
Olaoluwa Osuntokun
84c73f3025
Merge pull request #3740 from guggero/rest-client-receive-size
lnd: increase max message receive size for REST proxy
2019-11-19 17:15:24 -08:00
Johan T. Halseth
79051ac63f
Merge pull request #2520 from yancyribbens/choose-git-state-during-docker-prod-build
specify a tag, branch or commit during docker prod build
2019-11-19 14:56:09 +01:00
yancy ribbens
31736804f1 docker: specify a tag, branch or commit using docker build-arg 2019-11-19 02:17:52 -06:00
Joost Jager
a00a360018
Merge pull request #3739 from joostjager/incoming-restriction
routing: last hop restriction
2019-11-19 08:38:33 +01:00
Olaoluwa Osuntokun
887be8e9a9
Merge pull request #3713 from guggero/extract-gen-cert-pair
cert: extract common certificate related functions into own package
2019-11-18 17:11:48 -08:00
Joost Jager
f28941c7e4
routing+routerrpc+lncli: enable last hop restriction for payments 2019-11-18 21:03:03 +01:00
Joost Jager
814dbea745
routing: add last hop restriction 2019-11-18 21:03:01 +01:00
Wilmer Paulino
29f12411cd
Merge pull request #3732 from Crypt-iQ/router_race_1115
routing: fix race condition when resuming payments
2019-11-18 11:06:18 -08:00
Oliver Gugger
4cd06465ea
lnd: increase max message receive size for REST proxy 2019-11-18 14:06:14 +01:00
Joost Jager
0f6af2ed54
routing/test: fix outgoing restriction test
Previously both paths were equal cost, so it could also be a
coincedence that the path with the outgoing restriction would be chosen.
2019-11-18 12:09:43 +01:00
Joost Jager
5fde7977f4
routing/test: create path finding test context 2019-11-18 10:55:43 +01:00
Oliver Gugger
4728ac844a
chanbackup: continue recovery if channel already exists 2019-11-18 10:51:23 +01:00
Oliver Gugger
6a807b2d4c
mod: use tagged version of cert package 2019-11-18 09:51:30 +01:00
Oliver Gugger
b145378a4d
cert: create independent go modules 2019-11-18 09:44:55 +01:00
Oliver Gugger
dbbb169e06
lnd: use TLS code from cert package 2019-11-18 09:44:54 +01:00
Joost Jager
88f037f8fd
Merge pull request #3729 from joostjager/invoice-msat
invoicesrpc+lnrpc: add msat fields to invoices
2019-11-18 08:39:16 +01:00
Olaoluwa Osuntokun
4d7a151b47
README: update slack link 2019-11-15 15:00:31 -08:00
nsa
929167b9af
routing: fix race condition when resuming payments 2019-11-15 14:44:05 -05:00
Olaoluwa Osuntokun
cea2429489
Merge pull request #3730 from guggero/grpc-receive-size
Increase block size to 200 gigamegs!
2019-11-15 11:20:23 -08:00
Oliver Gugger
7470f696ae
cmd/lncli: increase gRPC max message receive size to 200MiB 2019-11-15 16:21:20 +01:00
Johan T. Halseth
d4d8b03d5b
Merge pull request #3705 from joostjager/payment-fail-log
routing+htlcswitch: improve failed payment logging
2019-11-15 10:41:48 +01:00
Johan T. Halseth
840051cc3d
Merge pull request #3644 from joostjager/commit-sweep-no-nursery
cnct: commit sweep without nursery
2019-11-15 10:38:57 +01:00
Joost Jager
fcbf1bc07a
invoicesrpc+lnrpc: add msat fields to invoices 2019-11-15 08:59:35 +01:00