Closed
Description
A testnet miner ended up stalling seemingly due to an issue in the RBF logic.
I believe the relevant code is here:
In the first code block: we check if an outstanding TX has been committed.
In the second code block: we check if we're already exceeding the RBF limit.
In the third code block: we check if we should abandon any outstanding TXs because they've been reorged or stale.
I think that in the following scenario:
- Outstanding TXs cause the miner to reach the "RBF limit"
- Those outstanding TXs are reorged or never mined
The second code block would prevent the miner from ever getting to the third block and therefore some stale outstanding TXs would prevent the miner from ever producing a new commitment.