fix CheckSignature(): we were parsing the pubkey with the ECDSA function instead of Schnorr.

This commit is contained in:
fiatjaf 2022-05-01 17:51:16 -03:00
parent 00ad1acde9
commit a11aa8756b
2 changed files with 7 additions and 2 deletions

View File

@ -75,7 +75,7 @@ func (evt Event) CheckSignature() (bool, error) {
return false, fmt.Errorf("event pubkey '%s' is invalid hex: %w", evt.PubKey, err)
}
pubkey, err := btcec.ParsePubKey(pk)
pubkey, err := schnorr.ParsePubKey(pk)
if err != nil {
return false, fmt.Errorf("event has invalid pubkey '%s': %w", evt.PubKey, err)
}

View File

@ -142,8 +142,13 @@ func (r *RelayPool) Add(url string, policy RelayPoolPolicy) error {
json.Unmarshal(jsonMessage[2], &event)
// check signature of all received events, ignore invalid
ok, _ := event.CheckSignature()
ok, err := event.CheckSignature()
if !ok {
errmsg := ""
if err != nil {
errmsg = err.Error()
}
log.Printf("bad signature: %s", errmsg)
continue
}