1343 Commits
Author SHA1 Message Date
yyforyongyu f202d27324 itest: break testChannelBackupRestore into smaller tests
This commit breaks the large `testChannelBackupRestore` into smaller
tests to take advantage of our parallel testing framework. A smaller
test also makes the debugging easier, hence better code health.
2022-10-27 01:11:34 +08:00
yyforyongyu 78de9dae05 itest: break testMultiHopHtlcClaims into smaller test cases
This commit breaks the large `testMultiHopHtlcClaims` into independent
test cases to take the advantage of parallel testing. The old setup will
put the stress of creating and syncing new blocks into a single core,
which causes a much longer test time and sometimes times out.
2022-10-27 01:11:34 +08:00
yyforyongyu 3f14ee5870 itest: fix testMultiHopHtlcRemoteChainClaim and linters
This commit makes sure the test `testMultiHopHtlcRemoteChainClaim` takes
account of the one block mined while closing the channel.
2022-10-27 01:11:34 +08:00
yyforyongyu 47279fb9af itest: fix testMultiHopHtlcLocalChainClaim 2022-10-27 01:11:34 +08:00
yyforyongyu 4668193cfa itest: fix testMultiHopLocalForceCloseOnChainHtlcTimeout 2022-10-27 01:11:34 +08:00
yyforyongyu b6cc13417c itest: move multi hop claim tests into one file 2022-10-27 01:11:33 +08:00
yyforyongyu c3bc4d403c itest: reduce blocks mined to save sync time 2022-10-27 01:11:33 +08:00
yyforyongyu b463147595 itest: refactor testMultiHopHtlcAggregation 2022-10-27 01:11:33 +08:00
yyforyongyu 0115ec8719 itest: refactor testMultiHopHtlcRemoteChainClaim 2022-10-27 01:11:33 +08:00
yyforyongyu 200796b8e2 itest: refactor testMultiHopHtlcLocalChainClaim 2022-10-27 01:11:33 +08:00
yyforyongyu f65002255c itest: refactor testMultiHopRemoteForceCloseOnChainHtlcTimeout 2022-10-27 01:11:32 +08:00
yyforyongyu 6b5f4f407c itest: refactor testMultiHopLocalForceCloseOnChainHtlcTimeout 2022-10-27 01:11:32 +08:00
yyforyongyu d51f98efc6 itest: refactor testMultiHopReceiverChainClaim 2022-10-27 01:11:32 +08:00
yyforyongyu 5a7c6cea02 lntest+lntemp: refactor testMultiHopHtlcLocalTimeout 2022-10-27 01:11:32 +08:00
yyforyongyu 4a7f45b5d4 itest+lntemp: refactor testMultiHopHtlcClaims 2022-10-27 01:11:32 +08:00
yyforyongyu e629a3b45a itest: deprecate createThreeHopNetwork 2022-10-27 01:11:32 +08:00
yyforyongyu 36c84bbd43 itest: refactor testDataLossProtection 2022-10-27 01:11:32 +08:00
yyforyongyu 1fafabe012 itest: move testDataLossProtection to backup test file 2022-10-27 01:11:31 +08:00
yyforyongyu 8cd5a9b6b1 itest: refactor testChannelBackupRestore 2022-10-27 01:11:31 +08:00
yyforyongyu 2966773018 lntemp: add more assertions and supporting methods 2022-10-27 01:11:31 +08:00
yyforyongyu 1b741cb6cc itest: refactor testExternalFundingChanPoint 2022-10-27 01:11:30 +08:00
yyforyongyu 773cc8e295 itest: refactor testBasicChannelFunding
The test `testExternalFundingChanPoint` is commented out and will be put
back in the following commit.
2022-10-27 01:11:30 +08:00
yyforyongyu 85210b947f itest: deprecate deriveFundingShim 2022-10-27 01:11:30 +08:00
Slyghtning 85f0ec2954 itest: check peer alias in ForwardingHistory 2022-10-20 09:23:50 -04:00
yyforyongyu 353b744039 lntemp+itest: create interface WebFeeService
This commit adds a new interface, `WebFeeService`, so external projects
can create their own mocked fee services.
2022-10-14 15:45:25 +08:00
yyforyongyu 9d79e76876 itest: timeout while waiting for predicate result
This commit sends the returned value of pred() inside a goroutine such
that when a predicate function never returns during the first run, the
wait package can timeout properly.
2022-10-14 15:45:24 +08:00
yyforyongyu 2ab842c645 itest: refactor test testUpdateChanStatus 2022-10-14 15:45:24 +08:00
yyforyongyu 1350f76627 itest: add a new test entry point to run the temp tests
This commit adds a new function, `TestLightningNetworkDaemonTemp`, to
run the new tests.
2022-10-14 15:45:24 +08:00
yyforyongyu cd5ab844e2 lntest: export flag logoutput
This commit temporarily exports the flag `logoutput` so it can be used
by `lntemp`.
2022-10-14 07:25:29 +08:00
yyforyongyu 55f8a621ae lntest+github: add flag temptest to run tests separately
This commit adds a new flag `temptest` so we can run new and old tests
separately. This flag will be removed once the migration from old tests
to new tests is finished.
2022-10-14 07:25:28 +08:00
Olaoluwa Osuntokun 2482de9cab lnwallet/chancloser: properly compute initial fee of cop close txn
In this commit, we modify the way we compute the starting ideal fee for
the co-op close transaction. Before thsi commit, channel.CalcFee was
used, which'll compute the fee based on the commitment transaction
itself, rathern than the co-op close transaction. As the co-op close
transaction is potentailly bigger (two P2TR outputs) than the commitment
transaction, this can cause us to under estimate the fee, which can
result in the fee rate being too low to propagate.

