peer: for RBF state machine block req if RBF iterating is outstanding

This fixes an issue in the itests in the restart case. We'd see an error
like:
```
2025-03-12 23:41:10.754 [ERR] PFSM state_machine.go:661: FSM(rbf_chan_closer(2f20725d9004f7fda7ef280f77dd8d419fd6669bda1a5231dd58d6f6597066e0:0)): Unable to apply event err="invalid state transition: received *chancloser.SendOfferEvent while in ClosingNegotiation(local=LocalOfferSent(proposed_fee=0.00000193 BTC), remote=ClosePending(txid=07229915459cb439bdb8ad4f5bf112dc6f42fca0192ea16a7d6dd05e607b92ae, party=Remote, fee_rate=1 sat/vb))"
```

We resolve this by waiting to send in the new request unil the old one
has been completed.
This commit is contained in:
Olaoluwa Osuntokun
2025-03-17 16:18:19 -05:00
parent 8df58a984c
commit 3681ba6d8b
2 changed files with 63 additions and 0 deletions

View File

@@ -1333,6 +1333,7 @@ func (h *HarnessTest) CloseChannelAssertPending(hn *node.HarnessNode,
notifyRate := pendingClose.ClosePending.FeePerVbyte
if closeOpts.localTxOnly &&
notifyRate != int64(closeReq.SatPerVbyte) {
continue
}