1343 Commits
Author SHA1 Message Date
Olaoluwa Osuntokun 32fa48df7d Merge pull request #5770 from Crypt-iQ/dust_threshold_0619
lnwallet+htlcswitch: make Switch dust-aware
2021-09-30 20:20:19 -07:00
eugene 702b3a3258 multi: introduce config-level DustThreshold for defining threshold 2021-09-30 13:44:35 -04:00
Oliver Gugger 0b4e03f5fc multi: add golang 1.17 compatible build tags
With go 1.17 a change to the build flags was implemented:
https://go.googlesource.com/proposal/+/master/design/draft-gobuild.md

The formatter now automatically adds the forward-compatible build tag
format and the linter checks for them, so we need to include them in our
code.
2021-09-29 17:31:37 -07:00
Oliver Gugger 7aa9661d42 lntest: use errgroup for node startup
This commit fixes a nil pointer issue when a node fails to start up.
Because require.NoErrorf() doesn't abort a test immediately if run
inside a goroutine, this lead to the test continuing with nil node
references which lead to a panic later on.
2021-09-29 17:31:32 -07:00
Olaoluwa Osuntokun dd4cf268a0 Merge pull request #5804 from guggero/itest-setup-error
lntest: use errgroup for node startup [skip ci]
2021-09-29 17:31:17 -07:00
eugene fdcd726f9a multi: replace DefaultDustLimit with script-specific DustLimitForSize
This commit updates call-sites to use the proper dust limits for
various script types. This also updates the default dust limit used
in the funding flow to be 354 satoshis instead of 573 satoshis.
2021-09-29 13:33:10 -04:00
Oliver Gugger 493262e253 itest: fix flake in update_channel_status itest
This commit fixes a flake in the channel status update itest that
occurred if Carol got a channel edge update for a channel before it
heard of the channel in the first place. To avoid that, we wait for
Carol to sync her graph before sending out channel edge or policy
updates.

As always when we touch itest code, we bring the formatting and use of
the require library up to date.
2021-09-29 17:50:01 +02:00
Oliver Gugger 5aeb728f80 lntest: use errgroup for node startup
This commit fixes a nil pointer issue when a node fails to start up.
Because require.NoErrorf() doesn't abort a test immediately if run
inside a goroutine, this lead to the test continuing with nil node
references which lead to a panic later on.
2021-09-29 11:57:53 +02:00
yyforyongyu c525c3d34e itest: test wipe forwarind packages 2021-09-23 13:24:11 +08:00
Joost Jager daeb96fe0a postgres: add itest 2021-09-21 10:44:23 +02:00
Olaoluwa Osuntokun 9264185f5b Merge pull request #5101 from guggero/macaroon-interceptor
Add macaroon based RPC middleware interceptor
2021-09-20 19:15:04 -07:00
Oliver Gugger 4b43e977b2 lntest: add RPC middleware itests 2021-09-20 17:04:39 +02:00
Oliver Gugger 0cc260bfc7 itest: add _test suffix to test file 2021-09-20 17:04:38 +02:00
Oliver Gugger 045765111a multi: use safe copy for macaroons
Fixes #4383 by adding a new SafeCopyMacaroon function that correctly
clones all caveats and prevents modifications on the copy from affecting
the original.
2021-09-20 13:05:46 +02:00
Oliver Gugger 4b7452a35e lnrpc+itest: fix write deadline issue with WS ping
Fixes #5680.
To make sure we're always reading from the WebSocket connection, we need
to always have an ongoing (but blocking) conn.ReadMessage() call going
on. To achieve this, we do the read in a separate goroutine and write to
a buffered channel. That way we can always read the next message while
the current one is being forwarded. This allows incoming ping messages
to be received and processed which then leads to the deadlines to be
extended correctly.
2021-09-20 12:21:03 +02:00
yyforyongyu 66dae6ecf7 itest: put node.CloseChannel inside wait 2021-09-17 07:50:44 +08:00
yyforyongyu 7038d0e5c8 itest: fix typo 2021-09-17 07:50:43 +08:00
yyforyongyu cdec34c5f7 itest: remove the method waitForChannelUpdate
This commit removes the method waitForChannelUpdate, and uses
node.WaitForChannelPolicyUpdate instead.
2021-09-17 07:50:43 +08:00
yyforyongyu 06fa17513c itest: move tests by their category 2021-09-17 07:50:43 +08:00
yyforyongyu 87c13d31b4 itest: watch channel policy updates in harness node 2021-09-17 07:50:43 +08:00
yyforyongyu d2277ac915 itest: replace chanOpen bool with chanWatchType 2021-09-17 07:50:42 +08:00
yyforyongyu a58543d1c7 itest: remove extra graph topology subscription 2021-09-17 07:50:42 +08:00
yyforyongyu 92cd6657c5 lntest: refactor handle close channel update 2021-09-17 07:50:42 +08:00
yyforyongyu 0701834a5d lntest: refactor handle update open channel 2021-09-17 07:50:42 +08:00
yyforyongyu a1024163fe itest: add more verbose log and print node state 2021-09-17 07:50:42 +08:00
Turtle 0120c86687 itest: Test new RPC call for checking macaroon permissions 2021-09-14 16:27:02 -05:00
Turtle ba17842e34 itest: Test new BakeMacaroonRequest for allowing external permissions 2021-09-14 16:27:02 -05:00
Joost Jager 3827d15ca6 lntest/itest: fix SendPaymentAMP test 2021-09-14 18:53:17 +02:00
yyforyongyu c4913e6f4a itest: require server being started when creating node
We now require the lnd to be fully started when creating a new node
using newNode.
2021-09-14 07:34:10 +08:00
Andras Banki-Horvath 9bf04f9870 itest+etcd: save etcd logs along the node logs 2021-09-10 14:40:57 +02:00
Andras Banki-Horvath 6c2d8bb176 etcd: enable optional log file for embedded etcd log output
In this commit we add an extra config for enabling logging to an
external file when using embedded etcd. This can be useful when running
integration tests to see more details about etcd related issues.
2021-09-10 14:40:54 +02:00
Oliver Gugger 7a9ee48cf1 itest: add batch funding test 2021-09-03 18:39:45 +02:00
Wilmer Paulino 523eef5cf4 lntest: use explicit channel commitment negotiation for multi-hop itests 2021-08-30 19:17:42 -07:00
Wilmer Paulino 449f207217 lntest: replace commitType type with rpc alternative 2021-08-30 19:17:39 -07:00
Torkel Rogstad d6045a0fd5 lntest: avoid global ServeMux
Using the default, global ServeMux prevents the same process from
calling `lntest.NewNetworkHarness` multiple times, because we get a
panic when registering HTTP routes.

