lnwallet: ensure we reject duplicate fails and settles for HTLCs #1286
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In this PR, we add a new index to the
updateLog
. The role of this index is to ensure that we don't accept duplicate fails or settles for a particular HTLC. Each time an HTLC is failed or settled, we'll mark it as such in this new index. If us, or the remote party attempts to modify the HTLC a second time, we'll check this index and reject the update if the HTLC has already been modified. A set of tests have been added to ensure that we'll reject live HTLCs, but also reject HTLCs during self retransmission attempts.