Commit Graph

1162 Commits

Author SHA1 Message Date
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
Oliver Gugger
58d0707a77
itest: test both MuSig2 versions 2023-02-06 10:50:30 +01:00
Oliver Gugger
ce5fa2e043
multi: add version to MuSig2 API, bump btcd/btcec to v2.3.2
With this commit we bump the github.com/btcd/btcec/v2 library to v2.3.2
which implements the MuSig2 BIP version v1.0.0rc2. With this the
github.com/btcsuite/btcd/btcec/v2/schnorr/musig2 package becomes
v1.0.0rc2 and the github.com/lightningnetwork/lnd/internal/musig2v040
stays at the old v0.4.0 version.
2023-02-03 18:30:10 +01:00
Oliver Gugger
ff8f1371b5
itest: add itest for MuSig2 CombineKey
Before we change anything in the MuSig2 API, we first add an integration
test that makes sure the current version of the API combines keys
according to the v0.4.0 test vectors.
2023-02-03 18:25:56 +01:00
Olaoluwa Osuntokun
5d22d5eb6c
Merge pull request #7252 from ellemouton/sqlite-pt2
multi: add sqlite backend option
2023-01-31 10:14:46 -08:00
Oliver Gugger
33a0cbe634
Merge pull request #7292 from Crypt-iQ/disconnectblock_patch
aliasmgr+channeldb: stop deleting zero-conf edges from graph if reorg occurs
2023-01-26 16:26:28 +01:00
eugene
9d56963f5e
itest: add zero-conf reorg edge existence test
This itest asserts that zero-conf edges exist even after a reorg.
Without the prior commit, this test fails.
2023-01-25 12:03:21 -05:00
Chris Geihsler
a5eaabf548
multi: add sqlite option to itests and github job 2023-01-25 14:16:56 +02:00
Olaoluwa Osuntokun
3d8f284af7
lntest/itest: update taproot signing itest to use default and non-default sighashes
Without the prior commit, this test fails with:
```
rpc error: code = Unknown desc = malformed signature: too long: 65 > 64
```
2023-01-24 19:47:34 -08:00
Olaoluwa Osuntokun
8ab598e40c
lntest/itest: make publishTxAndConfirmSweep a test helper
Calling ht.Helper() means we'll get the proper line number if an error
hapens.
2023-01-24 19:47:31 -08:00
ziggie
28bceb23c8
walletrpc: add test sign/verify methods
Test the introduced methods sign/verify messages for single addresses
2023-01-24 09:23:42 +01:00
yyforyongyu
107404dfb8
itest+lntemp: refactor testCustomMessage 2023-01-18 10:53:59 +08:00
yyforyongyu
178e4b0103
lntemp+lntest: fix make lint 2023-01-18 10:53:58 +08:00
yyforyongyu
f3ad66b363
lntest+lntest: inherit node's public states when restarting it
This commit changes how a node's state is created during startup. When
it already has states, only its internal states are reset since these
info are only useful for the finished test. The name `InitRPCClients` is
changed to `Initialize` to reflect the fact that it's more than
initializing RPC clients.
2023-01-18 10:53:58 +08:00
yyforyongyu
0b0c0f12ee
lntemp+lntest: refactor testOpenChannelUpdateFeePolicy 2023-01-18 10:53:58 +08:00
yyforyongyu
1cb7ea1a0c
itest+lntemp: refactor testTrackPayments 2023-01-18 10:53:58 +08:00
yyforyongyu
368b3337bd
itest: refactor testTaprootCoopClose 2023-01-18 10:53:58 +08:00
yyforyongyu
38eaa36d90
lntemp+itest: refactor testRemoteSigner 2023-01-18 10:53:57 +08:00
yyforyongyu
b8566359da
lntemp+itest: refactor testAsyncPayments 2023-01-18 10:53:57 +08:00
yyforyongyu
9000994b7b
lntemp+itest: refactor wallet import tests 2023-01-18 10:53:57 +08:00
yyforyongyu
0176d58b85
itest: refactor testTaproot 2023-01-18 10:53:57 +08:00
yyforyongyu
d78af3cec6
lntemp+itest: refactor testSignPsbt 2023-01-18 10:53:56 +08:00
yyforyongyu
8a04127659
itest: refactor testPsbtChanFunding 2023-01-18 10:53:56 +08:00
yyforyongyu
309ba1fcf4
lntemp+itest: refactor testCPFP 2023-01-18 10:53:56 +08:00
yyforyongyu
08dfebbd6c
lntemp+rpc: refactor testSignVerifyMessage 2023-01-18 10:53:56 +08:00
yyforyongyu
20e454b229
lntemp+itest: refactor testSignOutputRaw 2023-01-18 10:53:56 +08:00
yyforyongyu
ab23421cd8
lntemp+itest: refactor testDeriveSharedKey 2023-01-18 10:53:56 +08:00
yyforyongyu
57e208c176
lntemp+itest: refactor testBasicChannelCreationAndUpdates
We also temporarily comment out the `testRemoteSigner` test and will
bring it back when its sub tests are refacted.
2023-01-18 10:53:55 +08:00
yyforyongyu
2b11a619db
lntemp+itest: refactor testNonstdSweep 2023-01-18 10:53:55 +08:00
yyforyongyu
c4ffd8b469
itest: refactor testOptionScidUpgrade 2023-01-18 10:53:55 +08:00
yyforyongyu
48aa84a08c
itest: refactor testUpdateChannelPolicyScidAlias 2023-01-18 10:53:55 +08:00
yyforyongyu
6b82676ca2
lntemp+itest: refactor testOptionScidAlias 2023-01-18 10:53:55 +08:00
yyforyongyu
15da2a3459
itest: refactor testZeroConfChannelOpen 2023-01-18 10:53:55 +08:00