Commit Graph

1194 Commits

Author SHA1 Message Date
Oliver Gugger
ab422ba184
lntest: give chain backend more time to get ready
This is a commit to attempt to fix Travis which runs on ARM64.
2024-03-18 17:08:17 +01:00
Oliver Gugger
d40312c36b
multi: move unit test backend funcs to new package
To avoid circular dependency issues between packages, we move the unit
test backend creation function to a new package in the lntest parent
package.
2024-03-18 16:13:39 +01:00
Oliver Gugger
9cd7285439
itest+lntest: use system wide unique ports everywhere
With this commit we create a new function that returns system wide
unique ports by using a single file to keep track of previously used
ports. We'll want to use this everywhere whenever we need to listen on a
new, random port during unit or integration tests.
Because we now have a unique source, we don't need to apply the port
offset that was used for the different tranches of parallel running
integration tests before.
2024-03-18 16:13:39 +01:00
Oliver Gugger
0bc3d29413
Merge pull request #8496 from aakselrod/locks-to-leases
multi: replace `LockOutpoint` with `LeaseOutput`
2024-03-18 03:34:56 -06:00
Alex Akselrod
4193505341
lntest/wait: increase DefaultTimeout for db access
This helps take into account the new limits on GHA runners.
2024-03-15 11:09:52 -07:00
Alex Akselrod
b9357fe830
multi: remove unused LockOutpoint and UnlockOutpoint 2024-03-13 09:50:18 -07:00
Olaoluwa Osuntokun
716c6dddd8
Merge pull request #8052 from bhandras/sql-invoices
sqldb: `InvoiceDB` implementation
2024-03-06 21:15:14 -06:00
Slyghtning
ef069b658d
itest: preparatory fee estimation changes 2024-03-05 09:24:27 +01:00
Andras Banki-Horvath
ba8e7550d5
itest: add the -nativesql flag to run SQL itests with native SQL tables 2024-03-01 10:08:10 +01:00
ffranr
cd566eb097
multi: fix fmt.Errorf error wrapping
Refactor fmt.Errorf usage to correctly wrap errors instead of using
non-wrapping format verbs.
2024-02-27 11:13:40 +00:00
Oliver Gugger
17645cd196
multi: add DecorateInputs to WalletController interface
This commit adds the new DecorateInputs method of the base wallet to the
WalletController interface.
2024-02-23 08:58:10 +01:00
Elle Mouton
4ab17525ce
itest+lntest: add wtclient session & tower management test 2024-02-20 14:44:39 +02:00
Oliver Gugger
ca5f23a647
Merge pull request #7372 from bhandras/listsweeps-range
walletrpc: add `startheight` parameter to the `ListSweeps` RPC
2024-02-02 02:03:16 -06:00
Andras Banki-Horvath
187e61da23
itests: add itest for ListSweeps's start_height 2024-02-01 21:02:25 +01:00
yyforyongyu
1057eb729d
multi: add unsafedisconnect as a dev config
This commit adds a new dev config `unsafedisconnect` as we sometimes
want to disconnect nodes in our itests.
2024-02-01 21:21:18 +08:00
Jesse de Wit
b6616bc040
itest: assert closing tx is set in waiting_close_channels 2024-01-29 14:16:51 +01:00
Keagan McClelland
07277172f8 itest+lntest: remove temporary hacks around broken coop close in itests 2024-01-23 14:31:51 -08:00
ziggie
ccac5c349c
multi: Add itest for a failed funding flow.
This adds an itest for a failed funding flow by our peer.
2024-01-22 16:45:38 +00:00
Calvin Zachman
2209badfe8
lntest: standby test nodes in remote signing configuration
Add the ability to create a test harness with nodes in a
remote signing configuration.
2024-01-10 09:18:30 -06:00
ziggie
a1678fa9b7
itest: multi part payments test fix.
Because we need to account for an addtional fee buffer we need to
increase channel capacities for the multi payment tests.
2024-01-08 16:47:47 +01:00
Thabokani
55072bfd5e
sweep+lntest: fix typos 2024-01-02 19:23:30 +08:00
ziggie
1ca3732f25
itest: add an itest for the removal of a tx. 2023-12-12 14:18:16 +01:00
ziggie
2bc6b22a43
sweeper+lntest: remove conflicting tx
For anchor channels and neutrino backends we need to make sure
that sweeps of the same exclusive group are removed when one of
them is confirmed. Otherwise for neutrino backends those sweep
transaction are always rebroadcasted and are blocking funds in
the worst case scenario.
2023-12-12 13:11:48 +01:00
erik
16f05105c1 itest: add gettransactiondetails 2023-12-10 22:14:18 +01:00
ErikEk
f0bc6d804c rpc: add gettransaction endpoint to walletrpc sub-server 2023-12-10 22:14:12 +01:00
yyforyongyu
9cc57fa371
lntest: add verbose logging when node fails to shutdown 2023-11-25 07:25:18 +08:00
Olaoluwa Osuntokun
dacb86fdbc
Merge pull request #8106 from orbitalturtle/sign-tagged-hash-rpc
lnrpc: add tagged hash option to signer.SignMessage/VerifyMessage rpcs
2023-11-06 17:05:35 -08:00
Olaoluwa Osuntokun
c382268201
Merge pull request #8104 from Roasbeef/taproot-chans-nonce-double-init
multi: skip InitRemoteMusigNonces if we've already called it
2023-10-31 13:02:54 -07:00
Slyghtning
20e731b636
itest: assertions to check channel status 2023-10-31 10:10:41 -07:00
yyforyongyu
cc6b20bf2f
lntest: mine empty blocks when cleaning up force close
Fix this test flake,
```
harness_miner.go:218:
        	Error Trace:	/home/runner/work/lnd/lnd/lntest/harness_miner.go:218
        	            				/home/runner/work/lnd/lnd/lntest/harness.go:1641
        	            				/home/runner/work/lnd/lnd/lntest/harness.go:1515
        	            				/home/runner/work/lnd/lnd/itest/lnd_wipe_fwdpkgs_test.go:121
        	            				/home/runner/work/lnd/lnd/lntest/harness.go:286
        	            				/home/runner/work/lnd/lnd/itest/lnd_test.go:136
        	Error:      	Received unexpected error:
        	            	want 1, got 0 in mempool: []
        	Test:       	TestLightningNetworkDaemon/tranche02/91-of-135/neutrino/wipe_forwarding_packages
        	Messages:   	assert tx in mempool timeout
    harness.go:339: finished test: wipe_forwarding_packages, start height=1636, end height=1653, mined blocks=17
    harness.go:345: test failed, skipped cleanup
```
2023-10-31 16:51:24 +08:00
Orbital
ed373baed0
multi: add tag option to SignMessageSchnorr 2023-10-30 21:39:39 -05:00
Jonathan Harvey-Buschel
6edd1e1220
multi: add GetBlockHeader to BlockChainIO 2023-10-27 11:05:27 -04:00
Amin Bashiri
0c64a183cf
lntest: add http header timeout to config 2023-10-17 11:25:06 -06:00
Elle Mouton
1211e7eb7b multi: use "bitcoin" chain name constant
Make use of the `bitcoinChainName` constant instead of re-writing the
"bitcoin" string.
2023-10-06 16:34:47 -07:00
Olaoluwa Osuntokun
ce93b236aa
input+lnwallet: modify musig2 interfaces use explicit optional local nonces
In this commit, we modify the musig2 interfaces to instead use an
explicit value for the local nonces. Before this commit, we used the
functional option, but we want to also support specifying this value
over RPC for the remote signer. The functional option pattern is opaque,
so we can't get the nonce value we need. To get around this, we'll just
make this an explicit pointer, then map this to the functional option at
the very last moment.
2023-09-18 11:42:13 -07:00
Oliver Gugger
590dc0c3b3
itest: unify PSBT channel funding tests, add taproot
With this commit we unify three existing PSBT channel funding
integration tests into a single one with the goal of testing all three
cases with simple taproot channels as well.
2023-08-29 10:57:38 +02:00
Olaoluwa Osuntokun
a2b277cf1d
multi: fix linter errors 2023-08-22 16:34:15 -07:00
Olaoluwa Osuntokun
7c5be4d056
itest: add taproot support for all variants of runMultiHopHtlcClaimTest 2023-08-22 16:34:06 -07:00
Olaoluwa Osuntokun
da3ab2728b
itest: add taproot chan support to basic channel funding
We keep in line with the existing test that uses implicit negotiation.
In the future, we should modify to also have explicit negotiation as
well.
2023-08-22 16:33:56 -07:00
Olaoluwa Osuntokun
2b92c15ca9
input: update the mock signer for the musig2 API changes 2023-08-22 16:33:19 -07:00
Olaoluwa Osuntokun
91e855d59a
lntest: update SingleMockSigner to support musig2 2023-08-22 16:32:25 -07:00
Olaoluwa Osuntokun
9a65806c09
input+wallet: extract musig2 session management into new module
In this commit, we extract the musig2 session management into a new
module. This allows us to re-use the session logic elsewhere in unit
tests so we don't need to instantiate the entire wallet.
2023-08-22 16:30:39 -07:00
Slyghtning
14be2cdae0
itest: batch channel fee params 2023-07-26 09:49:22 +02:00
Slyghtning
396cffcd70
itest: anchor reserve test for SendOutputs 2023-07-24 13:07:01 +02:00
yyforyongyu
29124dd3b4
itest+lntest: add helper methods to manage temp miners
This commit adds several methods to easily spawn a temp miner and
connect/disconnect it from the original miner.
2023-06-19 14:04:24 +08:00
Torakushi
77d3f00c3b
walletrpc+btcwallet: no custom account with various key scopes
Currently, a user can create a custom account with various key scopes.
This is not a desired behaviour.
2023-06-14 09:58:53 +02:00
Oliver Gugger
56dba2df03
multi: update linter, fix new issues 2023-06-13 11:58:33 +02:00
Oliver Gugger
3d53d6909a
Merge pull request #7681 from yyforyongyu/btcwallet-mempool
mod: update btcwallet's version
2023-05-22 10:24:17 +02:00
yyforyongyu
c6cfc425a0
lntest+itest: clean mempool in testHtlcTimeoutResolverExtractPreimageRemote 2023-05-20 00:33:04 +08:00
shaurya947
84fff6e0a7
itest: update channel creation itest with Memo field logic
We test both the happy path (valid memo is returned when querying),
as well as the unhappy path (invalid memo rejects the open action).
To accomplish this, we update the OpenChannelParams struct inside
the harness to accept the Memo.
2023-05-18 13:02:30 -04:00
yyforyongyu
4bbb4ed978
lntest: skip killing dead process 2023-05-09 21:41:53 +08:00
Slyghtning
903b5dde89 rpc: SendOutputs considers anchor reserve 2023-04-29 22:44:23 +02:00
yyforyongyu
e547118de0
lntest: increase channel close timeout 2023-04-20 18:52:46 +08:00
yyforyongyu
24c028ff52
lntest: make sure error from shutdown is caught 2023-04-20 18:52:46 +08:00
Oliver Gugger
d9396741fa
Merge pull request #7607 from yyforyongyu/itest-fix-close-chan
lntest: add temporary wait when closing channels
2023-04-19 10:48:43 +02:00
yyforyongyu
e715b8ed1f
itest+lntest: add itest for mempool preimage watch 2023-04-19 01:18:19 +08:00
yyforyongyu
774db0dfe1
lntest: add more methods to assert mempool state 2023-04-19 01:18:19 +08:00
yyforyongyu
6aaca568c1
lntest: add temporary wait when closing channels
A temporary solution to avoid the `link failed to shutdown` error.
2023-04-19 01:07:04 +08:00
Torakushi
0445fef7ad
funding: use p2tr by default for batch_open_channel
In LND v0.15.1, batch_open_channel used p2tr by default
for change output. However, in a later version, a breaking
change has been fixed in FundPSBT to make the change type
configurable (default to p2wkh). As batch_open_channel
uses FundPsbt, we need to put back p2tr as default for
change output
2023-04-17 17:37:51 +02:00
Bjarne Magnussen
d7f578b0d9 lntest/itest: adds tests for fundmax flag of cli:openchannel 2023-04-05 23:09:12 +02:00
ziggie
b649b552e6
itest: add test when signing without UTXO data
Adds a testcase in the itest suite which tests that psbt
input data needs its corresponding UTXO data when signing.
2023-03-31 08:56:15 +02:00
Oliver Gugger
ec5b95c9a9
Merge pull request #7517 from yyforyongyu/fix-funding-locked
Replace `FundingLocked` with `ChannelReady`
2023-03-30 17:22:17 +02:00
Oliver Gugger
78351e1730
Merge pull request #7531 from yyforyongyu/fix-web-fee-estimator
Fix web fee estimator test flake and increase retry timeout for channel close
2023-03-22 20:56:49 +01:00
yyforyongyu
a79ab8bafd
lntest: increase wait time to 5s when failed to close channel 2023-03-22 23:55:11 +07:00
Elle Mouton
6f4034f7d1
lntest/itest: add session deletion itest 2023-03-20 16:51:51 +02:00
yyforyongyu
6b9217acfc
multi: replace FundingLocked related docs
This commit replaces `FundingLocked` found in docs using the following
command,
```shell
find . -name "*.go" -exec sed -i '' 's/FundingLocked/ChannelReady/g' {} \;
find . -name "*.go" -exec sed -i '' 's/FundingLock/ChannelReady/g' {} \;
```
2023-03-17 18:21:59 +08:00
yyforyongyu
20e53e85b4
itest+lntest: make sure states are cleaned when tests end
This commit changes how the node's state is updated to make sure the
test cleans up the node's state.