To remedy this, we now compute a fee estimate from scratch, based on the
delivery fees of the two parties.

We also add a bug fix in the chancloser unit tests that wasn't caught
due to loop variable shadowing.

The wallet import itest has been updated as well, since we'll now pay
600 extra saothis to close the channel, since we're accounting for the
added weight of the P2TR outputs.

Fixes #6953
2022-10-10 14:50:45 -07:00
Slyghtning 41822a8baf itest: openchannel fee scenarios 2022-09-29 08:31:47 -04:00
Olaoluwa Osuntokun d062a5263e build: update to latest version of btcwallet w/ taproot estimation fix
Fixes https://github.com/lightningnetwork/lnd/issues/6873
2022-09-27 11:24:39 -07:00
Jesse de Wit 4bc3007668 lntest: add trackpayments itest
Add an itest for the new TrackPayments api.
2022-09-08 10:48:34 +02:00
Oliver Gugger c45d0f6b07 itest: add integration tests for tapscript import
We add basic integration test coverage for importing Tapscript
addresses. Note that FundPsbt is not supported with those types of
imported keys, so we need to manually fill in all information in the
PSBT to be able to sweep the funds again.
2022-08-25 09:21:52 +02:00
Oliver Gugger 0d6e791042 lntest+lnwallet: add ImportTaprootScript to wallet interface 2022-08-25 09:20:23 +02:00
Oliver Gugger 3a66a09d9d itest: test BIP-0086 Taproot account+pubkey import 2022-08-25 09:20:23 +02:00
Eng Zer Jun ca5c695526 lntest/itest: use T.TempDir to create temporary test directory
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-08-24 09:03:04 +08:00
yyforyongyu 0735522194 multi: fix make fmt 2022-08-23 22:10:24 +08:00
priyanshiiit 3105d6a2ec lntest: adds test for list addresses 2022-08-18 08:09:16 +05:30
priyanshiiit 99e4728eb7 lnwallet: adds list addresses method 2022-08-18 07:58:24 +05:30
Slyghtning b2e624cd52 psbt: Indicate which psbt inputs were signed 2022-08-16 19:31:06 -04:00
eugene 48912560e2 lntest: update zero-conf tests to account for zeroconfacceptor 2022-08-12 16:36:17 -04:00
Olaoluwa Osuntokun 3bf2790e21 lntest/itest: add new itest to cover taproot co-op close 2022-08-10 18:44:39 -07:00
Oliver Gugger 17014b592e Merge pull request #6730 from Roasbeef/notifier-optional-block
chainntfns: add new option for conf notifications to send block
2022-08-10 13:52:49 +02:00
eugene 6ec2826f6c sweep: account for all script types in craftSweepTx
With this change, transactions created via craftSweepTx will be
standard. Previously, p2wsh/p2pkh scripts passed in via SendCoins would
be weighted as p2wpkh scripts. With a feerate of 1 sat/vbyte,
transactions returned would be non-standard. Luckily, the critical
sweeper subsystem only used p2wpkh scripts so this only affected
callers from the rpcserver.

Also added is an integration test that fails if SendCoins manages
to generate a non-standard transaction. All script types are now
accounted for in getWeightEstimate, which now errors if an unknown
script type is passed in.
2022-08-08 15:33:00 -04:00
Olaoluwa Osuntokun 89dc75cd90 lntest/itest: add test case for conf ntfn w/ block
In this commit, we add a test case to exercise the fact that if we
request a confirmation notification with the raw block, then it includes
one. We add this to the existing test that uses the conf ntfn rpc call
for simplicity.
2022-08-01 19:59:33 -07:00
Olaoluwa Osuntokun 08f1c2e93a chainntfns: add new option for conf notifications to send block
In this commit, we add a new option for the existing confirmation
notification system that optionally allows the caller to specify that a
block should be included as well.

The only quirk w/ the implementation here is the neutrino backend:
usually we get filtered blocks, we so need to first fetch the block
again so we can deliver the full block to the notifier. On the notifier
end, it'll only be checking for the transactions we care about, to
sending a full block doesn't affect the correctness.

We also extend the `testBatchConfirmationNotification` test to assert
that a block is only included if the caller specifies it.
2022-08-01 19:59:21 -07:00
Olaoluwa Osuntokun fec8fd9c63 Merge pull request #6754 from ellemouton/ensureRpcRegistrationOrder
multi: synchronous rpc middleware registration
2022-07-26 19:05:30 -05:00
Elle Mouton 25acb51ba3 multi: registration complete MW interceptor msg
In this commit, we change the flow of the rpc middleware registration
a bit. In order to allow a client to add rpc middleware interceptors in
a deterministic order, we now make the server send a "registration
complete" message to the client after compeleting the registration
process so that the client knows when it can go ahead and register the
next client.
2022-07-20 14:58:47 -05:00