-
Notifications
You must be signed in to change notification settings - Fork 376
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
Remove the async_signing cfg flag #3486
Remove the async_signing cfg flag #3486
Conversation
Now that the core features required for `async_signing` are in place, we can go ahead and expose it publicly (rather than behind a a `cfg`-flag). We still don't have full async support for `get_per_commitment_point`, but only one case in channel reconnection remains. The overall logic may still have some hiccups, but its been in use in production at a major LDK user for some time now. Thus, it doesn't really make sense to hide behind a `cfg`-flag, even if the feature is only 99% complete. Further, the new paths exposed are very restricted to signing operations that run async, so the risk for existing users should be incredibly low.
We should update the return types on the signing methods here as well, but we should at least start by documenting which methods are async and which are not. Once we complete async support for `get_per_commitment_point`, we can change the return types as most things in the channel signing traits will be finalized.
6a8bf76
to
d2172e3
Compare
Squash-pushed to address the comments:
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3486 +/- ##
==========================================
- Coverage 89.70% 89.43% -0.28%
==========================================
Files 130 150 +20
Lines 107882 117600 +9718
Branches 107882 117600 +9718
==========================================
+ Hits 96778 105174 +8396
- Misses 8695 9966 +1271
- Partials 2409 2460 +51 ☔ View full report in Codecov by Sentry. |
/// [`ChannelManager::signer_unblocked`] or [`ChainMonitor::signer_unblocked`] (see individual | ||
/// method documentation for which method should be called) once the result is ready, at which | ||
/// point the channel operation will resume. |
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.
I noticed that ChannelManager::signer_unblocked
docs sound like it needs to be called whenever any of these methods errors. It's clear in these docs which signer_unblocked
method needs to be called, but there it could be clearer and {Chain,Channel}Monitor::signer_unblocked
could also benefit from referencing these docs IMO. Doesn't need to happen in this PR though.
Now that the core features required for
async_signing
are inplace, we can go ahead and expose it publicly (rather than behind a
a
cfg
-flag). We still don't have full async support forget_per_commitment_point
, but only one case in channelreconnection remains. The overall logic may still have some
hiccups, but its been in use in production at a major LDK user for
some time now. Thus, it doesn't really make sense to hide behind a
cfg
-flag, even if the feature is only 99% complete. Further, thenew paths exposed are very restricted to signing operations that
run async, so the risk for existing users should be incredibly low.