mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-04 10:42:25 +02:00
input+lnwallet: modify musig2 interfaces use explicit optional local nonces
In this commit, we modify the musig2 interfaces to instead use an explicit value for the local nonces. Before this commit, we used the functional option, but we want to also support specifying this value over RPC for the remote signer. The functional option pattern is opaque, so we can't get the nonce value we need. To get around this, we'll just make this an explicit pointer, then map this to the functional option at the very last moment.
This commit is contained in:
@@ -63,7 +63,7 @@ func NewMusigSessionManager(keyFetcher PrivKeyFetcher) *MusigSessionManager {
|
||||
func (m *MusigSessionManager) MuSig2CreateSession(bipVersion MuSig2Version,
|
||||
keyLoc keychain.KeyLocator, allSignerPubKeys []*btcec.PublicKey,
|
||||
tweaks *MuSig2Tweaks, otherSignerNonces [][musig2.PubNonceSize]byte,
|
||||
sessionOpts ...musig2.SessionOption) (*MuSig2SessionInfo, error) {
|
||||
localNonces *musig2.Nonces) (*MuSig2SessionInfo, error) {
|
||||
|
||||
// We need to derive the private key for signing. In the remote signing
|
||||
// setup, this whole RPC call will be forwarded to the signing
|
||||
@@ -78,7 +78,7 @@ func (m *MusigSessionManager) MuSig2CreateSession(bipVersion MuSig2Version,
|
||||
// Create a signing context and session with the given private key and
|
||||
// list of all known signer public keys.
|
||||
musigContext, musigSession, err := MuSig2CreateContext(
|
||||
bipVersion, privKey, allSignerPubKeys, tweaks, sessionOpts...,
|
||||
bipVersion, privKey, allSignerPubKeys, tweaks, localNonces,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating signing context: %w",
|
||||
|
Reference in New Issue
Block a user