Move Channel's blocked monitor updates vec to an even TLV #2392
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 9dfe42c,
ChannelMonitorUpdate
s were stored inChannel
while they were being processed. Because it was possible (though highly unlikely, due to various locking likely blocking persistence) an update was in-flight (even synchronously) when aChannelManager
was persisted, the new updates were persisted via an odd TLV.However, in 4041f08 these pending monitor updates were moved to
ChannelManager
, with appropriate handling there. Now the onlyChannelMonitorUpdate
s which are stored inChannel
are those which are explicitly blocked, which requires the async pipeline.Because we don't support async monitor update users downgrading to 0.0.115 or lower, we move to persisting them via an even TLV. As the odd TLV storage has not yet been released, we can do so trivially.
Fixes #2317.