contractcourt+itest: make sure ChannelArbitrator has the latest htlcs

This commit is contained in:
yyforyongyu committed 2024-05-21 00:53:23 +08:00
1 parent 71ee50f87c
commit e45db07a10
3 files changed
+7 -6

No files matched your search

+4
View File
@@ -1287,6 +1287,10 @@ func (c *ChainArbitrator) FindOutgoingHTLCDeadline(scid lnwire.ShortChannelID,
continue
}
// Make sure the channel arbitrator has the latest view of its
// active HTLCs.
channelArb.updateActiveHTLCs()
// Iterate all the known HTLCs to find the targeted incoming
// HTLC.
for _, htlcs := range channelArb.activeHTLCs {
+3
View File
@@ -3089,6 +3089,9 @@ func (c *ChannelArbitrator) channelAttendant(bestHeight int32) {
// We've just received a request to forcibly close out the
// channel. We'll
case closeReq := <-c.forceCloseReqs:
log.Infof("ChannelArbitrator(%v): received force "+
"close request", c.cfg.ChanPoint)
if c.state != StateDefault {
select {
case closeReq.closeTx <- nil:
-6
View File
@@ -713,12 +713,6 @@ func runMultiHopLocalForceCloseOnChainHtlcTimeout(ht *lntest.HarnessTest,
// to be mined to trigger a force close later on.
var blocksMined uint32
// We need to mine a block otherwise `FindOutgoingHTLCDeadline` cannot
// find the incoming HTLC on Bob's ChainArbitrator.
//
// TODO(yy): Investigate and fix it!
ht.MineEmptyBlocks(1)
// Now that all parties have the HTLC locked in, we'll immediately
// force close the Bob -> Carol channel. This should trigger contract
// resolution mode for both of them.