-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to rust-lightning:0.0.117
#15
base: split-tx-experiment-117
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍but lets wait for the review of @Tibo-lg
Quite hard to review indeed, but basically LGTM, though:
|
Yep, that's a requirement for merging for me. I haven't investigated it yet, but perhaps you have some ideas since you fixed it last time. There were some conflicts in
Working on it! I also think we shouldn't merge this until everything works. |
I don't know if there are more issues, but looks like there is a field missing (which I think is only there when compiling with the |
bf675b6
to
342fecb
Compare
…useful" This reverts commit eb882a6. The reverted commit introduced a regression causing the subchannel open protocol to hang because a particularly large message was not being sent over in full (one of the chunks was seemingly stuck).
I've backported from the 0.0.118 release since it seems like we could easily run into this by attempting to close a channel that is already closed or that never existed in the first place.
`Channel` is only a thing for funded channels. Thus, checking if a channel has not yet been funded is dead code and can simply be elided.
…ht place Because a `Funded` `Channel` cannot possibly be pre-funding, the logic in `ChannelManager::close_channel_internal` to handle pre-funding channels is in the wrong place. Rather than being handled inside the `Funded` branch, it should be in an `else` following it, handling either of the two `ChannelPhases` outside of `Funded`. Sadly, because of a previous control flow management `loop {}`, the existing code will infinite loop, which is fixed here.
…o chan Previously, unfunded channels would be stored outside of `PeerState::channel_by_id`, and thus if there is no channel when we look in `PeerState::channel_by_id`, `close_channel_internal` called `force_close_channel_with_peer` to hunt for unfunded channels. However, that is no longer the case, so the call is redundant, and we can simply return an error instead.
9fb4454
to
962f2ed
Compare
@Tibo-lg: I think this is ready for review again (🤞 hoping CI passes). The backported patches (9861fcd, 7798852, 0b465c0) diverge slightly from what ended up merging upstream, but the current version did fix all our problems, so I'd rather wait for 0.0.119 (coming soon) and drop these patches then. Also, I had to add fabcb68 because otherwise the protocol would no longer finish over the internet 🤷 I'm talking to Matt about this, but the revert at least unblocks us for now. |
@Tibo-lg: FYI the only reason why the two I think we should change this on the |
53a68fc
to
0a2c070
Compare
0a2c070
to
ee7f03d
Compare
The patch does work, but it breaks the on-commit- I would advocate to only run CI on PR pushes since that's the more common workflow. If we want to see what CI says, we can always open a (draft) PR. I propose 98af90f. |
If you want to check what CI says you can always just open a (draft) PR.
Most PRs target `main`, but for those PRs that target a different branch it is more efficient to target the PR base branch. Otherwise we can end up running the script for too many commits and run into a timeout on CI.
The (de)serialisation for `ChannelTransactionParameters` changed between 0.0.114 and 0.0.116. This type had already been modified by us when adding the `original_funding_outpoint` field. When first introduced, we chose a type value of 14. After the update, we chose to reduce it down to 12 since the type 12 was no longer being used after changes between 0.0.114 and 0.0.116. Unfortunately, this unnecessarily broke channels created before the update. Eventually we will need to settle on a way to handle these possible conflicts with upstream. Tibo already suggested a few options: - Use much larger numbers for `rust-dlc` custom fields. - Move LDK values around as we rebase on top of new changes. - Add a subdomain for `rust-dlc` custom fields.
It would be even nicer to log the `ChannelDetails`, but then we would have to modify the macro and that is too painful.
ee7f03d
to
15c4ff6
Compare
Whichever is fine by me (at least for this repo), but another solution would be to run this job only for PR (see this) |
Oh, yes, we could do that too. But I thought it would be better to not run anything on branch push so that we can avoid duplicate work on CI and make CI builds a bit faster overall. |
I've targeted a newly created branch with
v0.0.117
as the tip so that we can judge the diff more easily. I guess we'll have to compare this diff to the diff in #13, which is not ideal.Once we are happy with this PR we can merge it and reset
split-tx-experiment
to this branch.