Also `testLookupHtlcResolution` is fixed with a cleanup.
2023-03-15 00:01:40 +08:00
yyforyongyu
b8373f5628
lntest: use trace log level for discovery 2023-03-08 21:03:37 +08:00
Elle Mouton
de961af5c6
lntest/wait: handle the case where the pred func hangs
This commit fixes a bug in the wait.NoError function. If the predicate
function, f, passed to the NoError function would hang for the full
timeout, then the `predErr` would remain nil and so a nil error would be
returned from the function. This commit handles that case.
2023-03-06 13:10:43 +02:00
yyforyongyu
c26917ee1f
multi: rename LookupHtlc to LookupHtlcResolution for clarity 2023-03-01 01:47:08 +08:00
yyforyongyu
38063a4720
itest+lntest: add testLookupHTLC 2023-02-27 16:59:16 +08:00
yyforyongyu
86373645b6
lntest: skip logging if there's no error in shutdown 2023-02-27 16:21:54 +08:00
Slyghtning
4c198bdfde itest: check peer alias in ListChannels 2023-02-24 10:49:11 +01:00
yyforyongyu
be6727d497
lntest: add more outputs to standby nodes and skip shutdown error 2023-02-24 01:35:17 +08:00
yyforyongyu
d6043c26a7
itest: temp fix for closing channels 2023-02-24 01:35:16 +08:00
yyforyongyu
28744d89c7
lntest: fix linter stylecheck and containedctx 2023-02-24 01:35:16 +08:00
yyforyongyu
0c50d4379f
itest: fix test flake in testZeroConfReorg 2023-02-24 01:35:16 +08:00
yyforyongyu
d7c38b2c58
lntest: add node name to assertions 2023-02-24 01:35:16 +08:00
yyforyongyu
4e2268b8b1
lntest: update readme re different code used in lntest 2023-02-23 21:56:12 +08:00
yyforyongyu
d5af76cb29
itest+lntest: add a dedicated timeout for sending payments
This commit adds a new timeout `PaymentTimeout` that's used when sending
payments. A potential bug is also marked in the test.
2023-02-23 21:56:11 +08:00
yyforyongyu
ae6e109f35
lntest: catch window conn error in EnsureConnected
This commit also removes the first connection attempt inside
`SetupStandbyNodes` as the nodes are always connected inside each
subtest. The error returned from connection is now logged for debugging.
2023-02-23 21:56:11 +08:00
yyforyongyu
29b7903a28
lntest: use rpc-graph-cache-duration=100ms in itest 2023-02-23 21:56:10 +08:00
yyforyongyu
17f08a87db
lntest+itest: remove assertion while iterating mempool 2023-02-23 21:56:10 +08:00
yyforyongyu
28203fc77c
lntest+itest: fix testDataLossProtection 2023-02-23 21:56:10 +08:00
yyforyongyu
d97f52d12a
lntest: shutdown running nodes when test fails
Fixes the zip log files failure we see.
2023-02-23 21:56:10 +08:00
yyforyongyu
0e8a525f94
lntest: change wait timeout values 2023-02-23 21:56:10 +08:00
yyforyongyu
2bc6aabf96
itest: fix make lint
This commit fixes the issues reported by the linter.
2023-02-23 21:56:10 +08:00
yyforyongyu
8b9ccfe310
itest: fix test async_bidirectional_payments 2023-02-23 21:56:09 +08:00
yyforyongyu
9d1d629001
itest+lntest: migrate lntemp to lntest
This commit performs the takeover that `lntemp` is now promoted to be
`lntest`, and the scaffolding is now removed as all the refactoring is
finished!
2023-02-23 21:56:09 +08:00
yyforyongyu
94c64a886e
lntemp+itest: remove unused code to prepare lntemp's takeover
This commit removes the old code living in `lntest` to prepare
`lntemp`'s takeover.
2023-02-23 21:56:08 +08:00
yyforyongyu
106fbeae85
multi: move timeouts into package wait
This commit moves the definition of timeout values into package `wait`,
preparing the incoming merging of `lntemp` and `lntest`.
2023-02-23 21:56:08 +08:00
yyforyongyu
0bc86a3b4b
multi: move itest out of lntest
This commit moves all the test cases living in `itest` out of `lntest`,
further making `lntest` an independent package for general testing.
2023-02-23 21:56:08 +08:00
yyforyongyu
142b00711f
itest+github: remove flag temptest
This commit removes flag `temptest` and all its usage, marking the start
of promoting our `lntemp` to be `lntest`!
2023-02-23 21:56:08 +08:00
yyforyongyu
e500074017
itest: refactor testBidirectionalAsyncPayments 2023-02-23 21:56:08 +08:00
Oliver Gugger
38dc67e1ef
Merge pull request #6815 from bitromortac/2205-bimodal
pathfinding: probability for bimodal distribution
2023-02-15 14:19:32 +01:00
bitromortac
2ccdfb1151
lncli+routerrpc: adapt mc api to dynamic estimator
The active probability estimator can be switched dynamically using the
`Set/GetMissionControl` API, maintaining backward compatibility. The
lncli commands `setmccfg` and `getmccfg` are updated around this
functionality. Note that deprecated configuration parameters were
removed from the commands.
2023-02-14 13:34:25 +01:00
Oliver Gugger
f245591e4b
Merge pull request #7386 from guggero/remote-signer-p2tr-inputs
remote signer: fix channel funding with mixed funding input types
2023-02-14 12:34:11 +01:00
Torakushi
cdb015223b
walletrpc+lnwallet: possibility to define an address type for changes in FundPsbt
By default, P2TR addresses are used for changes. However, some users
might encounter some problems with this change. We add the possibility
to define a custom address type in FundPsbt for default/imported accounts
(only P2TR for now). If no address type is specified for these accounts,
we will use P2WKH by default.
2023-02-08 12:35:44 +01:00
Oliver Gugger
c6c52b8eb3
itest: add coverage for np2wkh in remote signing 2023-02-07 22:15:11 +01:00
Oliver Gugger
5d18fccd42
itest: reproduce remote signing issue
This commit attempts to reproduce the issue as described in #7276.
2023-02-07 22:15:08 +01:00