Commit graph

18088 commits

Author SHA1 Message Date
yyforyongyu
f64b2ce8f2
lntest: make sure node is properly shut down
Soemtimes the node may be hanging for a while without being noticed,
causing failures in its following tests, thus making the debugging
extrememly difficult. We now assert the node has been shut down from the
logs to assert the shutdown process behaves as expected.
2024-12-20 19:38:06 +08:00
yyforyongyu
72f3f41d41
itest: remove unnecessary channel close and node shutdown
Since we don't have standby nodes anymore, we don't need to close the
channels when the test finishes. Previously we would do so to make sure
the standby nodes have a clean state for the next test case, which is no
longer relevant.
2024-12-20 19:38:06 +08:00
yyforyongyu
00772ae281
itest+lntest: remove standby nodes
This commit removes the standby nodes Alice and Bob.
2024-12-20 19:38:06 +08:00
yyforyongyu
11c9dd5ff2
itest: remove unused method setupFourHopNetwork 2024-12-20 19:38:05 +08:00
yyforyongyu
de8f14bed2
itest: remove the use of standby nodes
This commit removes the usage of the standby nodes and uses
`CreateSimpleNetwork` when applicable. Also introduces a helper method
`NewNodeWithCoins` to quickly start a node with funds.
2024-12-20 19:38:05 +08:00
yyforyongyu
3eda87fff9
itest: remove direct reference to stanby nodes
Prepares the upcoming refactor. We now never call `ht.Alice` directly,
instead, we always init `alice := ht.Alice` so it's easier to see how
they are removed in a following commit.
2024-12-20 19:38:05 +08:00
yyforyongyu
ef167835dd
workflows: pass action ID as the shuffle seed
To make sure each run is shuffled, we use the action ID as the seed.
2024-12-20 19:38:05 +08:00
yyforyongyu
88bd0cb806
itest: shuffle test cases to even out blocks mined in tranches
This commit adds a new flag to shuffle all the test cases before running
them so tests which require lots of blocks to be mined are less likely
to be run in the same tranch.

The other benefit is this approach provides a more efficient way to
figure which tests are broken since all the differnet backends are
running different tranches in their builds, we can identify more failed
tests in one push.
2024-12-20 19:38:05 +08:00
yyforyongyu
2c27df6c30
itest: print num of blocks for debugging 2024-12-20 19:38:05 +08:00
Oliver Gugger
fe48e65f42
Merge pull request #9381 from yyforyongyu/fix-no-space-left
workflows: fix no space left error
2024-12-20 12:21:53 +01:00
Oliver Gugger
8859dbc288
Merge pull request #9315 from lightningnetwork/yy-feature-blockbeat
Implement `blockbeat`
2024-12-20 12:20:32 +01:00
yyforyongyu
ecd82a3bcb
contractcourt: include custom records on replayed htlc
Add another case in addition to #9357.
2024-12-20 17:54:13 +08:00
yyforyongyu
a1bd8943db
lntest+itest: export DeriveFundingShim 2024-12-20 17:54:12 +08:00
yyforyongyu
c4a6abb14d
lntest+itest: remove the usage of ht.AssertActiveHtlcs
The method `AssertActiveHtlcs` is now removed due to it's easy to be
misused. To assert a given htlc, use `AssertOutgoingHTLCActive` and
`AssertIncomingHTLCActive` instead for ensuring the HTLC exists in the
right direction. Although often the case `AssertNumActiveHtlcs` would be
enough as it implicitly checks the forwarding behavior for an
intermediate node by asserting there are always num_payment*2 HTLCs.
2024-12-20 17:54:12 +08:00
yyforyongyu
36a87ad5f4
itest: assert payment status after sending 2024-12-20 17:54:12 +08:00
yyforyongyu
425877e745
itest: remove redundant block in multiple tests 2024-12-20 17:54:12 +08:00
yyforyongyu
9c0c373b7e
itest: flatten and fix testWatchtower 2024-12-20 17:54:12 +08:00
yyforyongyu
b7feeba008
itest+lntest: fix channel force close test
Also flatten the tests to make them easier to be maintained.
2024-12-20 17:54:12 +08:00
yyforyongyu
9d4a60d613
itest: remove redundant blocks in channel backup tests 2024-12-20 17:54:12 +08:00
yyforyongyu
a55408d4a1
itest: remove redudant block in testPsbtChanFundingWithUnstableUtxos 2024-12-20 17:54:11 +08:00
yyforyongyu
22b9350320
itest: remove redunant block mining in testChannelFundingWithUnstableUtxos 2024-12-20 17:54:11 +08:00
yyforyongyu
2494f1ed32
itest: remove redundant block mining in testFailingChannel 2024-12-20 17:54:11 +08:00
yyforyongyu
e1d5bbf171
itest: remove unnecessary force close 2024-12-20 17:54:11 +08:00
yyforyongyu
2adb356668
itest: rename file to reflect the tests 2024-12-20 17:54:11 +08:00
yyforyongyu
2f0256775e
itest: flatten testHtlcTimeoutResolverExtractPreimageRemote
Also remove unused code.
2024-12-20 17:54:11 +08:00
yyforyongyu
34951a6153
itest: flatten testHtlcTimeoutResolverExtractPreimageLocal
This commit simplfies the test since we only test the preimage
extraction logic in the htlc timeout resolver, there's no need to test
it for all different channel types as the resolver is made to be
oblivious about them.
2024-12-20 17:54:10 +08:00
yyforyongyu
f95e64f084
itest: flatten testMultiHopHtlcAggregation 2024-12-20 17:54:10 +08:00
yyforyongyu
52e6fb1161
itest: flatten testMultiHopHtlcRemoteChainClaim 2024-12-20 17:54:10 +08:00
yyforyongyu
8dd73a08a9
itest: flatten testMultiHopHtlcLocalChainClaim 2024-12-20 17:54:10 +08:00
yyforyongyu
d7b2025248
lntest+itest: flatten testMultiHopRemoteForceCloseOnChainHtlcTimeout 2024-12-20 17:54:10 +08:00
yyforyongyu
bef17f16cf
lntest+itest: flatten testMultiHopLocalForceCloseOnChainHtlcTimeout 2024-12-20 17:54:10 +08:00
yyforyongyu
bc31979f7b
itest: simplify and flatten testMultiHopReceiverChainClaim 2024-12-20 17:54:10 +08:00
yyforyongyu
9ab9cd5f99
lntest+itest: start flattening the multi-hop tests
Starting from this commit, we begin the process of flattening the
multi-hop itests to make them easier to be maintained. The tests are
refactored into their own test cases, with each test focusing on testing
one channel type. This is necessary to save effort for future
development.

