Commit Graph

9978 Commits

Author SHA1 Message Date
da16a196a3 Merge pull request #4488 from cfromknecht/enforce-min-cltv-18
multi: enforce conservative minimum for user-chosen CLTV deltas
2020-07-27 11:18:08 -07:00
53ab22305d zpay32: rename to DefaultAssumedFinalCLTVDelta
This renames the paramter to clarify that this value is only used when
no CLTV value was decoded from the payment request
2020-07-24 13:14:03 -07:00
6622c4814e multi: enforce routing.MinCLTVDelta=18 for invoices + chanupd
This commit clamps all user-chosen CLTVs in LND to be at least 18, which
is the new conservative value used in the sepc. This minimum is applied
uniformly to forwarding CLTV deltas (via channel updates) as well as
final CLTV deltas for new invoices.
2020-07-24 13:13:56 -07:00
213c51a281 channeldb/migration_01_to_11: isolate zpay32 decoding
This commit copies over the relevant zpay32 decoding logic to ensure
that our prior migrations aren't affected by upcoming changes to the
zpay32 package, most notably changes to the default final_cltv_expiry
and expiry values.
2020-07-24 13:13:47 -07:00
73256e6d0e zpay32: fix linter errors in encode/decode 2020-07-24 13:13:39 -07:00
49c601e62a zpay32: split off encoding/decoding into own files
As a preliminary step to isolating zpay32 in migrations 01-11, we'll
split out the encoding and decoding logic into separate files. Migration
11 only requires invoice decoding, so this prevents us from needing to
copy in the encoding logic that would otherwise be unused.
2020-07-24 13:13:29 -07:00
e64e71d86d Merge pull request #4482 from guggero/travis-github-split
github+travis: split CI tasks between Travis and GitHub
2020-07-24 09:42:14 +02:00
17b8b7ea0c github+travis: split CI tasks between Travis and GitHub
To free up build in Travis, we decided to run the non-flaky parts of
the CI pipeline in GitHub Workflows/Actions only. The integration tests
on the other hand are removed from GitHub because individual actions
cannot be restarted there which caused us to restart the whole workflow
if one test was flaky.

This split should give us the best of both worlds: Fast run of small
checks, linting and unit tests with an easy overview of what failed in
the PR directly. And more free build slots on Travis to do more advanced
integration tests on other architectures and/or operating systems. And
the option to restart a single flaky integration test on Travis.
2020-07-23 15:06:05 +02:00
8d2a3ce8ac github: add mobile compilation to GitHub workflow 2020-07-23 15:06:04 +02:00
cfbc365c20 Merge pull request #4478 from bjarnemagnussen/features-typos
lnwire: fix minor typos in wumbo features
2020-07-20 16:34:13 -07:00
14a047ffba Merge pull request #4455 from cfromknecht/psbt-no-publish
PSBT: add no_publish flag for safe batch channel opens v2
2020-07-20 12:04:10 -07:00
954e292895 lnwire: fix minor typos in wumbo features 2020-07-20 08:36:39 +02:00
77549f1fb8 Merge pull request #4384 from bhandras/atpl_bc_topk
add modified greedy topK centrality heuristic to autopilot
2020-07-17 18:27:42 +01:00
afbbeae4f2 autopilot+test: testify betweenness centrality tests
The commit also reindents the source to conform with ts=8 guideline.
2020-07-17 16:12:55 +02:00
ccabad8607 autopilot: add TopCentrality to the available heuristics 2020-07-17 16:12:54 +02:00
8373b2ad20 autopilot: add greedy "TopK" centrality heuristic
This commit creates a new autopilot heuristic which simply returns
normalized betweenness centrality values for the current graph. This
new heuristic will make it possible to prefer nodes with large
centrality when we're trying to open channels. The heuristic is also
somewhat dumb as it doesn't try to figure out the best nodes, as that'd
require adding ghost edges to the graph recalculating the centrality as
many times as many nodes there are (minus the one we already have
channels with).
2020-07-17 16:12:54 +02:00
82ddccee0b autopilot+test: make centrality test data available for other tests 2020-07-17 16:12:53 +02:00
906b0b707b atpl: remove unneeded extra filter on address availability
This commit removes an extra filter on address availability which is not
needed as the scored nodes are a already prefiltered subset of the whole
graph where address availability has already been checked.
2020-07-17 16:12:48 +02:00
0fab14502d Merge pull request #4467 from cfromknecht/hh-cache-followup
chainntfns: disable height-hint cache followups
2020-07-17 09:57:37 +02:00
9d147c55d7 Merge pull request #4469 from halseth/mobile-global-config
mobile+make: restore mobile compilation
2020-07-17 09:55:35 +02:00
935fa7f12d make+mobile: pass expected falafel version to build script 2020-07-17 08:49:03 +02:00
39241dcdc7 mobile: use single brackets for bash if check
Double brackets are sh specific.
2020-07-17 08:49:03 +02:00
d41ca81aad make: add goimports dep
Required by mobile bindings generate script.
2020-07-17 08:49:02 +02:00
b55b7025b0 travis: sanity check mobile build compilation 2020-07-17 08:49:02 +02:00
fd8e6c98b9 make: fetch falafel dependency for mobile-rpc 2020-07-17 08:49:02 +02:00
7a30332619 mobile: use single "mobile" build tag instead of "ios" and "android"
Since the "android" build tag conflicts with a go compiler build tag, we instead use a single "mobile" tag for both platforms.
2020-07-17 08:49:02 +02:00
f360ec71bf mobile: restore config parsing for mobile bindings
A recent commit moved the config parsing out of lnd's Main method. This
commit makes the mobile bindings compile with this change.
2020-07-17 08:49:02 +02:00
6d815379d4 build: bump Dockerfile Go version to 1.14.5 2020-07-16 17:19:53 -07:00
26cff10c19 Merge pull request #4344 from matheusdtech/lntest-improvs
lntest+itest improvements
2020-07-15 18:01:33 -07:00
0f7c20977b chainntnfs: unit test disabled height hint cache behavior 2020-07-14 19:25:46 -07:00
47ce718d29 chainntnfs: wrap disabled height hint query logs 2020-07-14 19:25:03 -07:00
7e08322d40 chainntfns: rename to CacheConfig and QueryDisabled 2020-07-14 19:24:44 -07:00
b907035438 Merge pull request #4412 from aantonop/height_hint_cache_query_disable
New config option - disable height hint cache queries
2020-07-14 18:58:15 -07:00
4dc9696b5b Merge pull request #4460 from Roasbeef/failure-resolution-str
invoices: add String() method to failure resolution outcome
2020-07-14 16:40:53 -07:00
f2b9e951a3 Merge pull request #4465 from yyforyongyu/fix-make-rpc-format
trivial: fix make rpc-format
2020-07-14 18:05:35 +02:00
9fa81af2a8 trivial: fix make rpc-format 2020-07-14 18:30:46 +08:00
2f0ccaead1 Merge pull request #4429 from Roasbeef/i-wumbo-you-wumbo-he-she-wumbo
multi: I wumbo, you wumbo, he she wumbo
2020-07-13 16:06:27 -07:00
aa8539501f Merge pull request #4456 from Roasbeef/windows-scb-close
chanbackup: always close SCB file after reading
2020-07-13 16:06:03 -07:00
0e73d2d243 itest: assert unspent before performing CPFP
This reduces the flakiness of the CPFP test by asserting the wallet has
seen the unspent output before attempting to perform the walletkit's
BumpFee method.

