nip46: better error messages on decrypt failure.

This commit is contained in:
fiatjaf
2024-11-12 15:50:02 -03:00
parent 903770f78d
commit 898455cbe6

View File

@ -23,15 +23,16 @@ type RelayReadWrite struct {
func (s Session) ParseRequest(event *nostr.Event) (Request, error) { func (s Session) ParseRequest(event *nostr.Event) (Request, error) {
var req Request var req Request
plain, err := nip44.Decrypt(event.Content, s.ConversationKey) plain, err1 := nip44.Decrypt(event.Content, s.ConversationKey)
if err != nil { if err1 != nil {
plain, err = nip04.Decrypt(event.Content, s.SharedKey) var err2 error
if err != nil { plain, err2 = nip04.Decrypt(event.Content, s.SharedKey)
return req, fmt.Errorf("failed to decrypt event from %s: %w", event.PubKey, err) if err2 != nil {
return req, fmt.Errorf("failed to decrypt event from %s: (nip44: %w, nip04: %w)", event.PubKey, err1, err2)
} }
} }
err = json.Unmarshal([]byte(plain), &req) err := json.Unmarshal([]byte(plain), &req)
return req, err return req, err
} }