From b271d6c06b3af8392577ec93b1d6bfd0ab98879c Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sat, 1 Jan 2022 10:26:55 -0300 Subject: [PATCH] fix .kind filter validator. --- event.js | 1 - filter.js | 3 +-- index.js | 2 ++ package.json | 2 +- relay.js | 5 +++-- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/event.js b/event.js index ee67648..84853e4 100644 --- a/event.js +++ b/event.js @@ -48,7 +48,6 @@ export function validateEvent(event) { } export function verifySignature(event) { - if (!validateEvent(event)) return false return secp256k1.schnorr.verify(event.sig, event.id, event.pubkey) } diff --git a/filter.js b/filter.js index cfc2651..2ca4572 100644 --- a/filter.js +++ b/filter.js @@ -1,7 +1,6 @@ export function matchFilter(filter, event) { if (filter.id && event.id !== filter.id) return false - if (filter.kind && event.kind !== filter.kind) return false - if (filter.author && event.pubkey !== filter.author) return false + if (typeof filter.kind === 'number' && event.kind !== filter.kind) return false if (filter.authors && filter.authors.indexOf(event.pubkey) === -1) return false if ( diff --git a/index.js b/index.js index d3010f1..200e692 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,7 @@ import {relayPool} from './pool' import { getBlankEvent, signEvent, + validateEvent, verifySignature, serializeEvent, getEventHash @@ -15,6 +16,7 @@ export { relayConnect, relayPool, signEvent, + validateEvent, verifySignature, serializeEvent, getEventHash, diff --git a/package.json b/package.json index 008a34c..db142b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "0.15.0", + "version": "0.15.1", "description": "Tools for making a Nostr client.", "repository": { "type": "git", diff --git a/relay.js b/relay.js index 27dd94d..9320ed9 100644 --- a/relay.js +++ b/relay.js @@ -2,7 +2,7 @@ import 'websocket-polyfill' -import {verifySignature} from './event' +import {verifySignature, validateEvent} from './event' import {matchFilters} from './filter' export function normalizeRelayURL(url) { @@ -93,7 +93,8 @@ export function relayConnect(url, onNotice = () => {}, onError = () => {}) { let event = data[2] if ( - (await verifySignature(event)) && + validateEvent(event) && + verifySignature(event) && channels[channel] && matchFilters(openSubs[channel], event) ) {