Compare commits

...

1 Commits

Author SHA1 Message Date
fiatjaf
b271d6c06b fix .kind filter validator. 2022-01-01 10:26:55 -03:00
5 changed files with 7 additions and 6 deletions

View File

@@ -48,7 +48,6 @@ export function validateEvent(event) {
} }
export function verifySignature(event) { export function verifySignature(event) {
if (!validateEvent(event)) return false
return secp256k1.schnorr.verify(event.sig, event.id, event.pubkey) return secp256k1.schnorr.verify(event.sig, event.id, event.pubkey)
} }

View File

@@ -1,7 +1,6 @@
export function matchFilter(filter, event) { export function matchFilter(filter, event) {
if (filter.id && event.id !== filter.id) return false if (filter.id && event.id !== filter.id) return false
if (filter.kind && event.kind !== filter.kind) return false if (typeof filter.kind === 'number' && event.kind !== filter.kind) return false
if (filter.author && event.pubkey !== filter.author) return false
if (filter.authors && filter.authors.indexOf(event.pubkey) === -1) if (filter.authors && filter.authors.indexOf(event.pubkey) === -1)
return false return false
if ( if (

View File

@@ -4,6 +4,7 @@ import {relayPool} from './pool'
import { import {
getBlankEvent, getBlankEvent,
signEvent, signEvent,
validateEvent,
verifySignature, verifySignature,
serializeEvent, serializeEvent,
getEventHash getEventHash
@@ -15,6 +16,7 @@ export {
relayConnect, relayConnect,
relayPool, relayPool,
signEvent, signEvent,
validateEvent,
verifySignature, verifySignature,
serializeEvent, serializeEvent,
getEventHash, getEventHash,

View File

@@ -1,6 +1,6 @@
{ {
"name": "nostr-tools", "name": "nostr-tools",
"version": "0.15.0", "version": "0.15.1",
"description": "Tools for making a Nostr client.", "description": "Tools for making a Nostr client.",
"repository": { "repository": {
"type": "git", "type": "git",

View File

@@ -2,7 +2,7 @@
import 'websocket-polyfill' import 'websocket-polyfill'
import {verifySignature} from './event' import {verifySignature, validateEvent} from './event'
import {matchFilters} from './filter' import {matchFilters} from './filter'
export function normalizeRelayURL(url) { export function normalizeRelayURL(url) {
@@ -93,7 +93,8 @@ export function relayConnect(url, onNotice = () => {}, onError = () => {}) {
let event = data[2] let event = data[2]
if ( if (
(await verifySignature(event)) && validateEvent(event) &&
verifySignature(event) &&
channels[channel] && channels[channel] &&
matchFilters(openSubs[channel], event) matchFilters(openSubs[channel], event)
) { ) {