nostr-tools
Advanced tools
Comparing version 0.14.3 to 0.15.0
21
event.js
@@ -21,3 +21,3 @@ import {Buffer} from 'buffer' | ||
evt.kind, | ||
evt.tags || [], | ||
evt.tags, | ||
evt.content | ||
@@ -34,4 +34,21 @@ ]) | ||
export function validateEvent(event) { | ||
if (event.id !== getEventHash(event)) return false | ||
if (typeof event.content !== 'string') return false | ||
if (typeof event.created_at !== 'number') return false | ||
if (!Array.isArray(event.tags)) return false | ||
for (let i = 0; i < event.tags.length; i++) { | ||
let tag = event.tags[i] | ||
if (!Array.isArray(tag)) return false | ||
for (let j = 0; j < tag.length; j++) { | ||
if (typeof tag[j] === 'object') return false | ||
} | ||
} | ||
return true | ||
} | ||
export function verifySignature(event) { | ||
if (event.id !== getEventHash(event)) return false | ||
if (!validateEvent(event)) return false | ||
return secp256k1.schnorr.verify(event.sig, event.id, event.pubkey) | ||
@@ -38,0 +55,0 @@ } |
{ | ||
"name": "nostr-tools", | ||
"version": "0.14.3", | ||
"version": "0.15.0", | ||
"description": "Tools for making a Nostr client.", | ||
@@ -5,0 +5,0 @@ "repository": { |
21609
640