-
Notifications
You must be signed in to change notification settings - Fork 418
Integrate Splicing with Quiescence #4019
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
base: main
Are you sure you want to change the base?
Integrate Splicing with Quiescence #4019
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4019 +/- ##
==========================================
- Coverage 88.77% 88.75% -0.02%
==========================================
Files 175 175
Lines 127846 127885 +39
Branches 127846 127885 +39
==========================================
+ Hits 113492 113509 +17
- Misses 11788 11818 +30
+ Partials 2566 2558 -8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Now that we have a `QuiescentAction` to track what we intend to do once we reach quiescence, we need to use it to initiate splices. Here we do so, adding a new `SpliceInstructions` to track the arguments that are currently passed to `splice_channel`. While these may not be exactly the right arguments to track in the end, a lot of the splice logic is still in flight, so we can worry about it later.
While we have a test to disconnect a peer if we're waiting on an `stfu` message, we also disconnect if we've reached quiescence but we're waiting on a peer to do "something fundamental" and they take too long to do so. We test that behavior here.
be3b93a
to
ddb3b37
Compare
let tx16 = TransactionU16LenLimited::new(tx) | ||
.map_err(|_e| APIError::APIMisuseError { err: format!("Too large transaction") })?; | ||
|
||
// TODO(splicing): Check that transactions aren't too big for the splice_init message here. |
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.
We probably just want to do all input validation here before we even attempt quiescence so that we can fail early and fast. No point in going through the whole stfu
dance just to immediately fail back to the user with "insufficient fees" or something similar.
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.
Yep, that's definitely the goal. Kinda leaving this until the parameters are clear and I'll clean it up then.
👋 Hi! I see this is a draft PR. |
Based on #4007this does the actual integration. Will probably go after #3979 so drafting for now.