Instead, we use the ServeMux beloning to the fee service struct.
2021-08-27 11:30:01 +02:00
Oliver Gugger 23cd231483 Merge pull request #4717 from guggero/xprv-wallet-init
walletunlocker: Allow wallet to be created from extended master root key (xprv)
2021-08-24 13:01:41 +02:00
Oliver Gugger c74c46147f Merge pull request #5646 from yyforyongyu/fix-context-leak
itest: properly handle the creation of timeout context
2021-08-24 10:44:36 +02:00
Oliver Gugger 0822573743 itest: test wallet recovery from extended master root key
We add an additional test case to the on-chain fund recovery test that
tries restoring the same wallet from the extended master root key
instead of the seed.
2021-08-24 10:37:34 +02:00
Oliver Gugger 3fd944e7e4 lntest: allow node restore by extended root key
To allow testing restoring a node from an extended master root key, we
add an extra argument to the RestoreNodeWithSeed function.
2021-08-24 10:37:33 +02:00
yyforyongyu 104b7a09db itest: fix inheritance when creating timeout ctxt
This commit fixes the issue where a wrong context being inherited to
create a timeout context. When a parent context timed out, all its
children contexts also timed out, even the children contexts had a
larger timeout value. This means it only makes sense to inherite from a
parent when its children have smaller timeout value. Given the setup of
the itest, all the timeout contexts need to be created from a context
background(hence no timeout on the parent) unless there's an explicit
timeout bound we want to set.
2021-08-24 12:28:40 +08:00
yyforyongyu edffd65e92 itest: manage context timeout in utils.go
This commit finishes moving the context management into utils.go.
2021-08-24 12:28:40 +08:00
yyforyongyu a6c5255e77 itest: manage context timeout inside completePaymentRequests 2021-08-24 12:28:39 +08:00
yyforyongyu 5a94919b7e itest: manage context timeout inside network harness
This is the last commit to refactor the context management such that all
the timeout are managed inside the network harness.
2021-08-24 12:28:35 +08:00
yyforyongyu d9e9238b0c itest: make WaitForTxInMempool a private method 2021-08-24 12:16:46 +08:00
yyforyongyu 16403da91e itest: manage context in CloseChannel and AssertChannelExists 2021-08-24 12:16:46 +08:00
yyforyongyu 3e26d77f91 itest: manage context inside WaitForChannelOpen and WaitForChannelClose 2021-08-24 12:16:46 +08:00
yyforyongyu 1629858a3d itest: manage context inside assertions - II
This commit continues moving context management into assertions.
2021-08-24 12:16:40 +08:00
yyforyongyu 02e4c3ad4c itest: manage context inside assertions - I
This commit changes the methods assertTxLabel, assertReports,
assertSweepFound, and sendAndAssertSuccess to manage their own context
with deadline.
2021-08-24 11:17:20 +08:00
yyforyongyu 74f8fe482d itest: manage context inside EnsureConnected 2021-08-24 11:06:44 +08:00
yyforyongyu d10d1e3e24 itest: manage context inside SendCoins 2021-08-24 11:06:44 +08:00