musig2: add early nonce gen KnownSigners test

This commit changes the early nonce gen test to use the KnownSigners
Option for one of the contexts.
This commit is contained in:
sputn1ck 2023-07-10 21:36:30 +02:00
parent 8f84bb0e9b
commit 883a03da99
No known key found for this signature in database
GPG Key ID: 671103D881A5F0E4

View File

@ -278,7 +278,8 @@ func TestMuSigEarlyNonce(t *testing.T) {
t.Fatalf("unexpected ctx error: %v", err) t.Fatalf("unexpected ctx error: %v", err)
} }
numSigners := 2 signers := []*btcec.PublicKey{privKey1.PubKey(), privKey2.PubKey()}
numSigners := len(signers)
ctx1, err := NewContext( ctx1, err := NewContext(
privKey1, true, WithNumSigners(numSigners), WithEarlyNonceGen(), privKey1, true, WithNumSigners(numSigners), WithEarlyNonceGen(),
@ -289,20 +290,21 @@ func TestMuSigEarlyNonce(t *testing.T) {
pubKey1 := ctx1.PubKey() pubKey1 := ctx1.PubKey()
ctx2, err := NewContext( ctx2, err := NewContext(
privKey2, true, WithNumSigners(numSigners), WithEarlyNonceGen(), privKey2, true, WithKnownSigners(signers), WithEarlyNonceGen(),
) )
if err != nil { if err != nil {
t.Fatalf("unable to make ctx: %v", err) t.Fatalf("unable to make ctx: %v", err)
} }
pubKey2 := ctx2.PubKey() pubKey2 := ctx2.PubKey()
// At this point, the combined key shouldn't be available for both // At this point, the combined key shouldn't be available for signer 1,
// signers, since we only know of the sole signers. // but should be for signer 2, as they know about all signers.
if _, err := ctx1.CombinedKey(); !errors.Is(err, ErrNotEnoughSigners) { if _, err := ctx1.CombinedKey(); !errors.Is(err, ErrNotEnoughSigners) {
t.Fatalf("unepxected error: %v", err) t.Fatalf("unepxected error: %v", err)
} }
if _, err := ctx2.CombinedKey(); !errors.Is(err, ErrNotEnoughSigners) { _, err = ctx2.CombinedKey()
t.Fatalf("unepxected error: %v", err) if err != nil {
t.Fatalf("unable to get combined key: %v", err)
} }
// The early nonces _should_ be available at this point. // The early nonces _should_ be available at this point.
@ -320,8 +322,8 @@ func TestMuSigEarlyNonce(t *testing.T) {
t.Fatalf("expected 1 signer, instead have: %v", t.Fatalf("expected 1 signer, instead have: %v",
ctx1.NumRegisteredSigners()) ctx1.NumRegisteredSigners())
} }
if ctx2.NumRegisteredSigners() != 1 { if ctx2.NumRegisteredSigners() != 2 {
t.Fatalf("expected 1 signer, instead have: %v", t.Fatalf("expected 2 signers, instead have: %v",
ctx2.NumRegisteredSigners()) ctx2.NumRegisteredSigners())
} }
@ -336,7 +338,7 @@ func TestMuSigEarlyNonce(t *testing.T) {
t.Fatalf("unexpected combined key error: %v", err) t.Fatalf("unexpected combined key error: %v", err)
} }
// We'll now register the other signer for both parties. // We'll now register the other signer for party 1.
done, err := ctx1.RegisterSigner(&pubKey2) done, err := ctx1.RegisterSigner(&pubKey2)
if err != nil { if err != nil {
t.Fatalf("unable to register signer: %v", err) t.Fatalf("unable to register signer: %v", err)
@ -344,13 +346,6 @@ func TestMuSigEarlyNonce(t *testing.T) {
if !done { if !done {
t.Fatalf("signer 1 doesn't have all keys") t.Fatalf("signer 1 doesn't have all keys")
} }
done, err = ctx2.RegisterSigner(&pubKey1)
if err != nil {
t.Fatalf("unable to register signer: %v", err)
}
if !done {
t.Fatalf("signer 2 doesn't have all keys")
}
// If we try to register the signer again, we should get an error. // If we try to register the signer again, we should get an error.
_, err = ctx2.RegisterSigner(&pubKey1) _, err = ctx2.RegisterSigner(&pubKey1)