diff --git a/instantout/instantout.go b/instantout/instantout.go index f8c89eb0..d9405ffa 100644 --- a/instantout/instantout.go +++ b/instantout/instantout.go @@ -263,6 +263,12 @@ func (i *InstantOut) signMusig2Tx(ctx context.Context, if err != nil { return nil, err } + if len(musig2sessions) != len(inputs) { + return nil, fmt.Errorf("invalid number of MuSig2 sessions") + } + if len(counterPartyNonces) != len(inputs) { + return nil, fmt.Errorf("invalid number of peer nonces") + } prevOutFetcher := inputs.GetPrevoutFetcher() sigHashes := txscript.NewTxSigHashes(tx, prevOutFetcher) @@ -329,6 +335,12 @@ func (i *InstantOut) finalizeMusig2Transaction(ctx context.Context, if err != nil { return nil, err } + if len(musig2Sessions) != len(inputs) { + return nil, fmt.Errorf("invalid number of MuSig2 sessions") + } + if len(serverSigs) != len(inputs) { + return nil, fmt.Errorf("invalid number of peer signatures") + } for idx := range inputs { haveAllSigs, finalSig, err := signer.MuSig2CombineSig(