Previously the attempt to bump the fee of the target transaction could
be made before the wallet had had a chance to fully process the
transaction, causing a flaky error.
2020-07-13 13:24:22 -03:00
3e1b4eadbb itest: switch to openChannelTimeout
This switches a few call sites that used a different timeout when
openening channels to the correct openChannelTimeout, which better deal
with flakes in the CI.
2020-07-13 13:24:22 -03:00
af660d0152 itest: improve backup check during wt test
This replaces an outstanding sleep for a check for a specific state
during the test for watchtower use: specifically, that the backup has
been sent to the watchtower prior to shutting down Dave.

This reduces flakiness in the test that could occur if the Dave shutdown
without the backup being comitted to the watchtower, causing the rest of
the test to fail.
2020-07-13 13:24:22 -03:00
91538884da lntest: wait for valid tls cert and macaroon files
This changes the wait during node connection to check both for the
existance as well as for the validity of the tls cert and macaroon
files.

This ensures that nodes in the process of starting up don't inadvertedly
cause a connection error due to not yet having written the entire file.
2020-07-13 13:24:22 -03:00
9f036b4310 lntest: wait for graph subscription on node init
During the channel_backup_restore/restore_during_unlock itest, the node
is restored from seed and immediately restarted. Depending on specific
timing of the machine, the test harness might not have had the graph
subscription processed before the node shuts down, causing the harness
to trigger a panic.

Reducing this to a synchronous subscription attempt means node
initialization necessarily waits until the subscription is done before
attempting to restart, reducing flakiness and ensuring correct behavior.
2020-07-13 13:24:22 -03:00
f52ee770f4 lntest: use ctx when not using macaroons
This forces the Dial attempt to succeed or fail before proceeding with
node setup.

We also log on the node a failure to establish the graph subscription
before panicking so that we can more easily find issues.
2020-07-13 13:24:22 -03:00
19873f721f lntest: more descriptive errors for CloseChannel
This improves the error reporting for the harness' CloseChannel so that
the exact step where closure fails can be better indicated.

This is to help debug some flaky failures in the CI.
2020-07-13 13:24:22 -03:00
81f6b4dcfe invoices: add String() method to failure resolution outcome
In this commit, we add a String() method to the failure resolution
outcome. Without this, logs aren't very useful as the integer version of
the outcome is printed rather than the description.
2020-07-12 17:25:53 -07:00
f61e1ac568 lntest/itest: add new test for wumbo channels 2020-07-10 16:27:20 -07:00
6c322c5eb2 lntest/itest: fix line wrapping in funding test case 2020-07-10 16:27:18 -07:00
6f208bce40 server+funding: use max values for csv delay and confs for wumbo channels 2020-07-10 16:27:17 -07:00
67b8bca5b2 rpc: allow outgoing wumbo channel requests if wumbo is enabled 2020-07-10 16:27:16 -07:00