These tests are also updated to reflect the new `blockbeat` behavior.
2024-12-20 17:54:09 +08:00
yyforyongyu
e45005b310
itest: fix testPaymentSucceededHTLCRemoteSwept 2024-12-20 17:54:09 +08:00
yyforyongyu
0778009ac2
itest: fix testBumpForceCloseFee 2024-12-20 17:54:09 +08:00
yyforyongyu
1aeea8a90f
itest: fix testSweepCommitOutputAndAnchor 2024-12-20 17:54:09 +08:00
yyforyongyu
d260a87f3b
itest: fix testSweepHTLCs 2024-12-20 17:54:09 +08:00
yyforyongyu
cacf222e11
itest: fix testSweepCPFPAnchorIncomingTimeout 2024-12-20 17:54:09 +08:00
yyforyongyu
40ac04a254
lntest+itest: fix testSweepCPFPAnchorOutgoingTimeout 2024-12-20 17:54:08 +08:00
yyforyongyu
4806b2fda7
multi: optimize loggings around changes from blockbeat 2024-12-20 17:54:08 +08:00
yyforyongyu
fecd5ac735
contractcourt: make sure launchResolvers is called on new blockbeat
This is an oversight from addressing this commment:
https://github.com/lightningnetwork/lnd/pull/9277#discussion_r1882410396

where we should focus on skipping the close events but not the
resolvers.
2024-12-20 17:54:08 +08:00
yyforyongyu
bd88948264
docs: add release notes for blockbeat series 2024-12-20 17:54:08 +08:00
yyforyongyu
cc60d2b41c
chainntnfs: skip dispatched conf details
We need to check `dispatched` before sending conf details, otherwise the
channel `ntfn.Event.Confirmed` will be blocking, which is the leftover
from #9275.
2024-12-20 17:54:08 +08:00
yyforyongyu
ea7d6a509b
contractcourt: register conf notification once and cancel when confirmed 2024-12-20 17:54:08 +08:00
yyforyongyu
a6d3a0fa99
contractcourt: process channel close event on new beat 2024-12-20 17:54:07 +08:00
yyforyongyu
c5b3033427
contractcourt: add close event handlers in ChannelArbitrator
To prepare the next commit where we would handle the event upon
receiving a blockbeat.
2024-12-20 17:54:07 +08:00
yyforyongyu
6eb9bb1ed6
multi: add new method ChainArbitrator.RedispatchBlockbeat
This commit adds a new method to enable us resending the blockbeat in
`ChainArbitrator`, which is needed for the channel restore as the chain
watcher and channel arbitrator are added after the start of the chain
arbitrator.
2024-12-20 17:54:07 +08:00
yyforyongyu
4d765668cc
contractcourt: use close height instead of best height
This commit adds the closing height to the logging and fixes a wrong
height used in handling the breach event.
2024-12-20 17:54:07 +08:00
yyforyongyu
3822c23833
contractcourt: notify blockbeat for chainWatcher
We now start notifying the blockbeat from the ChainArbitrator to the
chainWatcher.
2024-12-20 17:54:07 +08:00
yyforyongyu
8237598ed1
contractcourt: handle blockbeat in chainWatcher 2024-12-20 17:54:07 +08:00