diff --git a/package.json b/package.json index a8c0a82..bd3c395 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "1.6.3", + "version": "1.7.0", "description": "Tools for making a Nostr client.", "repository": { "type": "git", diff --git a/pool.ts b/pool.ts index 74bab1e..2abd184 100644 --- a/pool.ts +++ b/pool.ts @@ -155,13 +155,23 @@ export class SimplePool { }) } - publish(relays: string[], event: Event): Pub[] { - return relays.map(relay => { + publish(relays: string[], event: Event): Pub { + let pubs = relays.map(relay => { let r = this._conn[normalizeURL(relay)] if (!r) return badPub(relay) - let s = r.publish(event) - return s + return r.publish(event) }) + + return { + on(type, cb) { + pubs.forEach((pub, i) => { + pub.on(type, () => cb(relays[i])) + }) + }, + off() { + // do nothing here, FIXME + } + } } seenOn(id: string): string[] {