-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[6/?] - lnwallet+chancloser: update channel state machine and co-op close for musig2 flow #7345
[6/?] - lnwallet+chancloser: update channel state machine and co-op close for musig2 flow #7345
Commits on Jul 21, 2023
-
lnwallet: export MusigCommitType enum
We need to export the enum as it'll now be used in areas such as the chan closer.
Configuration menu - View commit details
-
Copy full SHA for 3a94232 - Browse repository at this point
Copy the full SHA 3a94232View commit details -
lnwallet+htlcswitch: add NewCommitState struct, modify send/recv sig …
…to accept In this commit, we add a new NewCommitState struct. This preps us for the future change wherein a partial signature is also added to the mix. All related tests and type signatures have also been updated accordingly.
Configuration menu - View commit details
-
Copy full SHA for 9715ed6 - Browse repository at this point
Copy the full SHA 9715ed6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f60c547 - Browse repository at this point
Copy the full SHA f60c547View commit details -
Configuration menu - View commit details
-
Copy full SHA for e97f0c6 - Browse repository at this point
Copy the full SHA e97f0c6View commit details -
lnwallet: update channel state machine to add musig session initializ…
…ation In this commit, we update the channel state machine with a new set of functional options that can be used to create/set the musig session state. When a channel is made during the funding process, the set of nonces we want to use is already known, so we allow them to be passed in. Similarly, once the channel is confirmed, then we'll need to create another channel instance that this times carries the newly generated nonces to send along side funding_locked. We also add some utility methods to permit callers to properly generate nonces in the various contexts.
Configuration menu - View commit details
-
Copy full SHA for d6dbe7d - Browse repository at this point
Copy the full SHA d6dbe7dView commit details -
lnwallet: update to genRemoteHtlcSigJobs to generate taproot jobs
In this commit, we update the genRemoteHtlcSigJobs function to be able to generate taproot jobs. We also modify the sigpool to now use a input.Signature everywhere. This'll allow us to pass around both ECDSA and Schnorr signatures via the same interface. We use a tapscript sighash in this case, as all the HTLC spends will actually be script path spends.
Configuration menu - View commit details
-
Copy full SHA for de6e478 - Browse repository at this point
Copy the full SHA de6e478View commit details -
lnwallet: update genHtlcSigValidationJobs to be taproot aware
In this commit, we update the genHtlcSigValidationJobs function to be taproot aware. As we actually need a schnorr signature for the taproot validation, we need to coerce the entire wire type into a schnorr sig with the ForceSchnorr() method.
Configuration menu - View commit details
-
Copy full SHA for e2cc9d5 - Browse repository at this point
Copy the full SHA e2cc9d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0cda76 - Browse repository at this point
Copy the full SHA b0cda76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d427cd - Browse repository at this point
Copy the full SHA 9d427cdView commit details -
lnwallet: update internal co-op close flow to support musig2 keyspend
In this commit, we update the co-op close flow to support the new musig2 keyspend flow. We'll use some new functional options to allow a caller to pass in an active musig2 session. If this is present, then we'll use that to complete the musig2 flow by signing with a partial signature, and then ultimately combining the signatures at the end.
Configuration menu - View commit details
-
Copy full SHA for c763481 - Browse repository at this point
Copy the full SHA c763481View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1790723 - Browse repository at this point
Copy the full SHA 1790723View commit details -
lnwallet: fix bug in deriveMusig2Shachain
In this commit, we fix a bug in the `deriveMusig2Shachain` function where it didn't actually use the passed in revocation root as part of the hmac invocation. We also modify the function to be more generally useable as well, as now the caller can just pass in the revocation root things should be derived from.
Configuration menu - View commit details
-
Copy full SHA for 2035e38 - Browse repository at this point
Copy the full SHA 2035e38View commit details -
Configuration menu - View commit details
-
Copy full SHA for e017fc6 - Browse repository at this point
Copy the full SHA e017fc6View commit details -
channeldb: update ChanSyncMsg to populate nonce info
In this commit, we update the ChanSyncMsg to populate nonce information. With this change, we can now hide nonce generation further down in the pipeline and ensure that all callers will have the expected fields populated.
Configuration menu - View commit details
-
Copy full SHA for ad6bebc - Browse repository at this point
Copy the full SHA ad6bebcView commit details -
lnwallet: move nonce generation into generateRevocation
Before this commit, we would conditionally generate nonces in RevokeCurrentCommitment. We move this to generateRevocation as this is called when doing channel sync, and we want to make sure we send the correct set of nonces.
Configuration menu - View commit details
-
Copy full SHA for 40d22d7 - Browse repository at this point
Copy the full SHA 40d22d7View commit details -
lnwallet: handle nonce init in ProcessChanSyncMsg
In this commit, we update the logic to handle nonce init in ProcessChanSyncMsg. Once a channel is already open, this is where we'll get the new nonce data from the remote party we'll use to gain the nonce we need to sign for their next state.
Configuration menu - View commit details
-
Copy full SHA for 2279ef2 - Browse repository at this point
Copy the full SHA 2279ef2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c09d61 - Browse repository at this point
Copy the full SHA 5c09d61View commit details
Commits on Jul 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7764f65 - Browse repository at this point
Copy the full SHA 7764f65View commit details