input+wallet: extract musig2 session management into new module

In this commit, we extract the musig2 session management into a new
module. This allows us to re-use the session logic elsewhere in unit
tests so we don't need to instantiate the entire wallet.
This commit is contained in:
Olaoluwa Osuntokun
2023-01-18 19:29:41 -08:00
parent 4733da5ccb
commit 9a65806c09
13 changed files with 402 additions and 371 deletions

View File

@@ -71,7 +71,8 @@ func (s *MockSigner) ComputeInputScript(tx *wire.MsgTx,
// submitted as well to reduce the number of method calls necessary later on.
func (s *MockSigner) MuSig2CreateSession(input.MuSig2Version,
keychain.KeyLocator, []*btcec.PublicKey, *input.MuSig2Tweaks,
[][musig2.PubNonceSize]byte) (*input.MuSig2SessionInfo, error) {
[][musig2.PubNonceSize]byte,
...musig2.SessionOption) (*input.MuSig2SessionInfo, error) {
return nil, nil
}