@snort/system
Advanced tools
Comparing version 1.0.22 to 1.1.0
@@ -32,2 +32,4 @@ import { FullRelaySettings, HexKey, NostrEvent, UserMetadata } from ".."; | ||
events: number; | ||
connects: number; | ||
lastSeen: number; | ||
disconnects: number; | ||
@@ -34,0 +36,0 @@ latency: number[]; |
@@ -28,2 +28,2 @@ "use strict"; | ||
exports.mapEventToProfile = mapEventToProfile; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FjaGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQXVFO0FBK0N2RSxTQUFnQixpQkFBaUIsQ0FBQyxFQUFjO0lBQzlDLElBQUk7UUFDRixNQUFNLElBQUksR0FBaUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsSUFBSSxHQUFHLEdBQUc7WUFDUixHQUFHLElBQUk7WUFDUCxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07WUFDakIsSUFBSSxFQUFFLElBQUEsb0JBQVcsRUFBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNwQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDdEIsTUFBTSxFQUFFLElBQUEsa0JBQVMsR0FBRTtTQUNILENBQUM7UUFFbkIsNkJBQTZCO1FBQzdCLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDakQsR0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDOUM7QUFDSCxDQUFDO0FBckJELDhDQXFCQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FjaGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQXVFO0FBaUR2RSxTQUFnQixpQkFBaUIsQ0FBQyxFQUFjO0lBQzlDLElBQUk7UUFDRixNQUFNLElBQUksR0FBaUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsSUFBSSxHQUFHLEdBQUc7WUFDUixHQUFHLElBQUk7WUFDUCxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07WUFDakIsSUFBSSxFQUFFLElBQUEsb0JBQVcsRUFBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNwQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDdEIsTUFBTSxFQUFFLElBQUEsa0JBQVMsR0FBRTtTQUNILENBQUM7UUFFbkIsNkJBQTZCO1FBQzdCLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDakQsR0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDOUM7QUFDSCxDQUFDO0FBckJELDhDQXFCQyJ9 |
@@ -74,3 +74,3 @@ "use strict"; | ||
takeSnapshot() { | ||
return []; | ||
return [...this.cache.values()]; | ||
} | ||
@@ -130,2 +130,2 @@ async #processZapperQueue() { | ||
exports.UserProfileCache = UserProfileCache; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jYWNoZS91c2VyLW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQUFtRjtBQUVuRixNQUFhLGdCQUFpQixTQUFRLGtCQUF3QjtJQUM1RCxZQUFZLEdBQTZDLEVBQUUsQ0FBQztJQUM1RCxVQUFVLEdBQTZDLEVBQUUsQ0FBQztJQUUxRCxZQUFZLEtBQXFDO1FBQy9DLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFpQjtRQUNuQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbkIsQ0FBQztJQUVRLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBdUI7UUFDNUMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsd0JBQXdCO1FBQ3hCLElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBUztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCwyQ0FBMkM7WUFDM0MsT0FBTyxDQUNMLE1BQU0sSUFBSSxDQUFDLEtBQUs7aUJBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQztpQkFDYixvQkFBb0IsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZCLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ1Ysb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2lCQUN2QixFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUNsQixvQkFBb0IsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZCLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ1gsb0JBQW9CLENB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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jYWNoZS91c2VyLW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQUFtRjtBQUVuRixNQUFhLGdCQUFpQixTQUFRLGtCQUF3QjtJQUM1RCxZQUFZLEdBQTZDLEVBQUUsQ0FBQztJQUM1RCxVQUFVLEdBQTZDLEVBQUUsQ0FBQztJQUUxRCxZQUFZLEtBQXFDO1FBQy9DLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFpQjtRQUNuQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbkIsQ0FBQztJQUVRLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBdUI7UUFDNUMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsd0JBQXdCO1FBQ3hCLElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBUztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCwyQ0FBMkM7WUFDM0MsT0FBTyxDQUNMLE1BQU0sSUFBSSxDQUFDLEtBQUs7aUJBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQztpQkFDYixvQkFBb0IsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZCLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ1Ysb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2lCQUN2QixFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUNsQixvQkFBb0IsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZCLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ1gsb0JBQW9CLENB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 |
/// <reference types="ws" /> | ||
import WebSocket from "isomorphic-ws"; | ||
import { ExternalStore } from "@snort/shared"; | ||
import EventEmitter from "eventemitter3"; | ||
import { ConnectionStats } from "./connection-stats"; | ||
import { NostrEvent, ReqCommand, TaggedNostrEvent, u256 } from "./nostr"; | ||
import { RelayInfo } from "./relay-info"; | ||
export type AuthHandler = (challenge: string, relay: string) => Promise<NostrEvent | undefined>; | ||
/** | ||
@@ -40,3 +39,12 @@ * Relay settings | ||
} | ||
export declare class Connection extends ExternalStore<ConnectionStateSnapshot> { | ||
interface ConnectionEvents { | ||
change: (snapshot: ConnectionStateSnapshot) => void; | ||
connected: (wasReconnect: boolean) => void; | ||
event: (sub: string, e: TaggedNostrEvent) => void; | ||
eose: (sub: string) => void; | ||
disconnect: (code: number) => void; | ||
auth: (challenge: string, relay: string, cb: (ev: NostrEvent) => void) => void; | ||
notice: (msg: string) => void; | ||
} | ||
export declare class Connection extends EventEmitter<ConnectionEvents> { | ||
#private; | ||
@@ -60,12 +68,8 @@ Id: string; | ||
EventsCallback: Map<u256, (msg: Array<string | boolean>) => void>; | ||
OnConnected?: (wasReconnect: boolean) => void; | ||
OnEvent?: (sub: string, e: TaggedNostrEvent) => void; | ||
OnEose?: (sub: string) => void; | ||
OnDisconnect?: (code: number) => void; | ||
Auth?: AuthHandler; | ||
AwaitingAuth: Map<string, boolean>; | ||
Authed: boolean; | ||
Ephemeral: boolean; | ||
Down: boolean; | ||
constructor(addr: string, options: RelaySettings, auth?: AuthHandler, ephemeral?: boolean); | ||
constructor(addr: string, options: RelaySettings, ephemeral?: boolean); | ||
get Ephemeral(): boolean; | ||
set Ephemeral(v: boolean); | ||
Connect(): Promise<void>; | ||
@@ -96,3 +100,5 @@ Close(): void; | ||
takeSnapshot(): ConnectionStateSnapshot; | ||
notifyChange(): void; | ||
} | ||
export {}; | ||
//# sourceMappingURL=connection.d.ts.map |
@@ -11,6 +11,7 @@ "use strict"; | ||
const shared_1 = require("@snort/shared"); | ||
const eventemitter3_1 = __importDefault(require("eventemitter3")); | ||
const const_1 = require("./const"); | ||
const connection_stats_1 = require("./connection-stats"); | ||
const event_kind_1 = __importDefault(require("./event-kind")); | ||
class Connection extends shared_1.ExternalStore { | ||
class Connection extends eventemitter3_1.default { | ||
#log; | ||
@@ -20,2 +21,3 @@ #ephemeralCheck; | ||
#expectAuth = false; | ||
#ephemeral; | ||
Id; | ||
@@ -35,12 +37,6 @@ Address; | ||
EventsCallback; | ||
OnConnected; | ||
OnEvent; | ||
OnEose; | ||
OnDisconnect; | ||
Auth; | ||
AwaitingAuth; | ||
Authed = false; | ||
Ephemeral; | ||
Down = true; | ||
constructor(addr, options, auth, ephemeral = false) { | ||
constructor(addr, options, ephemeral = false) { | ||
super(); | ||
@@ -53,6 +49,12 @@ this.Id = (0, uuid_1.v4)(); | ||
this.AwaitingAuth = new Map(); | ||
this.Auth = auth; | ||
this.Ephemeral = ephemeral; | ||
this.#ephemeral = ephemeral; | ||
this.#log = (0, debug_1.default)("Connection").extend(addr); | ||
} | ||
get Ephemeral() { | ||
return this.#ephemeral; | ||
} | ||
set Ephemeral(v) { | ||
this.#ephemeral = v; | ||
this.#setupEphemeral(); | ||
} | ||
async Connect() { | ||
@@ -107,3 +109,3 @@ try { | ||
this.#setupEphemeral(); | ||
this.OnConnected?.(wasReconnect); | ||
this.emit("connected", wasReconnect); | ||
this.#sendPendingRaw(); | ||
@@ -125,3 +127,8 @@ } | ||
this.ReconnectTimer = setTimeout(() => { | ||
this.Connect(); | ||
try { | ||
this.Connect(); | ||
} | ||
catch { | ||
this.emit("disconnect", -1); | ||
} | ||
}, this.ConnectTimeout); | ||
@@ -134,3 +141,3 @@ this.Stats.Disconnects++; | ||
} | ||
this.OnDisconnect?.(e.code); | ||
this.emit("disconnect", e.code); | ||
this.#reset(); | ||
@@ -159,3 +166,3 @@ this.notifyChange(); | ||
case "EVENT": { | ||
this.OnEvent?.(msg[1], { | ||
this.emit("event", msg[1], { | ||
...msg[2], | ||
@@ -169,3 +176,3 @@ relays: [this.Address], | ||
case "EOSE": { | ||
this.OnEose?.(msg[1]); | ||
this.emit("eose", msg[1]); | ||
break; | ||
@@ -185,2 +192,3 @@ } | ||
case "NOTICE": { | ||
this.emit("notice", msg[1]); | ||
this.#log(`NOTICE: ${msg[1]}`); | ||
@@ -292,3 +300,3 @@ break; | ||
this.#sendJson(["CLOSE", id]); | ||
this.OnEose?.(id); | ||
this.emit("eose", id); | ||
this.#SendQueuedRequests(); | ||
@@ -373,7 +381,5 @@ } | ||
}; | ||
if (!this.Auth) { | ||
throw new Error("Auth hook not registered"); | ||
} | ||
this.AwaitingAuth.set(challenge, true); | ||
const authEvent = await this.Auth(challenge, this.Address); | ||
const authEvent = await new Promise((resolve, reject) => this.emit("auth", challenge, this.Address, resolve)); | ||
this.#log("Auth result: %o", authEvent); | ||
if (!authEvent) { | ||
@@ -403,7 +409,7 @@ authCleanup(); | ||
#setupEphemeral() { | ||
if (this.#ephemeralCheck) { | ||
clearInterval(this.#ephemeralCheck); | ||
this.#ephemeralCheck = undefined; | ||
} | ||
if (this.Ephemeral) { | ||
if (this.#ephemeralCheck) { | ||
clearInterval(this.#ephemeralCheck); | ||
this.#ephemeralCheck = undefined; | ||
} | ||
this.#ephemeralCheck = setInterval(() => { | ||
@@ -422,4 +428,7 @@ const lastActivity = (0, shared_1.unixNowMs)() - this.#activity; | ||
} | ||
notifyChange() { | ||
this.emit("change", this.takeSnapshot()); | ||
} | ||
} | ||
exports.Connection = Connection; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtCQUFrQztBQUNsQyxrREFBMEI7QUFDMUIsa0VBQXNDO0FBQ3RDLDBDQUF5RTtBQUV6RSxtQ0FBZ0Q7QUFDaEQseURBQXFEO0FBR3JELDhEQUFxQztBQXVDckMsTUFBYSxVQUFXLFNBQVEsc0JBQXNDO0lBQ3BFLElBQUksQ0FBaUI7SUFDckIsZUFBZSxDQUFrQztJQUNqRCxTQUFTLEdBQVcsSUFBQSxrQkFBUyxHQUFFLENBQUM7SUFDaEMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUVwQixFQUFFLENBQVM7SUFDWCxPQUFPLENBQVM7SUFDaEIsTUFBTSxHQUFxQixJQUFJLENBQUM7SUFFaEMsVUFBVSxHQUFrQixFQUFFLENBQUM7SUFDL0IsZUFBZSxHQUdWLEVBQUUsQ0FBQztJQUNSLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRW5DLFFBQVEsQ0FBZ0I7SUFDeEIsSUFBSSxDQUFhO0lBQ2pCLGNBQWMsR0FBVyw2QkFBcUIsQ0FBQztJQUMvQyxLQUFLLEdBQW9CLElBQUksa0NBQWUsRUFBRSxDQUFDO0lBQy9DLGNBQWMsR0FBWSxJQUFJLENBQUM7SUFDL0IsUUFBUSxDQUFVO0lBQ2xCLGNBQWMsQ0FBaUM7SUFDL0MsY0FBYyxDQUFvRDtJQUNsRSxXQUFXLENBQW1DO0lBQzlDLE9BQU8sQ0FBOEM7SUFDckQsTUFBTSxDQUF5QjtJQUMvQixZQUFZLENBQTBCO0lBQ3RDLElBQUksQ0FBZTtJQUNuQixZQUFZLENBQXVCO0lBQ25DLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixTQUFTLENBQVU7SUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQztJQUVaLFlBQVksSUFBWSxFQUFFLE9BQXNCLEVBQUUsSUFBa0IsRUFBRSxZQUFxQixLQUFLO1FBQzlGLEtBQUssRUFBRSxDQUFDO1FBQ1Is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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtCQUFrQztBQUNsQyxrREFBMEI7QUFDMUIsa0VBQXNDO0FBQ3RDLDBDQUFrRDtBQUNsRCxrRUFBeUM7QUFFekMsbUNBQWdEO0FBQ2hELHlEQUFxRDtBQUdyRCw4REFBcUM7QUErQ3JDLE1BQWEsVUFBVyxTQUFRLHVCQUE4QjtJQUM1RCxJQUFJLENBQWlCO0lBQ3JCLGVBQWUsQ0FBa0M7SUFDakQsU0FBUyxHQUFXLElBQUEsa0JBQVMsR0FBRSxDQUFDO0lBQ2hDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsVUFBVSxDQUFVO0lBRXBCLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUNoQixNQUFNLEdBQXFCLElBQUksQ0FBQztJQUVoQyxVQUFVLEdBQWtCLEVBQUUsQ0FBQztJQUMvQixlQUFlLEdBR1YsRUFBRSxDQUFDO0lBQ1IsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFFbkMsUUFBUSxDQUFnQjtJQUN4QixJQUFJLENBQWE7SUFDakIsY0FBYyxHQUFXLDZCQUFxQixDQUFDO0lBQy9DLEtBQUssR0FBb0IsSUFBSSxrQ0FBZSxFQUFFLENBQUM7SUFDL0MsY0FBYyxHQUFZLElBQUksQ0FBQztJQUMvQixRQUFRLENBQVU7SUFDbEIsY0FBYyxDQUFpQztJQUMvQyxjQUFjLENBQW9EO0lBRWxFLFlBQVksQ0FBdUI7SUFDbkMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLElBQUksR0FBRyxJQUFJLENBQUM7SUFFWixZQUFZLElBQVksRUFBRSxPQUFzQixFQUFFLFlBQXFCLEtBQUs7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUEsU0FBSSxHQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIs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 |
@@ -10,2 +10,6 @@ /** | ||
/** | ||
* Legacy tag reference regex | ||
*/ | ||
export declare const TagRefRegex: RegExp; | ||
/** | ||
* How long profile cache should be considered valid for | ||
@@ -12,0 +16,0 @@ */ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.MarkdownCodeRegex = exports.MentionNostrEntityRegex = exports.CashuRegex = exports.InvoiceRegex = exports.FileExtensionRegex = exports.ProfileCacheExpire = exports.HashtagRegex = exports.DefaultConnectTimeout = void 0; | ||
exports.MarkdownCodeRegex = exports.MentionNostrEntityRegex = exports.CashuRegex = exports.InvoiceRegex = exports.FileExtensionRegex = exports.ProfileCacheExpire = exports.TagRefRegex = exports.HashtagRegex = exports.DefaultConnectTimeout = void 0; | ||
/** | ||
@@ -14,2 +14,6 @@ * Websocket re-connect timeout | ||
/** | ||
* Legacy tag reference regex | ||
*/ | ||
exports.TagRefRegex = /(#\[\d+\])/gm; | ||
/** | ||
* How long profile cache should be considered valid for | ||
@@ -39,2 +43,2 @@ */ | ||
exports.MarkdownCodeRegex = /(```.+?```)/gms; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQUUxQzs7R0FFRztBQUNILDZDQUE2QztBQUNoQyxRQUFBLFlBQVksR0FBRyx5Q0FBeUMsQ0FBQztBQUV0RTs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXREOztHQUVHO0FBQ0gsNkNBQTZDO0FBQ2hDLFFBQUEsa0JBQWtCLEdBQUcsaUJBQWlCLENBQUM7QUFFcEQ7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxZQUFZLENBQUM7QUFFekM7O0dBRUc7QUFDVSxRQUFBLFVBQVUsR0FBRyx1Q0FBdUMsQ0FBQztBQUVsRTs7R0FFRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsc0VBQXNFLENBQUM7QUFFOUc7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQUUxQzs7R0FFRztBQUNILDZDQUE2QztBQUNoQyxRQUFBLFlBQVksR0FBRyx5Q0FBeUMsQ0FBQztBQUV0RTs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHLGNBQWMsQ0FBQztBQUUxQzs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXREOztHQUVHO0FBQ0gsNkNBQTZDO0FBQ2hDLFFBQUEsa0JBQWtCLEdBQUcsaUJBQWlCLENBQUM7QUFFcEQ7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxZQUFZLENBQUM7QUFFekM7O0dBRUc7QUFDVSxRQUFBLFVBQVUsR0FBRyx1Q0FBdUMsQ0FBQztBQUVsRTs7R0FFRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsc0VBQXNFLENBQUM7QUFFOUc7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDIn0= |
@@ -27,5 +27,6 @@ declare enum EventKind { | ||
Auth = 22242, | ||
PubkeyLists = 30000, | ||
NoteLists = 30001, | ||
TagLists = 30002, | ||
MuteList = 10000, | ||
PinList = 10001, | ||
CategorizedPeople = 30000, | ||
CategorizedBookmarks = 30001, | ||
Badge = 30009, | ||
@@ -32,0 +33,0 @@ ProfileBadges = 30008, |
@@ -30,5 +30,6 @@ "use strict"; | ||
EventKind[EventKind["Auth"] = 22242] = "Auth"; | ||
EventKind[EventKind["PubkeyLists"] = 30000] = "PubkeyLists"; | ||
EventKind[EventKind["NoteLists"] = 30001] = "NoteLists"; | ||
EventKind[EventKind["TagLists"] = 30002] = "TagLists"; | ||
EventKind[EventKind["MuteList"] = 10000] = "MuteList"; | ||
EventKind[EventKind["PinList"] = 10001] = "PinList"; | ||
EventKind[EventKind["CategorizedPeople"] = 30000] = "CategorizedPeople"; | ||
EventKind[EventKind["CategorizedBookmarks"] = 30001] = "CategorizedBookmarks"; | ||
EventKind[EventKind["Badge"] = 30009] = "Badge"; | ||
@@ -47,2 +48,2 @@ EventKind[EventKind["ProfileBadges"] = 30008] = "ProfileBadges"; | ||
exports.default = EventKind; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQta2luZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1raW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSyxTQXdDSjtBQXhDRCxXQUFLLFNBQVM7SUFDWixnREFBWSxDQUFBO0lBQ1osdURBQWUsQ0FBQTtJQUNmLGlEQUFZLENBQUE7SUFDWiwrREFBbUIsQ0FBQTtJQUNuQix1REFBZSxDQUFBO0lBQ2YsMkRBQWlCLENBQUE7SUFDakIsaURBQVksQ0FBQTtJQUNaLDZDQUFVLENBQUE7SUFDVixpREFBWSxDQUFBO0lBQ1oscURBQWMsQ0FBQTtJQUNkLG1FQUFxQixDQUFBO0lBQ3JCLHdEQUFnQixDQUFBO0lBQ2hCLG9EQUFjLENBQUE7SUFDZCxvRUFBc0IsQ0FBQTtJQUN0QixzRUFBdUIsQ0FBQTtJQUN2QixvRUFBc0IsQ0FBQTtJQUN0Qiw0RUFBMEIsQ0FBQTtJQUMxQixzRUFBdUIsQ0FBQTtJQUN2Qix3RUFBeUIsQ0FBQTtJQUN6Qiw4Q0FBWSxDQUFBO0lBQ1osb0RBQWUsQ0FBQTtJQUNmLHdEQUFpQixDQUFBO0lBQ2pCLGlEQUFjLENBQUE7SUFDZCx1REFBa0IsQ0FBQTtJQUNsQiw2Q0FBWSxDQUFBO0lBQ1osMkRBQW1CLENBQUE7SUFDbkIsdURBQWlCLENBQUE7SUFDakIscURBQWdCLENBQUE7SUFDaEIsK0NBQWEsQ0FBQTtJQUNiLCtEQUFxQixDQUFBO0lBQ3JCLHFFQUF3QixDQUFBO0lBQ3hCLG1EQUFnQixDQUFBO0lBQ2hCLHVEQUFpQixDQUFBO0lBQ2pCLHlEQUFrQixDQUFBO0lBQ2xCLDJEQUFtQixDQUFBO0lBQ25CLHlFQUEyQixDQUFBO0lBQzNCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHlFQUEwQixDQUFBO0FBQzVCLENBQUMsRUF4Q0ksU0FBUyxLQUFULFNBQVMsUUF3Q2I7QUFFRCxrQkFBZSxTQUFTLENBQUMifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQta2luZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1raW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSyxTQTZDSjtBQTdDRCxXQUFLLFNBQVM7SUFDWixnREFBWSxDQUFBO0lBQ1osdURBQWUsQ0FBQTtJQUNmLGlEQUFZLENBQUE7SUFDWiwrREFBbUIsQ0FBQTtJQUNuQix1REFBZSxDQUFBO0lBQ2YsMkRBQWlCLENBQUE7SUFDakIsaURBQVksQ0FBQTtJQUNaLDZDQUFVLENBQUE7SUFDVixpREFBWSxDQUFBO0lBQ1oscURBQWMsQ0FBQTtJQUNkLG1FQUFxQixDQUFBO0lBQ3JCLHdEQUFnQixDQUFBO0lBQ2hCLG9EQUFjLENBQUE7SUFDZCxvRUFBc0IsQ0FBQTtJQUN0QixzRUFBdUIsQ0FBQTtJQUN2QixvRUFBc0IsQ0FBQTtJQUN0Qiw0RUFBMEIsQ0FBQTtJQUMxQixzRUFBdUIsQ0FBQTtJQUN2Qix3RUFBeUIsQ0FBQTtJQUN6Qiw4Q0FBWSxDQUFBO0lBQ1osb0RBQWUsQ0FBQTtJQUNmLHdEQUFpQixDQUFBO0lBQ2pCLGlEQUFjLENBQUE7SUFDZCx1REFBa0IsQ0FBQTtJQUNsQiw2Q0FBWSxDQUFBO0lBRVoscURBQWlCLENBQUE7SUFDakIsbURBQWdCLENBQUE7SUFFaEIsdUVBQXlCLENBQUE7SUFDekIsNkVBQTRCLENBQUE7SUFFNUIsK0NBQWEsQ0FBQTtJQUNiLCtEQUFxQixDQUFBO0lBRXJCLHFFQUF3QixDQUFBO0lBQ3hCLG1EQUFnQixDQUFBO0lBQ2hCLHVEQUFpQixDQUFBO0lBQ2pCLHlEQUFrQixDQUFBO0lBQ2xCLDJEQUFtQixDQUFBO0lBQ25CLHlFQUEyQixDQUFBO0lBQzNCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHlFQUEwQixDQUFBO0FBQzVCLENBQUMsRUE3Q0ksU0FBUyxLQUFULFNBQVMsUUE2Q2I7QUFFRCxrQkFBZSxTQUFTLENBQUMifQ== |
@@ -1,2 +0,2 @@ | ||
import { EventKind, EventSigner, FullRelaySettings, HexKey, Lists, NostrEvent, NostrLink, NotSignedNostrEvent, PowMiner, RelaySettings, SignerSupports, TaggedNostrEvent, u256, UserMetadata } from "."; | ||
import { EventKind, EventSigner, FullRelaySettings, HexKey, NostrEvent, NostrLink, NotSignedNostrEvent, PowMiner, RelaySettings, SignerSupports, TaggedNostrEvent, ToNostrEventTag, u256, UserMetadata } from "."; | ||
import { EventBuilder } from "./event-builder"; | ||
@@ -24,5 +24,17 @@ type EventBuilderHook = (ev: EventBuilder) => EventBuilder; | ||
nip42Auth(challenge: string, relay: string): Promise<NostrEvent>; | ||
muted(keys: HexKey[], priv: HexKey[]): Promise<NostrEvent>; | ||
noteList(notes: u256[], list: Lists): Promise<NostrEvent>; | ||
tags(tags: string[]): Promise<NostrEvent>; | ||
/** | ||
* Build a mute list event using lists of pubkeys | ||
* @param pub Public mute list | ||
* @param priv Private mute list | ||
*/ | ||
muted(pub: Array<string>, priv: Array<string>): Promise<NostrEvent>; | ||
/** | ||
* Build a pin list event using lists of event links | ||
*/ | ||
pinned(notes: Array<ToNostrEventTag>): Promise<NostrEvent>; | ||
/** | ||
* Build a categorized bookmarks event with a given label | ||
* @param notes List of bookmarked links | ||
*/ | ||
bookmarks(notes: Array<ToNostrEventTag>, list: "bookmark" | "follow"): Promise<NostrEvent>; | ||
metadata(obj: UserMetadata): Promise<NostrEvent>; | ||
@@ -47,3 +59,3 @@ /** | ||
relayList(relays: Array<FullRelaySettings> | Record<string, RelaySettings>): Promise<NostrEvent>; | ||
contactList(follows: Array<HexKey>, relays: Record<string, RelaySettings>): Promise<NostrEvent>; | ||
contactList(tags: Array<[string, string]>): Promise<NostrEvent>; | ||
/** | ||
@@ -64,2 +76,3 @@ * Delete an event (NIP-09) | ||
generic(fnHook: EventBuilderHook): Promise<NostrEvent>; | ||
appData(data: object, id: string): Promise<NostrEvent>; | ||
/** | ||
@@ -66,0 +79,0 @@ * NIP-59 Gift Wrap event with ephemeral key |
@@ -98,6 +98,10 @@ "use strict"; | ||
} | ||
async muted(keys, priv) { | ||
const eb = this.#eb(_1.EventKind.PubkeyLists); | ||
eb.tag(["d", _1.Lists.Muted]); | ||
keys.forEach(p => { | ||
/** | ||
* Build a mute list event using lists of pubkeys | ||
* @param pub Public mute list | ||
* @param priv Private mute list | ||
*/ | ||
async muted(pub, priv) { | ||
const eb = this.#eb(_1.EventKind.MuteList); | ||
pub.forEach(p => { | ||
eb.tag(["p", p]); | ||
@@ -112,15 +116,21 @@ }); | ||
} | ||
async noteList(notes, list) { | ||
const eb = this.#eb(_1.EventKind.NoteLists); | ||
eb.tag(["d", list]); | ||
/** | ||
* Build a pin list event using lists of event links | ||
*/ | ||
async pinned(notes) { | ||
const eb = this.#eb(_1.EventKind.PinList); | ||
notes.forEach(n => { | ||
eb.tag(["e", n]); | ||
eb.tag((0, shared_1.unwrap)(n.toEventTag())); | ||
}); | ||
return await this.#sign(eb); | ||
} | ||
async tags(tags) { | ||
const eb = this.#eb(_1.EventKind.TagLists); | ||
eb.tag(["d", _1.Lists.Followed]); | ||
tags.forEach(t => { | ||
eb.tag(["t", t]); | ||
/** | ||
* Build a categorized bookmarks event with a given label | ||
* @param notes List of bookmarked links | ||
*/ | ||
async bookmarks(notes, list) { | ||
const eb = this.#eb(_1.EventKind.CategorizedBookmarks); | ||
eb.tag(["d", list]); | ||
notes.forEach(n => { | ||
eb.tag((0, shared_1.unwrap)(n.toEventTag())); | ||
}); | ||
@@ -155,3 +165,4 @@ return await this.#sign(eb); | ||
if (note) { | ||
eb.tag((0, shared_1.unwrap)(note.toEventTag())); | ||
// HACK: remove relay tag, some zap services dont like relay tags | ||
eb.tag((0, shared_1.unwrap)(note.toEventTag()).slice(0, 2)); | ||
} | ||
@@ -194,4 +205,2 @@ eb.tag(["p", author]); | ||
} | ||
// Big E/A tag | ||
eb.tag((0, shared_1.unwrap)(link.toEventTag()).map((v, i) => (i === 0 ? v.toUpperCase() : v))); | ||
eb.processContent(); | ||
@@ -230,7 +239,5 @@ fnExtra?.(eb); | ||
} | ||
async contactList(follows, relays) { | ||
async contactList(tags) { | ||
const eb = this.#eb(_1.EventKind.ContactList); | ||
eb.content(JSON.stringify(relays)); | ||
const temp = new Set(follows.filter(a => a.length === 64).map(a => a.toLowerCase())); | ||
temp.forEach(a => eb.tag(["p", a])); | ||
tags.forEach(a => eb.tag(a)); | ||
return await this.#sign(eb); | ||
@@ -296,2 +303,8 @@ } | ||
} | ||
async appData(data, id) { | ||
const eb = this.#eb(_1.EventKind.AppData); | ||
eb.content(await this.nip4Encrypt(JSON.stringify(data), this.#pubKey)); | ||
eb.tag(["d", id]); | ||
return await this.#sign(eb); | ||
} | ||
/** | ||
@@ -350,2 +363,2 @@ * NIP-59 Gift Wrap event with ephemeral key | ||
exports.EventPublisher = EventPublisher; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcHVibGlzaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V2ZW50LXB1Ymxpc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFnRDtBQUNoRCxvRUFBc0Q7QUFDdEQsMENBQThEO0FBRTlELHdCQWtCVztBQUVYLG1EQUErQztBQUMvQywyQ0FBdUM7QUFDdkMsbUNBQWtDO0FBQ2xDLHNDQUF5QztBQUN6QyxzQ0FBcUM7QUFJckMsTUFBYSxjQUFjO0lBQ3pCLE9BQU8sQ0FBUztJQUNoQixPQUFPLENBQWM7SUFDckIsSUFBSSxDQUFVO0lBQ2QsTUFBTSxDQUFZO0lBRWxCLFlBQVksTUFBbUIsRUFBRSxNQUFjO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRTtZQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUMzQztTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFrQjtRQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsTUFBYyxFQUFFLEtBQWdCO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELEdBQUcsQ0FBQyxDQUFZO1FBQ2QsTUFBTSxFQUFFLEdBQUcsSUFBSSw0QkFBWSxFQUFFLENBQUM7UUFDOUIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBZ0I7UUFDMUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7UUFDakQsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7UUFDakQsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFpQixFQUFFLEtBQWE7UUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFjLEVBQUUsSUFBYztRQUN4QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUzQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDZixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBYSxFQUFFLElBQVc7UUFDdkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBYztRQUN2QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDZixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFpQjtRQUM5QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVcsRUFBRSxPQUEwQjtRQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNkLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUNQLE1BQWMsRUFDZCxNQUFjLEVBQ2QsTUFBcUIsRUFDckIsSUFBZ0IsRUFDaEIsR0FBWSxFQUNaLE9BQTBCO1FBRTFCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksSUFBSSxFQUFFO1lBQ1IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFBLGVBQU0sRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQXlCLEVBQUUsR0FBVyxFQUFFLE9BQTBCO1FBQzVFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEIsTUFBTSxJQUFJLEdBQUcsWUFBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxNQUFNLE1BQU0sR0FBRyxvQkFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3hELElBQUksaUJBQWlCLEVBQUU7Z0JBQ3JCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDdkc7WUFDRCxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFBLGVBQU0sRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBRWhELEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDOUIsS0FBSyxNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUN2QixTQUFTO2lCQUNWO2dCQUNELEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNuQjtTQUNGO2FBQU07WUFDTCxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFBLGVBQU0sRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQy9DLDJCQUEyQjtZQUMzQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUMvQjtTQUNGO1FBQ0QsY0FBYztRQUNkLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBQSxlQUFNLEVBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFpQixFQUFFLE9BQU8sR0FBRyxHQUFHO1FBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFBLGVBQU0sRUFBQyxZQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQWdFO1FBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFCLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxHQUFHLEVBQUUsQ0FBQztnQkFDTixRQUFRLEVBQUUsQ0FBQzthQUNaLENBQUMsQ0FBQyxDQUFDO1NBQ0w7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRTtZQUN2QixNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25CO1lBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3BCO1lBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDekMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNkO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFzQixFQUFFLE1BQXFDO1FBQzdFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRW5DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBUTtRQUNuQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFnQjtRQUMzQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUEsZUFBTSxFQUFDLFlBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFlLEVBQUUsSUFBWTtRQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFBLDBCQUF1QixFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNaLHlDQUFpQyxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sV0FBVyxHQUFHLEdBQUcsYUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sYUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEYsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUMxRDtZQUNELDhDQUFzQyxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdkQ7U0FDRjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBUyxDQUFDLFdBQVcsRUFBRTtZQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ3ZCO1FBQ0QsSUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVMsQ0FBQyxhQUFhO1lBQ3JDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU87WUFDNUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQzNDO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFBLGVBQU0sRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEgsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFlLEVBQUUsRUFBVTtRQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBd0I7UUFDcEMsTUFBTSxFQUFFLEdBQUcsSUFBSSw0QkFBWSxFQUFFLENBQUM7UUFDOUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFpQixFQUFFLFNBQWtCLEVBQUUsU0FBa0IsRUFBRSxRQUFtQjtRQUMzRixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLE1BQU0sSUFBSSxHQUFHLFNBQVMsSUFBSSxJQUFBLGVBQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSw0QkFBWSxFQUFFLENBQUM7UUFDOUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM5QixFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxTQUFTLEVBQUU7WUFDYixFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM3QjtRQUNELEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVuRSxPQUFPLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFnQjtRQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsSUFBZSxFQUFFLE9BQWUsRUFBRSxNQUF3QjtRQUN2RSxNQUFNLEVBQUUsR0FBRyxJQUFJLDRCQUFZLEVBQUUsQ0FBQztRQUM5QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2QsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQXlCLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUEwQixFQUFFLEtBQWE7UUFDdkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQWlCO1FBQ2pDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFTLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN0RixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWUsQ0FBQztJQUN4QyxDQUFDO0NBQ0Y7QUE5VkQsd0NBOFZDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcHVibGlzaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V2ZW50LXB1Ymxpc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFnRDtBQUNoRCxvRUFBc0Q7QUFDdEQsMENBQXVDO0FBRXZDLHdCQWtCVztBQUVYLG1EQUErQztBQUMvQywyQ0FBdUM7QUFDdkMsbUNBQWtDO0FBQ2xDLHNDQUF5QztBQUN6QyxzQ0FBcUM7QUFJckMsTUFBYSxjQUFjO0lBQ3pCLE9BQU8sQ0FBUztJQUNoQixPQUFPLENBQWM7SUFDckIsSUFBSSxDQUFVO0lBQ2QsTUFBTSxDQUFZO0lBRWxCLFlBQVksTUFBbUIsRUFBRSxNQUFjO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRTtZQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUMzQztTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFrQjtRQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBaUI7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 |
@@ -58,6 +58,6 @@ "use strict"; | ||
this.#conn = new connection_1.Connection(this.#relay, { read: true, write: true }); | ||
this.#conn.OnEvent = async (sub, e) => { | ||
this.#conn.on("event", async (sub, e) => { | ||
await this.#onReply(e); | ||
}; | ||
this.#conn.OnConnected = async () => { | ||
}); | ||
this.#conn.on("connected", async () => { | ||
this.#conn.QueueReq([ | ||
@@ -81,3 +81,3 @@ "REQ", | ||
} | ||
}; | ||
}); | ||
this.#conn.Connect(); | ||
@@ -186,2 +186,2 @@ this.#didInit = true; | ||
exports.Nip46Signer = Nip46Signer; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmlwNDYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wbC9uaXA0Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwQ0FBb0Q7QUFDcEQsdURBQW9EO0FBQ3BELCtCQUFrQztBQUNsQyxrREFBMEI7QUFFMUIsOENBQTJDO0FBQzNDLHNDQUEwRDtBQUUxRCxvREFBZ0Q7QUFHaEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBMEIxQixNQUFhLFdBQVc7SUFDdEIsS0FBSyxDQUFjO0lBQ25CLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVU7SUFDdkIsTUFBTSxDQUFVO0lBQ2hCLGFBQWEsQ0FBYztJQUMzQixhQUFhLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakQsSUFBSSxHQUFHLElBQUEsZUFBSyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBUztJQUNmLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFMUIsWUFBWSxNQUFjLEVBQUUsWUFBMEI7UUFDcEQsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFBLG9CQUFXLEVBQUMsSUFBSSxDQUFD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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmlwNDYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wbC9uaXA0Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwQ0FBb0Q7QUFDcEQsdURBQW9EO0FBQ3BELCtCQUFrQztBQUNsQyxrREFBMEI7QUFFMUIsOENBQTJDO0FBQzNDLHNDQUEwRDtBQUUxRCxvREFBZ0Q7QUFHaEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBMEIxQixNQUFhLFdBQVc7SUFDdEIsS0FBSyxDQUFjO0lBQ25CLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVU7SUFDdkIsTUFBTSxDQUFVO0lBQ2hCLGFBQWEsQ0FBYztJQUMzQixhQUFhLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakQsSUFBSSxHQUFHLElBQUEsZUFBSyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBUztJQUNmLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFMUIsWUFBWSxNQUFjLEVBQUUsWUFBMEI7UUFDcEQsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFBLG9CQUFXLEVBQUMsSUFBSSxDQUFD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 |
@@ -1,2 +0,2 @@ | ||
import { AuthHandler, RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { RequestBuilder } from "./request-builder"; | ||
@@ -44,6 +44,2 @@ import { NoteStore, NoteStoreSnapshotData } from "./note-collection"; | ||
/** | ||
* Handler function for NIP-42 | ||
*/ | ||
HandleAuth?: AuthHandler; | ||
/** | ||
* Get a snapshot of the relay connections | ||
@@ -50,0 +46,0 @@ */ |
@@ -61,2 +61,10 @@ "use strict"; | ||
} | ||
else if (p.includes("?iv=")) { | ||
const [ciphertext, nonce] = p.split("?iv="); | ||
return { | ||
v: 0 /* MessageEncryptorVersion.Nip4 */, | ||
nonce: base_1.base64.decode(nonce), | ||
ciphertext: base_1.base64.decode(ciphertext), | ||
}; | ||
} | ||
else { | ||
@@ -76,2 +84,2 @@ const buf = base_1.base64.decode(p); | ||
exports.encodeEncryptionPayload = encodeEncryptionPayload; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxzQ0FBcUM7QUFFckMsaURBQStCO0FBQy9CLDJDQUFvRDtBQUEzQyx3SEFBQSxPQUFPLE9BQWE7QUFDN0IsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0Isb0RBQWtDO0FBQ2xDLG9EQUFrQztBQUNsQyxvREFBa0M7QUFDbEMsa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3QixrREFBZ0M7QUFDaEMseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsd0NBQXNCO0FBQ3RCLDZDQUEyQjtBQUMzQixvREFBa0M7QUFDbEMsOENBQTRCO0FBRTVCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUU3QixnREFBOEI7QUFDOUIsc0RBQW9DO0FBQ3BDLHdEQUFzQztBQUN0Qyx1REFBcUM7QUEwR3JDLFNBQWdCLHVCQUF1QixDQUFDLENBQVM7SUFDL0MsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXFELENBQUM7UUFDN0UsT0FBTztZQUNMLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNQLEtBQUssRUFBRSxhQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsVUFBVSxFQUFFLGFBQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNkLENBQUM7S0FDOUI7U0FBTTtRQUNMLE1BQU0sR0FBRyxHQUFHLGFBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTztZQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ1QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQixVQUFVLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDRixDQUFDO0tBQzlCO0FBQ0gsQ0FBQztBQWhCRCwwREFnQkM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxDQUEwQjtJQUNoRSxPQUFPLGFBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUZELDBEQUVDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxzQ0FBcUM7QUFFckMsaURBQStCO0FBQy9CLDJDQUFvRDtBQUEzQyx3SEFBQSxPQUFPLE9BQWE7QUFDN0IsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0Isb0RBQWtDO0FBQ2xDLG9EQUFrQztBQUNsQyxvREFBa0M7QUFDbEMsa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3QixrREFBZ0M7QUFDaEMseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsd0NBQXNCO0FBQ3RCLDZDQUEyQjtBQUMzQixvREFBa0M7QUFDbEMsOENBQTRCO0FBRTVCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUU3QixnREFBOEI7QUFDOUIsc0RBQW9DO0FBQ3BDLHdEQUFzQztBQUN0Qyx1REFBcUM7QUFxR3JDLFNBQWdCLHVCQUF1QixDQUFDLENBQVM7SUFDL0MsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXFELENBQUM7UUFDN0UsT0FBTztZQUNMLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNQLEtBQUssRUFBRSxhQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsVUFBVSxFQUFFLGFBQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUN6QyxDQUFDO0tBQ0g7U0FBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDN0IsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU87WUFDTCxDQUFDLHNDQUE4QjtZQUMvQixLQUFLLEVBQUUsYUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDM0IsVUFBVSxFQUFFLGFBQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3RDLENBQUM7S0FDSDtTQUFNO1FBQ0wsTUFBTSxHQUFHLEdBQUcsYUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixPQUFPO1lBQ0wsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDVCxLQUFLLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUM3QixDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBdkJELDBEQXVCQztBQUVELFNBQWdCLHVCQUF1QixDQUFDLENBQTBCO0lBQ2hFLE9BQU8sYUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBRkQsMERBRUMifQ== |
@@ -9,3 +9,4 @@ import { HexKey } from "./nostr"; | ||
Relay = "nrelay", | ||
Address = "naddr" | ||
Address = "naddr", | ||
Req = "nreq" | ||
} | ||
@@ -23,5 +24,5 @@ export declare enum TLVEntryType { | ||
} | ||
export declare function encodeTLV(prefix: NostrPrefix, id: string, relays?: string[], kind?: number, author?: string): `npub1${string}` | `nsec1${string}` | `note1${string}` | `nprofile1${string}` | `nevent1${string}` | `nrelay1${string}` | `naddr1${string}`; | ||
export declare function encodeTLVEntries(prefix: NostrPrefix, ...entries: Array<TLVEntry>): `npub1${string}` | `nsec1${string}` | `note1${string}` | `nprofile1${string}` | `nevent1${string}` | `nrelay1${string}` | `naddr1${string}`; | ||
export declare function encodeTLV(prefix: NostrPrefix, id: string, relays?: string[], kind?: number, author?: string): `npub1${string}` | `nsec1${string}` | `note1${string}` | `nprofile1${string}` | `nevent1${string}` | `nrelay1${string}` | `naddr1${string}` | `nreq1${string}`; | ||
export declare function encodeTLVEntries(prefix: NostrPrefix, ...entries: Array<TLVEntry>): `npub1${string}` | `nsec1${string}` | `note1${string}` | `nprofile1${string}` | `nevent1${string}` | `nrelay1${string}` | `naddr1${string}` | `nreq1${string}`; | ||
export declare function decodeTLV(str: string): TLVEntry[]; | ||
//# sourceMappingURL=links.d.ts.map |
@@ -57,3 +57,5 @@ "use strict"; | ||
case TLVEntryType.Special: { | ||
const buf = prefix === "naddr" /* NostrPrefix.Address */ ? enc.encode(v.value) : utils.hexToBytes(v.value); | ||
const buf = prefix === "naddr" /* NostrPrefix.Address */ || prefix === "nreq" /* NostrPrefix.Req */ | ||
? enc.encode(v.value) | ||
: utils.hexToBytes(v.value); | ||
buffers.push(0, buf.length, ...buf); | ||
@@ -106,4 +108,4 @@ break; | ||
case TLVEntryType.Special: { | ||
if (prefix === "naddr" /* NostrPrefix.Address */) { | ||
return new TextDecoder("ASCII").decode(data); | ||
if (prefix === "naddr" /* NostrPrefix.Address */ || prefix === "nreq" /* NostrPrefix.Req */) { | ||
return new TextDecoder().decode(data); | ||
} | ||
@@ -121,6 +123,6 @@ else { | ||
case TLVEntryType.Relay: { | ||
return new TextDecoder("ASCII").decode(data); | ||
return new TextDecoder().decode(data); | ||
} | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGlua3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvRUFBc0Q7QUFDdEQsc0NBQXFDO0FBZXJDLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gsaURBQVMsQ0FBQTtJQUNULG1EQUFVLENBQUE7SUFDViwrQ0FBUSxDQUFBO0FBQ1YsQ0FBQyxFQUxXLFlBQVksNEJBQVosWUFBWSxRQUt2QjtBQVFELFNBQWdCLFNBQVMsQ0FBQyxNQUFtQixFQUFFLEVBQVUsRUFBRSxNQUFpQixFQUFFLElBQWEsRUFBRSxNQUFlO0lBQzFHLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7SUFDOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxzQ0FBd0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVuRixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEMsTUFBTSxHQUFHLEdBQ1AsTUFBTTtRQUNKLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ1IsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUM7U0FDRCxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFFbEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFL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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGlua3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvRUFBc0Q7QUFDdEQsc0NBQXFDO0FBZ0JyQyxJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDdEIscURBQVcsQ0FBQTtJQUNYLGlEQUFTLENBQUE7SUFDVCxtREFBVSxDQUFBO0lBQ1YsK0NBQVEsQ0FBQTtBQUNWLENBQUMsRUFMVyxZQUFZLDRCQUFaLFlBQVksUUFLdkI7QUFRRCxTQUFnQixTQUFTLENBQUMsTUFBbUIsRUFBRSxFQUFVLEVBQUUsTUFBaUIsRUFBRSxJQUFhLEVBQUUsTUFBZTtJQUMxRyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sc0NBQXdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkYsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxHQUNQLE1BQU07UUFDSixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNSLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBRWxCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FB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 |
@@ -1,3 +0,11 @@ | ||
import { NostrPrefix, NostrEvent, TaggedNostrEvent, Tag } from "."; | ||
export declare class NostrLink { | ||
import { NostrEvent, NostrPrefix, Tag, TaggedNostrEvent } from "."; | ||
export interface ToNostrEventTag { | ||
toEventTag(): Array<string> | undefined; | ||
} | ||
export declare class NostrHashtagLink implements ToNostrEventTag { | ||
readonly tag: string; | ||
constructor(tag: string); | ||
toEventTag(): string[] | undefined; | ||
} | ||
export declare class NostrLink implements ToNostrEventTag { | ||
readonly type: NostrPrefix; | ||
@@ -9,3 +17,3 @@ readonly id: string; | ||
constructor(type: NostrPrefix, id: string, kind?: number | undefined, author?: string | undefined, relays?: string[] | undefined); | ||
encode(): string; | ||
encode(type?: NostrPrefix): string; | ||
toEventTag(): string[] | undefined; | ||
@@ -24,2 +32,3 @@ matchesEvent(ev: NostrEvent): boolean; | ||
static fromTag(tag: Array<string>): NostrLink; | ||
static fromTags(tags: Array<Array<string>>): NostrLink[]; | ||
static fromEvent(ev: TaggedNostrEvent | NostrEvent): NostrLink; | ||
@@ -26,0 +35,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.parseNostrLink = exports.tryParseNostrLink = exports.validateNostrLink = exports.NostrLink = void 0; | ||
exports.parseNostrLink = exports.tryParseNostrLink = exports.validateNostrLink = exports.NostrLink = exports.NostrHashtagLink = void 0; | ||
const shared_1 = require("@snort/shared"); | ||
const _1 = require("."); | ||
const utils_1 = require("./utils"); | ||
class NostrHashtagLink { | ||
tag; | ||
constructor(tag) { | ||
this.tag = tag; | ||
} | ||
toEventTag() { | ||
return ["t", this.tag]; | ||
} | ||
} | ||
exports.NostrHashtagLink = NostrHashtagLink; | ||
class NostrLink { | ||
@@ -19,9 +29,20 @@ type; | ||
this.relays = relays; | ||
if (type !== "naddr" /* NostrPrefix.Address */ && !(0, shared_1.isHex)(id)) { | ||
throw new Error("ID must be hex"); | ||
} | ||
} | ||
encode() { | ||
if (this.type === "note" /* NostrPrefix.Note */ || this.type === "nsec" /* NostrPrefix.PrivateKey */ || this.type === "npub" /* NostrPrefix.PublicKey */) { | ||
return (0, shared_1.hexToBech32)(this.type, this.id); | ||
encode(type) { | ||
try { | ||
// cant encode 'naddr' to 'note'/'nevent' because 'id' is not hex | ||
let newType = this.type === "naddr" /* NostrPrefix.Address */ ? this.type : type ?? this.type; | ||
if (newType === "note" /* NostrPrefix.Note */ || newType === "nsec" /* NostrPrefix.PrivateKey */ || newType === "npub" /* NostrPrefix.PublicKey */) { | ||
return (0, shared_1.hexToBech32)(newType, this.id); | ||
} | ||
else { | ||
return (0, _1.encodeTLV)(newType, this.id, this.relays, this.kind, this.author); | ||
} | ||
} | ||
else { | ||
return (0, _1.encodeTLV)(this.type, this.id, this.relays, this.kind, this.author); | ||
catch (e) { | ||
console.error("Invalid data", this, e); | ||
throw e; | ||
} | ||
@@ -31,4 +52,4 @@ } | ||
const relayEntry = this.relays ? [this.relays[0]] : []; | ||
if (this.type === "npub" /* NostrPrefix.PublicKey */) { | ||
return ["p", this.id]; | ||
if (this.type === "npub" /* NostrPrefix.PublicKey */ || this.type === "nprofile" /* NostrPrefix.Profile */) { | ||
return ["p", this.id, ...relayEntry]; | ||
} | ||
@@ -153,2 +174,12 @@ else if (this.type === "note" /* NostrPrefix.Note */ || this.type === "nevent" /* NostrPrefix.Event */) { | ||
} | ||
static fromTags(tags) { | ||
return (0, shared_1.removeUndefined)(tags.map(a => { | ||
try { | ||
return NostrLink.fromTag(a); | ||
} | ||
catch { | ||
// ignored, cant be mapped | ||
} | ||
})); | ||
} | ||
static fromEvent(ev) { | ||
@@ -190,3 +221,5 @@ const relays = "relays" in ev ? ev.relays : undefined; | ||
function parseNostrLink(link, prefixHint) { | ||
const entity = link.startsWith("web+nostr:") || link.startsWith("nostr:") ? link.split(":")[1] : link; | ||
let entity = link.startsWith("web+nostr:") || link.startsWith("nostr:") ? link.split(":")[1] : link; | ||
// trim any non-bech32 chars | ||
entity = entity.match(/(n(?:pub|profile|event|ote|addr|req)1[acdefghjklmnpqrstuvwxyz023456789]+)/)?.[0] ?? entity; | ||
const isPrefix = (prefix) => { | ||
@@ -207,3 +240,6 @@ return entity.startsWith(prefix); | ||
} | ||
else if (isPrefix("nprofile" /* NostrPrefix.Profile */) || isPrefix("nevent" /* NostrPrefix.Event */) || isPrefix("naddr" /* NostrPrefix.Address */)) { | ||
else if (isPrefix("nprofile" /* NostrPrefix.Profile */) || | ||
isPrefix("nevent" /* NostrPrefix.Event */) || | ||
isPrefix("naddr" /* NostrPrefix.Address */) || | ||
isPrefix("nreq" /* NostrPrefix.Req */)) { | ||
const decoded = (0, _1.decodeTLV)(entity); | ||
@@ -227,2 +263,5 @@ const id = decoded.find(a => a.type === _1.TLVEntryType.Special)?.value; | ||
} | ||
else if (isPrefix("nreq" /* NostrPrefix.Req */)) { | ||
return new NostrLink("nreq" /* NostrPrefix.Req */, id); | ||
} | ||
} | ||
@@ -235,2 +274,2 @@ else if (prefixHint) { | ||
exports.parseNostrLink = parseNostrLink; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9zdHItbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ub3N0ci1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFpRTtBQUNqRSx3QkFVVztBQUNYLG1DQUFrQztBQUVsQyxNQUFhLFNBQVM7SUFFVDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFgsWUFDVyxJQUFpQixFQUNqQixFQUFVLEVBQ1YsSUFBYSxFQUNiLE1BQWUsRUFDZixNQUFzQjtRQUp0QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUNmLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQzlCLENBQUM7SUFFSixNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxrQ0FBcUIsSUFBSSxJQUFJLENBQUMsSUFBSSx3Q0FBMkIsSUFBSSxJQUFJLENBQUMsSUFBSSx1Q0FBMEIsRUFBRTtZQUNqSCxPQUFPLElBQUEsb0JBQVcsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsT0FBTyxJQUFBLFlBQVMsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzRTtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxJQUFJLHVDQUEwQixFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxHQUFH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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9zdHItbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ub3N0ci1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUF5RjtBQUN6Rix3QkFVVztBQUNYLG1DQUFrQztBQU1sQyxNQUFhLGdCQUFnQjtJQUNOO0lBQXJCLFlBQXFCLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO0lBQUcsQ0FBQztJQUVwQyxVQUFVO1FBQ1IsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBTkQsNENBTUM7QUFFRCxNQUFhLFNBQVM7SUFFVDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFgsWUFDVyxJQUFpQixFQUNqQixFQUFVLEVBQ1YsSUFBYSxFQUNiLE1BQWUsRUFDZixNQUFzQjtRQUp0QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUNmLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRS9CLElBQUksSUFBSSxzQ0FBd0IsSUFBSSxDQUFDLElBQUEsY0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsSUFBa0I7UUFDdkIsSUFBSTtZQUNGLGlFQUFpRTtZQUNqRSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxzQ0FBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDaEYsSUFBSSxPQUFPLGtDQUFxQixJQUFJLE9BQU8sd0NBQTJCLElBQUksT0FBTyx1Q0FBMEIsRUFBRTtnQkFDM0csT0FBTyxJQUFB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 |
@@ -1,4 +0,5 @@ | ||
import { ExternalStore, FeedCache } from "@snort/shared"; | ||
import EventEmitter from "eventemitter3"; | ||
import { FeedCache } from "@snort/shared"; | ||
import { NostrEvent, TaggedNostrEvent } from "./nostr"; | ||
import { AuthHandler, Connection, RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { Connection, RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { Query } from "./query"; | ||
@@ -10,6 +11,11 @@ import { NoteStore, NoteStoreSnapshotData } from "./note-collection"; | ||
import { QueryOptimizer } from "./query-optimizer"; | ||
interface NostrSystemEvents { | ||
change: (state: SystemSnapshot) => void; | ||
auth: (challenge: string, relay: string, cb: (ev: NostrEvent) => void) => void; | ||
event: (ev: TaggedNostrEvent) => void; | ||
} | ||
/** | ||
* Manages nostr content retrieval system | ||
*/ | ||
export declare class NostrSystem extends ExternalStore<SystemSnapshot> implements SystemInterface { | ||
export declare class NostrSystem extends EventEmitter<NostrSystemEvents> implements SystemInterface { | ||
#private; | ||
@@ -25,3 +31,2 @@ /** | ||
constructor(props: { | ||
authHandler?: AuthHandler; | ||
relayCache?: FeedCache<UsersRelays>; | ||
@@ -35,3 +40,2 @@ profileCache?: FeedCache<MetadataCache>; | ||
}); | ||
HandleAuth?: AuthHandler | undefined; | ||
get ProfileLoader(): ProfileLoaderService; | ||
@@ -63,25 +67,3 @@ get Sockets(): ConnectionStateSnapshot[]; | ||
}, req: RequestBuilder): Query; | ||
SendQuery(q: Query, qSend: BuiltRawReqFilter): Promise<{ | ||
readonly id: string; | ||
readonly start: number; | ||
sent?: number | undefined; | ||
eose?: number | undefined; | ||
close?: number | undefined; | ||
"__#11@#wasForceClosed": boolean; | ||
readonly "__#11@#fnClose": (id: string) => void; | ||
readonly "__#11@#fnProgress": () => void; | ||
readonly relay: string; | ||
readonly filters: import("./nostr").ReqFilter[]; | ||
readonly connId: string; | ||
sentToRelay(): void; | ||
gotEose(): void; | ||
forceEose(): void; /** | ||
* All currently connected websockets | ||
*/ | ||
sendClose(): void; | ||
readonly queued: number; | ||
readonly runtime: number; | ||
readonly responseTime: number; | ||
readonly finished: boolean; | ||
}[] | undefined>; | ||
SendQuery(q: Query, qSend: BuiltRawReqFilter): Promise<import("./query").QueryTrace[] | undefined>; | ||
/** | ||
@@ -96,3 +78,5 @@ * Send events to writable relays | ||
takeSnapshot(): SystemSnapshot; | ||
notifyChange(): void; | ||
} | ||
export {}; | ||
//# sourceMappingURL=nostr-system.d.ts.map |
@@ -8,2 +8,3 @@ "use strict"; | ||
const debug_1 = __importDefault(require("debug")); | ||
const eventemitter3_1 = __importDefault(require("eventemitter3")); | ||
const shared_1 = require("@snort/shared"); | ||
@@ -22,3 +23,3 @@ const connection_1 = require("./connection"); | ||
*/ | ||
class NostrSystem extends shared_1.ExternalStore { | ||
class NostrSystem extends eventemitter3_1.default { | ||
#log = (0, debug_1.default)("System"); | ||
@@ -34,6 +35,2 @@ /** | ||
/** | ||
* NIP-42 Auth handler | ||
*/ | ||
#handleAuth; | ||
/** | ||
* Storage class for user relay lists | ||
@@ -72,3 +69,2 @@ */ | ||
super(); | ||
this.#handleAuth = props.authHandler; | ||
this.#relayCache = props.relayCache ?? new _1.UserRelaysCache(props.db?.userRelays); | ||
@@ -84,3 +80,2 @@ this.#profileCache = props.profileCache ?? new _1.UserProfileCache(props.db?.users); | ||
} | ||
HandleAuth; | ||
get ProfileLoader() { | ||
@@ -90,3 +85,3 @@ return this.#profileLoader; | ||
get Sockets() { | ||
return [...this.#sockets.values()].map(a => a.snapshot()); | ||
return [...this.#sockets.values()].map(a => a.takeSnapshot()); | ||
} | ||
@@ -115,11 +110,13 @@ get RelayCache() { | ||
async ConnectToRelay(address, options) { | ||
const addr = (0, shared_1.unwrap)((0, shared_1.sanitizeRelayUrl)(address)); | ||
try { | ||
const addr = (0, shared_1.unwrap)((0, shared_1.sanitizeRelayUrl)(address)); | ||
if (!this.#sockets.has(addr)) { | ||
const c = new connection_1.Connection(addr, options, this.#handleAuth?.bind(this)); | ||
const existing = this.#sockets.get(addr); | ||
if (!existing) { | ||
const c = new connection_1.Connection(addr, options); | ||
this.#sockets.set(addr, c); | ||
c.OnEvent = (s, e) => this.#onEvent(s, e); | ||
c.OnEose = s => this.#onEndOfStoredEvents(c, s); | ||
c.OnDisconnect = code => this.#onRelayDisconnect(c, code); | ||
c.OnConnected = r => this.#onRelayConnected(c, r); | ||
c.on("event", (s, e) => this.#onEvent(s, e)); | ||
c.on("eose", s => this.#onEndOfStoredEvents(c, s)); | ||
c.on("disconnect", code => this.#onRelayDisconnect(c, code)); | ||
c.on("connected", r => this.#onRelayConnected(c, r)); | ||
c.on("auth", (c, r, cb) => this.emit("auth", c, r, cb)); | ||
await c.Connect(); | ||
@@ -129,3 +126,4 @@ } | ||
// update settings if already connected | ||
(0, shared_1.unwrap)(this.#sockets.get(addr)).Settings = options; | ||
existing.Settings = options; | ||
existing.Ephemeral = false; | ||
} | ||
@@ -135,5 +133,7 @@ } | ||
console.error(e); | ||
this.#relayMetrics.onDisconnect(addr, 0); | ||
} | ||
} | ||
#onRelayConnected(c, wasReconnect) { | ||
this.#relayMetrics.onConnect(c.Address); | ||
if (wasReconnect) { | ||
@@ -146,3 +146,3 @@ for (const [, q] of this.Queries) { | ||
#onRelayDisconnect(c, code) { | ||
this.#relayMetrics.onDisconnect(c, code); | ||
this.#relayMetrics.onDisconnect(c.Address, code); | ||
for (const [, q] of this.Queries) { | ||
@@ -158,2 +158,4 @@ q.connectionLost(c.Id); | ||
#onEvent(sub, ev) { | ||
this.#relayMetrics.onEvent(ev.relays[0]); | ||
this.emit("event", ev); | ||
if (!_1.EventExt.isValid(ev)) { | ||
@@ -179,8 +181,9 @@ this.#log("Rejecting invalid event %O", ev); | ||
if (!this.#sockets.has(addr)) { | ||
const c = new connection_1.Connection(addr, { read: true, write: true }, this.#handleAuth?.bind(this), true); | ||
const c = new connection_1.Connection(addr, { read: true, write: true }, true); | ||
this.#sockets.set(addr, c); | ||
c.OnEvent = (s, e) => this.#onEvent(s, e); | ||
c.OnEose = s => this.#onEndOfStoredEvents(c, s); | ||
c.OnDisconnect = code => this.#onRelayDisconnect(c, code); | ||
c.OnConnected = r => this.#onRelayConnected(c, r); | ||
c.on("event", (s, e) => this.#onEvent(s, e)); | ||
c.on("eose", s => this.#onEndOfStoredEvents(c, s)); | ||
c.on("disconnect", code => this.#onRelayDisconnect(c, code)); | ||
c.on("connected", r => this.#onRelayConnected(c, r)); | ||
c.on("auth", (c, r, cb) => this.emit("auth", c, r, cb)); | ||
await c.Connect(); | ||
@@ -259,2 +262,3 @@ return c; | ||
const q = new query_1.Query(req.id, req.instance, store, req.options?.leaveOpen); | ||
q.on("trace", r => this.#relayMetrics.onTraceReport(r)); | ||
if (filters.some(a => a.filters.some(b => b.ids))) { | ||
@@ -368,5 +372,5 @@ const expectIds = new Set(filters.flatMap(a => a.filters).flatMap(a => a.ids ?? [])); | ||
return await new Promise((resolve, reject) => { | ||
const c = new connection_1.Connection(address, { write: true, read: true }, this.#handleAuth?.bind(this), true); | ||
const c = new connection_1.Connection(address, { write: true, read: true }, true); | ||
const t = setTimeout(reject, 10_000); | ||
c.OnConnected = async () => { | ||
c.once("connected", async () => { | ||
clearTimeout(t); | ||
@@ -376,3 +380,3 @@ const rsp = await c.SendAsync(ev); | ||
resolve(rsp); | ||
}; | ||
}); | ||
c.Connect(); | ||
@@ -393,2 +397,5 @@ }); | ||
} | ||
notifyChange() { | ||
this.emit("change", this.takeSnapshot()); | ||
} | ||
#cleanup() { | ||
@@ -411,2 +418,2 @@ let changed = false; | ||
exports.NostrSystem = NostrSystem; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9zdHItc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25vc3RyLXN5c3RlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFFMUIsMENBQW9HO0FBRXBHLDZDQUEyRztBQUMzRyxtQ0FBZ0M7QUFDaEMsdURBQXFGO0FBQ3JGLHVEQUF1RjtBQUN2RixpRUFBNEQ7QUFDNUQsd0JBWVc7QUFDWCwyQ0FBNkM7QUFFN0MsdURBQTBFO0FBQzFFLGlEQUE2QztBQUU3Qzs7R0FFRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUE2QjtJQUM1RCxJQUFJLEdBQUcsSUFBQSxlQUFLLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFdkI7O09BRUc7SUFDSCxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUM7SUFFekM7O09BRUc7SUFDSCxPQUFPLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFeEM7O09BRUc7SUFDSCxXQUFXLENBQWU7SUFFMUI7O09BRUc7SUFDSCxXQUFXLENBQXlCO0lBRXBDOztPQUVHO0lBQ0gsYUFBYSxDQUEyQjtJQUV4Qzs7T0FFRztJQUNILGtCQUFrQixDQUEwQjtJQUU1Qzs7T0FFRztJQUNILGNBQWMsQ0FBdUI7SUFFckM7O09BRUc7SUFDSCxhQUFhLENBQXFCO0lBRWxDOztPQUVHO0lBQ0gsWUFBWSxDQUF3QjtJQUVwQzs7T0FFRztJQUNILGVBQWUsQ0FBaUI7SUFFaEM7O09BRUc7SUFDSCxTQUFTLENBQVU7SUFFbkIsWUFBWSxLQVNYO1FBQ0MsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksa0JBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FB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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9zdHItc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25vc3RyLXN5c3RlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsa0VBQXlDO0FBRXpDLDBDQUFxRjtBQUVyRiw2Q0FBOEY7QUFDOUYsbUNBQWdDO0FBQ2hDLHVEQUFxRjtBQUNyRix1REFBdUY7QUFDdkYsaUVBQTREO0FBQzVELHdCQVlXO0FBQ1gsMkNBQTZDO0FBRTdDLHVEQUEwRTtBQUMxRSxpREFBNkM7QUFRN0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSx1QkFBK0I7SUFDOUQsSUFBSSxHQUFHLElBQUEsZUFBSyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZCOztPQUVHO0lBQ0gsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBRXpDOztPQUVHO0lBQ0gsT0FBTyxHQUF1QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXhDOztPQUVHO0lBQ0gsV0FBVyxDQUF5QjtJQUVwQzs7T0FFRztJQUNILGFBQWEsQ0FBMkI7SUFFeEM7O09BRUc7SUFDSCxrQkFBa0IsQ0FBMEI7SUFFNUM7O09BRUc7SUFDSCxjQUFjLENBQXVCO0lBRXJDOztPQUVHO0lBQ0gsYUFBYSxDQUFxQjtJQUVsQzs7T0FFRztJQUNILFlBQVksQ0FBd0I7SUFFcEM7O09BRUc7SUFDSCxlQUFlLENBQWlCO0lBRWhDOztPQUVHO0lBQ0gsU0FBUyxDQUFVO0lBRW5CLFlBQVksS0FRWDtRQUNDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksa0JBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLG1CQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxD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 |
@@ -15,3 +15,7 @@ import { RelaySettings } from "./connection"; | ||
*/ | ||
relays: string[]; | ||
relays: Array<string>; | ||
/** | ||
* Additional context | ||
*/ | ||
context?: object; | ||
} | ||
@@ -65,12 +69,2 @@ /** | ||
}; | ||
/** | ||
* NIP-51 list types | ||
*/ | ||
export declare enum Lists { | ||
Muted = "mute", | ||
Pinned = "pin", | ||
Bookmarked = "bookmark", | ||
Followed = "follow", | ||
Badges = "profile_badges" | ||
} | ||
export interface FullRelaySettings { | ||
@@ -77,0 +71,0 @@ url: string; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Lists = void 0; | ||
/** | ||
* NIP-51 list types | ||
*/ | ||
var Lists; | ||
(function (Lists) { | ||
Lists["Muted"] = "mute"; | ||
Lists["Pinned"] = "pin"; | ||
Lists["Bookmarked"] = "bookmark"; | ||
Lists["Followed"] = "follow"; | ||
Lists["Badges"] = "profile_badges"; | ||
})(Lists || (exports.Lists = Lists = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9zdHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9zdHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0VBOztHQUVHO0FBQ0gsSUFBWSxLQU1YO0FBTkQsV0FBWSxLQUFLO0lBQ2YsdUJBQWMsQ0FBQTtJQUNkLHVCQUFjLENBQUE7SUFDZCxnQ0FBdUIsQ0FBQTtJQUN2Qiw0QkFBbUIsQ0FBQTtJQUNuQixrQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBTlcsS0FBSyxxQkFBTCxLQUFLLFFBTWhCIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9zdHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9zdHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 |
@@ -78,2 +78,3 @@ import { TaggedNostrEvent } from "."; | ||
relays: string[]; | ||
context?: object | undefined; | ||
id: string; | ||
@@ -80,0 +81,0 @@ pubkey: string; |
@@ -0,8 +1,14 @@ | ||
import EventEmitter from "eventemitter3"; | ||
import { Connection, ReqFilter, TaggedNostrEvent } from "."; | ||
import { NoteStore } from "./note-collection"; | ||
import { BuiltRawReqFilter } from "./request-builder"; | ||
interface QueryTraceEvents { | ||
change: () => void; | ||
close: (id: string) => void; | ||
eose: (id: string, connId: string, wasForced: boolean) => void; | ||
} | ||
/** | ||
* Tracing for relay query status | ||
*/ | ||
declare class QueryTrace { | ||
export declare class QueryTrace extends EventEmitter<QueryTraceEvents> { | ||
#private; | ||
@@ -17,3 +23,3 @@ readonly relay: string; | ||
close?: number; | ||
constructor(relay: string, filters: Array<ReqFilter>, connId: string, fnClose: (id: string) => void, fnProgress: () => void); | ||
constructor(relay: string, filters: Array<ReqFilter>, connId: string); | ||
sentToRelay(): void; | ||
@@ -54,6 +60,16 @@ gotEose(): void; | ||
} | ||
export interface TraceReport { | ||
id: string; | ||
conn: Connection; | ||
wasForced: boolean; | ||
queued: number; | ||
responseTime: number; | ||
} | ||
interface QueryEvents { | ||
trace: (report: TraceReport) => void; | ||
} | ||
/** | ||
* Active or queued query on the system | ||
*/ | ||
export declare class Query implements QueryBase { | ||
export declare class Query extends EventEmitter<QueryEvents> implements QueryBase { | ||
#private; | ||
@@ -60,0 +76,0 @@ /** |
@@ -6,5 +6,6 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Query = void 0; | ||
exports.Query = exports.QueryTrace = void 0; | ||
const uuid_1 = require("uuid"); | ||
const debug_1 = __importDefault(require("debug")); | ||
const eventemitter3_1 = __importDefault(require("eventemitter3")); | ||
const shared_1 = require("@snort/shared"); | ||
@@ -16,3 +17,3 @@ const _1 = require("."); | ||
*/ | ||
class QueryTrace { | ||
class QueryTrace extends eventemitter3_1.default { | ||
relay; | ||
@@ -27,5 +28,4 @@ filters; | ||
#wasForceClosed = false; | ||
#fnClose; | ||
#fnProgress; | ||
constructor(relay, filters, connId, fnClose, fnProgress) { | ||
constructor(relay, filters, connId) { | ||
super(); | ||
this.relay = relay; | ||
@@ -36,22 +36,23 @@ this.filters = filters; | ||
this.start = (0, shared_1.unixNowMs)(); | ||
this.#fnClose = fnClose; | ||
this.#fnProgress = fnProgress; | ||
} | ||
sentToRelay() { | ||
this.sent = (0, shared_1.unixNowMs)(); | ||
this.#fnProgress(); | ||
this.emit("change"); | ||
} | ||
gotEose() { | ||
this.eose = (0, shared_1.unixNowMs)(); | ||
this.#fnProgress(); | ||
this.emit("change"); | ||
this.emit("eose", this.id, this.connId, false); | ||
} | ||
forceEose() { | ||
this.sent ??= (0, shared_1.unixNowMs)(); | ||
this.eose = (0, shared_1.unixNowMs)(); | ||
this.#wasForceClosed = true; | ||
this.sendClose(); | ||
this.emit("eose", this.id, this.connId, true); | ||
} | ||
sendClose() { | ||
this.close = (0, shared_1.unixNowMs)(); | ||
this.#fnClose(this.id); | ||
this.#fnProgress(); | ||
this.emit("close", this.id); | ||
this.emit("change"); | ||
} | ||
@@ -83,6 +84,7 @@ /** | ||
} | ||
exports.QueryTrace = QueryTrace; | ||
/** | ||
* Active or queued query on the system | ||
*/ | ||
class Query { | ||
class Query extends eventemitter3_1.default { | ||
/** | ||
@@ -118,2 +120,3 @@ * Uniquie ID of this query | ||
constructor(id, instance, feed, leaveOpen) { | ||
super(); | ||
this.id = id; | ||
@@ -147,3 +150,3 @@ this.#feed = feed; | ||
else { | ||
this.#log("Event did not match filter, rejecting %O", e); | ||
this.#log("Event did not match filter, rejecting %O %O", e, t); | ||
} | ||
@@ -170,7 +173,3 @@ break; | ||
insertCompletedTrace(subq, data) { | ||
const qt = new QueryTrace(subq.relay, subq.filters, "", () => { | ||
// nothing to close | ||
}, () => { | ||
// nothing to progress | ||
}); | ||
const qt = new QueryTrace(subq.relay, subq.filters, ""); | ||
qt.sentToRelay(); | ||
@@ -260,3 +259,12 @@ qt.gotEose(); | ||
#sendQueryInternal(c, q) { | ||
const qt = new QueryTrace(c.Address, q.filters, c.Id, x => c.CloseReq(x), () => this.#onProgress()); | ||
const qt = new QueryTrace(c.Address, q.filters, c.Id); | ||
qt.on("close", x => c.CloseReq(x)); | ||
qt.on("change", () => this.#onProgress()); | ||
qt.on("eose", (id, connId, forced) => this.emit("trace", { | ||
id, | ||
conn: c, | ||
wasForced: forced, | ||
queued: qt.queued, | ||
responseTime: qt.responseTime, | ||
})); | ||
this.#tracing.push(qt); | ||
@@ -268,2 +276,2 @@ c.QueueReq(["REQ", qt.id, ...qt.filters], () => qt.sentToRelay()); | ||
exports.Query = Query; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0JBQWtDO0FBQ2xDLGtEQUEwQjtBQUMxQiwwQ0FBa0Q7QUFFbEQsd0JBQWtFO0FBR2xFLHVEQUF1RDtBQUV2RDs7R0FFRztBQUNILE1BQU0sVUFBVTtJQVdIO0lBQ0E7SUFDQTtJQVpGLEVBQUUsQ0FBUztJQUNYLEtBQUssQ0FBUztJQUN2QixJQUFJLENBQVU7SUFDZCxJQUFJLENBQVU7SUFDZCxLQUFLLENBQVU7SUFDZixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ2YsUUFBUSxDQUF1QjtJQUMvQixXQUFXLENBQWE7SUFFakMsWUFDVyxLQUFhLEVBQ2IsT0FBeUIsRUFDekIsTUFBYyxFQUN2QixPQUE2QixFQUM3QixVQUFzQjtRQUpiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSXZCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBQSxTQUFJLEdBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUEsa0JBQVMsR0FBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLGtCQUFTLEdBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUEsa0JBQVMsR0FBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBQSxrQkFBUyxHQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFBLGtCQUFTLEdBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFBLGtCQUFTLEdBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBQSxlQUFNLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNySCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQVMsR0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsZUFBTSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLGVBQU0sRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQW1CRDs7R0FFRztBQUNILE1BQWEsS0FBSztJQUNoQjs7T0FFRztJQUNILEVBQUUsQ0FBUztJQUVYOztPQUVHO0lBQ0gsWUFBWSxDQUFTO0lBRXJCOztPQUVHO0lBQ0gsUUFBUSxHQUFzQixFQUFFLENBQUM7SUFFakM7O09BRUc7SUFDSCxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRW5COztPQUVHO0lBQ0gsU0FBUyxDQUFVO0lBRW5COztPQUVHO0lBQ0gsV0FBVyxDQUFrQztJQUU3Qzs7T0FFRztJQUNILEtBQUssQ0FBWTtJQUVqQixJQUFJLEdBQUcsSUFBQSxlQUFLLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFdEIsWUFBWSxFQUFVLEVBQUUsUUFBZ0IsRUFBRSxJQUFlLEVBQUUsU0FBbUI7UUFDNUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsa0JBQVMsR0FBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVcsRUFBRSxDQUFtQjtRQUMxQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUEsb0NBQWtCLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNsQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMxRDtnQkFDRCxNQUFNO2FBQ1A7U0FDRjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsa0JBQVMsR0FBRSxHQUFHLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsSUFBdUIsRUFBRSxJQUF1QztRQUNuRixNQUFNLEVBQUUsR0FBRyxJQUFJLFVBQVUsQ0FDdkIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsT0FBTyxFQUNaLEVBQUUsRUFDRixHQUFHLEVBQUU7WUFDSCxtQkFBbUI7UUFDckIsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILHNCQUFzQjtRQUN4QixDQUFDLENBQ0YsQ0FBQztRQUNGLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBYSxFQUFFLElBQXVCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNoQyxPQUFPO1NBQ1I7UUFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBYTtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQzlCLElBQUksRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUMxQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7aUJBQ25FO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzlCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUEwQjtRQUMxQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksUUFBUTtRQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUM3RyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN2QixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM3QixJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtvQkFDcEMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO2lCQUNmO2FBQ0Y7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQWEsRUFBRSxDQUFvQjtRQUMvQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsNkRBQTZELEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBYSxFQUFFLENBQW9CO1FBQ3BELE1BQU0sRUFBRSxHQUFHLElBQUksVUFBVSxDQUN2QixDQUFDLENBQUMsT0FBTyxFQUNULENBQUMsQ0FBQyxPQUFPLEVBQ1QsQ0FBQyxDQUFDLEVBQUUsRUFDSixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNsRSxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQXRORCxzQkFzTkMifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0JBQWtDO0FBQ2xDLGtEQUEwQjtBQUMxQixrRUFBeUM7QUFDekMsMENBQWtEO0FBRWxELHdCQUFrRTtBQUdsRSx1REFBdUQ7QUFRdkQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSx1QkFBOEI7SUFTakQ7SUFDQTtJQUNBO0lBVkYsRUFBRSxDQUFTO0lBQ1gsS0FBSyxDQUFTO0lBQ3ZCLElBQUksQ0FBVTtJQUNkLElBQUksQ0FBVTtJQUNkLEtBQUssQ0FBVTtJQUNmLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFeEIsWUFDVyxLQUFhLEVBQ2IsT0FBeUIsRUFDekIsTUFBYztRQUV2QixLQUFLLEVBQUUsQ0FBQztRQUpDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR3ZCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBQSxTQUFJLEdBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUEsa0JBQVMsR0FBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLGtCQUFTLEdBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLGtCQUFTLEdBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUztRQUNQ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 |
@@ -16,3 +16,7 @@ export interface RelayInfo { | ||
}; | ||
relay_countries?: Array<string>; | ||
language_tags?: Array<string>; | ||
tags?: Array<string>; | ||
posting_policy?: string; | ||
} | ||
//# sourceMappingURL=relay-info.d.ts.map |
import { FeedCache } from "@snort/shared"; | ||
import { Connection } from "connection"; | ||
import { RelayMetrics } from "cache"; | ||
import { TraceReport } from "query"; | ||
export declare class RelayMetricHandler { | ||
#private; | ||
constructor(cache: FeedCache<RelayMetrics>); | ||
onDisconnect(c: Connection, code: number): void; | ||
onEvent(addr: string): Promise<void>; | ||
onConnect(addr: string): Promise<void>; | ||
onDisconnect(addr: string, code: number): Promise<void>; | ||
onTraceReport(t: TraceReport): void; | ||
} | ||
//# sourceMappingURL=relay-metric-handler.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.RelayMetricHandler = void 0; | ||
const shared_1 = require("@snort/shared"); | ||
class RelayMetricHandler { | ||
@@ -8,6 +9,59 @@ #cache; | ||
this.#cache = cache; | ||
setInterval(() => { | ||
this.#flush(); | ||
}, 10_000); | ||
} | ||
onDisconnect(c, code) { } | ||
async onEvent(addr) { | ||
const v = await this.#cache.get(addr); | ||
if (v) { | ||
v.events++; | ||
v.lastSeen = (0, shared_1.unixNowMs)(); | ||
} | ||
} | ||
async onConnect(addr) { | ||
const v = await this.#cache.get(addr); | ||
if (v) { | ||
v.connects++; | ||
v.lastSeen = (0, shared_1.unixNowMs)(); | ||
} | ||
else { | ||
await this.#cache.set({ | ||
addr: addr, | ||
connects: 1, | ||
disconnects: 0, | ||
events: 0, | ||
lastSeen: (0, shared_1.unixNowMs)(), | ||
latency: [], | ||
}); | ||
} | ||
} | ||
async onDisconnect(addr, code) { | ||
const v = await this.#cache.get(addr); | ||
if (v) { | ||
v.disconnects++; | ||
} | ||
else { | ||
await this.#cache.set({ | ||
addr: addr, | ||
connects: 0, | ||
disconnects: 1, | ||
events: 0, | ||
lastSeen: (0, shared_1.unixNowMs)(), | ||
latency: [], | ||
}); | ||
} | ||
} | ||
onTraceReport(t) { | ||
const v = this.#cache.getFromCache(t.conn.Address); | ||
if (v) { | ||
v.latency.push(t.responseTime); | ||
v.latency = v.latency.slice(-50); | ||
} | ||
} | ||
async #flush() { | ||
const data = this.#cache.snapshot(); | ||
await this.#cache.bulkSet(data); | ||
} | ||
} | ||
exports.RelayMetricHandler = RelayMetricHandler; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXktbWV0cmljLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVsYXktbWV0cmljLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxrQkFBa0I7SUFDcEIsTUFBTSxDQUEwQjtJQUV6QyxZQUFZLEtBQThCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBYSxFQUFFLElBQVksSUFBRyxDQUFDO0NBQzdDO0FBUkQsZ0RBUUMifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXktbWV0cmljLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVsYXktbWV0cmljLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMENBQXFEO0FBS3JELE1BQWEsa0JBQWtCO0lBQ3BCLE1BQU0sQ0FBMEI7SUFFekMsWUFBWSxLQUE4QjtRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQVk7UUFDeEIsTUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRTtZQUNMLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBQSxrQkFBUyxHQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUEsa0JBQVMsR0FBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUNwQixJQUFJLEVBQUUsSUFBSTtnQkFDVixRQUFRLEVBQUUsQ0FBQztnQkFDWCxXQUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUUsQ0FBQztnQkFDVCxRQUFRLEVBQUUsSUFBQSxrQkFBUyxHQUFFO2dCQUNyQixPQUFPLEVBQUUsRUFBRTthQUNaLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDM0MsTUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRTtZQUNMLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQjthQUFNO1lBQ0wsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLElBQUEsa0JBQVMsR0FBRTtnQkFDckIsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBYztRQUMxQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFoRUQsZ0RBZ0VDIn0= |
@@ -88,3 +88,3 @@ import EventKind from "./event-kind"; | ||
*/ | ||
relay(u: string): this; | ||
relay(u: string | Array<string>): this; | ||
ids(ids: Array<u256>): this; | ||
@@ -91,0 +91,0 @@ authors(authors?: Array<HexKey>): this; |
@@ -145,5 +145,8 @@ "use strict"; | ||
relay(u) { | ||
const uClean = (0, shared_1.sanitizeRelayUrl)(u); | ||
if (uClean) { | ||
this.#relays.add(uClean); | ||
const relays = Array.isArray(u) ? u : [u]; | ||
for (const r of relays) { | ||
const uClean = (0, shared_1.sanitizeRelayUrl)(r); | ||
if (uClean) { | ||
this.#relays.add(uClean); | ||
} | ||
} | ||
@@ -259,2 +262,2 @@ return this; | ||
exports.RequestFilterBuilder = RequestFilterBuilder; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlcXVlc3QtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsK0JBQWtDO0FBQ2xDLDBDQUEwRjtBQUsxRixpREFBd0Y7QUFFeEY7O0dBRUc7QUFDSCxJQUFZLGVBZ0JYO0FBaEJELFdBQVksZUFBZTtJQUN6Qjs7O09BR0c7SUFDSCx1RUFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILHVFQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gseUVBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQWhCVyxlQUFlLCtCQUFmLGVBQWUsUUFnQjFCO0FBbUJEOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCLEVBQUUsQ0FBUztJQUNYLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQThCO0lBQ3ZDLFFBQVEsQ0FBeUI7SUFDakMsSUFBSSxHQUFHLElBQUEsZUFBSyxFQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFL0IsWUFBWSxFQUFVO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBQSxTQUFJLEdBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEtBQXFCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxHQUFHLEdBQUcsSUFBSSxv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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlcXVlc3QtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsK0JBQWtDO0FBQ2xDLDBDQUEwRjtBQUsxRixpREFBd0Y7QUFFeEY7O0dBRUc7QUFDSCxJQUFZLGVBZ0JYO0FBaEJELFdBQVksZUFBZTtJQUN6Qjs7O09BR0c7SUFDSCx1RUFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILHVFQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gseUVBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQWhCVyxlQUFlLCtCQUFmLGVBQWUsUUFnQjFCO0FBbUJEOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCLEVBQUUsQ0FBUztJQUNYLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQThCO0lBQ3ZDLFFBQVEsQ0FBeUI7SUFDakMsSUFBSSxHQUFHLElBQUEsZUFBSyxFQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFL0IsWUFBWSxFQUFVO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBQSxTQUFJLEdBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEtBQXFCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxHQUFHLEdBQUcsSUFBSSxv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 |
@@ -147,2 +147,23 @@ "use strict"; | ||
} | ||
function extractTagRefs(fragments, tags) { | ||
return fragments | ||
.map(f => { | ||
if (typeof f === "string") { | ||
return f.split(const_1.TagRefRegex).map(i => { | ||
if (i.startsWith("#")) { | ||
const tag = tags[Number(i.slice(2, -1))]; | ||
if (tag) { | ||
return { | ||
type: "mention", | ||
content: `nostr:${nostr_link_1.NostrLink.fromTag(tag).encode()}`, | ||
}; | ||
} | ||
} | ||
return i; | ||
}); | ||
} | ||
return f; | ||
}) | ||
.flat(); | ||
} | ||
function extractCustomEmoji(fragments, tags) { | ||
@@ -195,2 +216,3 @@ return fragments | ||
fragments = extractMentions(fragments); | ||
fragments = extractTagRefs(fragments, tags); | ||
fragments = extractHashtags(fragments); | ||
@@ -214,2 +236,2 @@ fragments = extractInvoices(fragments); | ||
exports.transformText = transformText; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFnRDtBQUVoRCxtQ0FPaUI7QUFDakIsNkNBQWlEO0FBQ2pELG1DQUFxQztBQXFCckMsU0FBUyxZQUFZLENBQUMsU0FBcUI7SUFDekMsT0FBTyxTQUFTO1NBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ1AsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxJQUFBLGtCQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMzQixNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7b0JBQ3hCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFFdEMsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQ2hGLE9BQU8sSUFBQSw4QkFBaUIsRUFBQyxhQUFhLENBQUMsQ0FBQztxQkFDekM7b0JBRUQsT0FBTyxDQUNMLGFBQWEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO3dCQUNqQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzt3QkFDbEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDcEMsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBRUYsSUFBSSxZQUFZLEVBQUUsRUFBRTtvQkFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLDBCQUFrQixDQUFDLENBQUM7b0JBRXpELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNyQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRTs0QkFDdEIsUUFBUSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0NBQ3BCLEtBQUssS0FBSyxDQUFDO2dDQUNYLEtBQUssS0FBSyxDQUFDO2dDQUNYLEtBQUssTUFBTSxDQUFDO2dDQUNaLEtBQUssTUFBTSxDQUFDO2dDQUNaLEtBQUssS0FBSyxDQUFDO2dDQUNYLEtBQUssS0FBSyxDQUFDO2dDQUNYLEtBQUssTUFBTTtvQ0FDVCxPQUFPLE9BQU8sQ0FBQztnQ0FDakIsS0FBSyxLQUFLLENBQUM7Z0NBQ1gsS0FBSyxLQUFLLENBQUM7Z0NBQ1gsS0FBSyxLQUFLO29DQUNSLE9BQU8sT0FBTyxDQUFDO2dDQUNqQixLQUFLLEtBQUssQ0FBQztnQ0FDWCxLQUFLLEtBQUssQ0FBQztnQ0FDWCxLQUFLLEtBQUssQ0FBQztnQ0FDWCxLQUFLLEtBQUssQ0FBQztnQ0FDWCxLQUFLLEtBQUssQ0FBQztnQ0FDWCxLQUFLLE1BQU0sQ0FBQztnQ0FDWixLQUFLLE1BQU07b0NBQ1QsT0FBTyxPQUFPLENBQUM7Z0NBQ2pCO29DQUNFLE9BQU8sU0FBUyxDQUFDOzZCQUNwQjt3QkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNMLE9BQU87NEJBQ0wsSUFBSSxFQUFFLE9BQU87NEJBQ2IsT0FBTyxFQUFFLENBQUM7NEJBQ1YsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTt5QkFDdkIsQ0FBQztxQkFDckI7eUJBQU07d0JBQ0wsT0FBTzs0QkFDTCxJQUFJLEVBQUUsTUFBTTs0QkFDWixPQUFPLEVBQUUsQ0FBQzt5QkFDTyxDQUFDO3FCQUNyQjtpQkFDRjtnQkFDRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQztTQUNELElBQUksRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLFNBQXFCO0lBQzVDLE9BQU8sU0FBUztTQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNQLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQywrQkFBdUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsSUFBSSwrQkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ25DLE9BQU87d0JBQ0wsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFLENBQUM7cUJBQ08sQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLENBQUM7aUJBQ1Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7U0FDRCxJQUFJLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFNBQXFCO0lBQy9DLE9BQU8sU0FBUztTQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNQLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDakQsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLENBQUM7aUJBQ08sQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7U0FDRCxJQUFJLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxTQUFxQjtJQUM1QyxPQUFPLFNBQVM7U0FDYixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDUCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUN6QixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsb0JBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUN0QyxPQUFPO3dCQUNMLElBQUksRUFBRSxTQUFTO3dCQUNmLE9BQU8sRUFBRSxDQUFDO3FCQUNPLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsU0FBcUI7SUFDNUMsT0FBTyxTQUFTO1NBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ1AsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLG9CQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbkMsT0FBTzt3QkFDTCxJQUFJLEVBQUUsU0FBUzt3QkFDZixPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7cUJBQ04sQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLENBQUM7aUJBQ1Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7U0FDRCxJQUFJLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFNBQXFCLEVBQUUsSUFBMEI7SUFDM0UsT0FBTyxTQUFTO1NBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ1AsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsRUFBRTtvQkFDTCxPQUFPO3dCQUNMLElBQUksRUFBRSxjQUFjO3dCQUNwQixPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDSSxDQUFDO2lCQUNyQjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsQ0FBQztpQkFDVjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQztTQUNELElBQUksRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsU0FBcUI7SUFDaEQsT0FBTyxTQUFTO1NBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ1AsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDNUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM1QyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRS9DLE9BQU87d0JBQ0wsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO3dCQUM3RCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLENBQUM7cUJBQzVCLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxDQUFDO2lCQUNWO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLElBQVksRUFBRSxJQUEwQjtJQUNwRSxJQUFJLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxTQUFTLEdBQUcsSUFBQSx3QkFBZSxFQUN6QixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2hCLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQW9CLENBQUM7YUFDdkQ7U0FDRjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUM7U0FDVjtJQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDRixPQUFPLFNBQWtDLENBQUM7QUFDNUMsQ0FBQztBQXBCRCxzQ0FvQkMifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFnRDtBQUVoRCxtQ0FRaUI7QUFDakIsNkNBQTREO0FBQzVELG1DQUFxQztBQXFCckMsU0FBUyxZQUFZLENBQUMsU0FBcUI7SUFDekMsT0FBTyxTQUFTO1NBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ1AsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxJQUFBLGtCQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMzQixNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7b0JBQ3hCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFFdEMsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQ2hGLE9BQU8sSUFBQSw4QkFBaUIsRUFBQyxhQUFhLENBQUMsQ0FBQztxQkFDekM7b0JBRUQsT0FBTyxDQUNMLGFBQWEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO3dCQUNqQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzt3QkFDbEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDcEMsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBRUYsSUFBSSxZQUFZLEVBQUUsRUFBRTtvQkFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLDBCQUFrQixDQUFDLENBQUM7b0JBRXpELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNyQyxNQUFNLFNB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 |
@@ -64,6 +64,6 @@ "use strict"; | ||
} | ||
if (userCache.getFromCache(ret.receiver)?.zapService !== ret.zapService && !isForwardedZap) { | ||
ret.valid = false; | ||
ret.errors.push("zap service pubkey doesn't match"); | ||
} | ||
/*if (userCache.getFromCache(ret.receiver)?.zapService !== ret.zapService && !isForwardedZap) { | ||
ret.valid = false; | ||
ret.errors.push("zap service pubkey doesn't match"); | ||
}*/ | ||
if (!ret.valid) { | ||
@@ -93,2 +93,2 @@ Log("Invalid zap %O", ret); | ||
exports.parseZap = parseZap; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy96YXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDBDQUE4RDtBQUU5RCxtQ0FBa0M7QUFFbEMsMkNBQXVDO0FBQ3ZDLDZDQUF5QztBQUN6QyxrREFBMEI7QUFFMUIsTUFBTSxHQUFHLEdBQUcsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUM7QUFFcEQsU0FBUyxVQUFVLENBQUMsR0FBZTtJQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFBLGVBQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztLQUNwRDtJQUNELE9BQU8sSUFBQSxzQkFBYSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFnQixRQUFRLENBQUMsVUFBc0IsRUFBRSxTQUFtQyxFQUFFLE9BQW9CO0lBQ3hHLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELElBQUksUUFBUSxFQUFFO1FBQ1osT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxJQUFJLFlBQVksR0FBRyxJQUFBLGVBQU8sRUFBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdEQsSUFBSSxZQUFZLEVBQUU7UUFDaEIsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2QyxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqRDtZQUNELE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxL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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy96YXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDBDQUE4RDtBQUU5RCxtQ0FBa0M7QUFFbEMsMkNBQXVDO0FBQ3ZDLDZDQUF5QztBQUN6QyxrREFBMEI7QUFFMUIsTUFBTSxHQUFHLEdBQUcsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUM7QUFFcEQsU0FBUyxVQUFVLENBQUMsR0FBZTtJQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFBLGVBQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztLQUNwRDtJQUNELE9BQU8sSUFBQSxzQkFBYSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFnQixRQUFRLENBQUMsVUFBc0IsRUFBRSxTQUFtQyxFQUFFLE9BQW9CO0lBQ3hHLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELElBQUksUUFBUSxFQUFFO1FBQ1osT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxJQUFJLFlBQVksR0FBRyxJQUFBLGVBQU8sRUFBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdEQsSUFBSSxZQUFZLEVBQUU7UUFDaEIsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2QyxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqRDtZQUNELE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxL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 |
{ | ||
"name": "@snort/system", | ||
"version": "1.0.22", | ||
"version": "1.1.0", | ||
"description": "Snort nostr system package", | ||
@@ -36,5 +36,6 @@ "main": "dist/index.js", | ||
"@scure/base": "^1.1.2", | ||
"@snort/shared": "^1.0.7", | ||
"@snort/shared": "^1.0.9", | ||
"@stablelib/xchacha20": "^1.0.1", | ||
"debug": "^4.3.4", | ||
"eventemitter3": "^5.0.1", | ||
"isomorphic-ws": "^5.0.0", | ||
@@ -41,0 +42,0 @@ "uuid": "^9.0.0", |
@@ -39,2 +39,4 @@ import { FullRelaySettings, HexKey, NostrEvent, UserMetadata } from ".."; | ||
events: number; | ||
connects: number; | ||
lastSeen: number; | ||
disconnects: number; | ||
@@ -41,0 +43,0 @@ latency: number[]; |
@@ -82,3 +82,3 @@ import { MetadataCache } from "."; | ||
takeSnapshot(): MetadataCache[] { | ||
return []; | ||
return [...this.cache.values()]; | ||
} | ||
@@ -85,0 +85,0 @@ |
import { v4 as uuid } from "uuid"; | ||
import debug from "debug"; | ||
import WebSocket from "isomorphic-ws"; | ||
import { unwrap, ExternalStore, unixNowMs, dedupe } from "@snort/shared"; | ||
import { unixNowMs, dedupe } from "@snort/shared"; | ||
import EventEmitter from "eventemitter3"; | ||
@@ -12,4 +13,2 @@ import { DefaultConnectTimeout } from "./const"; | ||
export type AuthHandler = (challenge: string, relay: string) => Promise<NostrEvent | undefined>; | ||
/** | ||
@@ -50,3 +49,13 @@ * Relay settings | ||
export class Connection extends ExternalStore<ConnectionStateSnapshot> { | ||
interface ConnectionEvents { | ||
change: (snapshot: ConnectionStateSnapshot) => void; | ||
connected: (wasReconnect: boolean) => void; | ||
event: (sub: string, e: TaggedNostrEvent) => void; | ||
eose: (sub: string) => void; | ||
disconnect: (code: number) => void; | ||
auth: (challenge: string, relay: string, cb: (ev: NostrEvent) => void) => void; | ||
notice: (msg: string) => void; | ||
} | ||
export class Connection extends EventEmitter<ConnectionEvents> { | ||
#log: debug.Debugger; | ||
@@ -56,2 +65,3 @@ #ephemeralCheck?: ReturnType<typeof setInterval>; | ||
#expectAuth = false; | ||
#ephemeral: boolean; | ||
@@ -77,13 +87,8 @@ Id: string; | ||
EventsCallback: Map<u256, (msg: Array<string | boolean>) => void>; | ||
OnConnected?: (wasReconnect: boolean) => void; | ||
OnEvent?: (sub: string, e: TaggedNostrEvent) => void; | ||
OnEose?: (sub: string) => void; | ||
OnDisconnect?: (code: number) => void; | ||
Auth?: AuthHandler; | ||
AwaitingAuth: Map<string, boolean>; | ||
Authed = false; | ||
Ephemeral: boolean; | ||
Down = true; | ||
constructor(addr: string, options: RelaySettings, auth?: AuthHandler, ephemeral: boolean = false) { | ||
constructor(addr: string, options: RelaySettings, ephemeral: boolean = false) { | ||
super(); | ||
@@ -96,7 +101,15 @@ this.Id = uuid(); | ||
this.AwaitingAuth = new Map(); | ||
this.Auth = auth; | ||
this.Ephemeral = ephemeral; | ||
this.#ephemeral = ephemeral; | ||
this.#log = debug("Connection").extend(addr); | ||
} | ||
get Ephemeral() { | ||
return this.#ephemeral; | ||
} | ||
set Ephemeral(v: boolean) { | ||
this.#ephemeral = v; | ||
this.#setupEphemeral(); | ||
} | ||
async Connect() { | ||
@@ -153,3 +166,3 @@ try { | ||
this.#setupEphemeral(); | ||
this.OnConnected?.(wasReconnect); | ||
this.emit("connected", wasReconnect); | ||
this.#sendPendingRaw(); | ||
@@ -174,3 +187,7 @@ } | ||
this.ReconnectTimer = setTimeout(() => { | ||
this.Connect(); | ||
try { | ||
this.Connect(); | ||
} catch { | ||
this.emit("disconnect", -1); | ||
} | ||
}, this.ConnectTimeout); | ||
@@ -183,3 +200,3 @@ this.Stats.Disconnects++; | ||
this.OnDisconnect?.(e.code); | ||
this.emit("disconnect", e.code); | ||
this.#reset(); | ||
@@ -208,3 +225,3 @@ this.notifyChange(); | ||
case "EVENT": { | ||
this.OnEvent?.(msg[1] as string, { | ||
this.emit("event", msg[1] as string, { | ||
...(msg[2] as NostrEvent), | ||
@@ -218,3 +235,3 @@ relays: [this.Address], | ||
case "EOSE": { | ||
this.OnEose?.(msg[1] as string); | ||
this.emit("eose", msg[1] as string); | ||
break; | ||
@@ -234,2 +251,3 @@ } | ||
case "NOTICE": { | ||
this.emit("notice", msg[1] as string); | ||
this.#log(`NOTICE: ${msg[1]}`); | ||
@@ -351,3 +369,3 @@ break; | ||
this.#sendJson(["CLOSE", id]); | ||
this.OnEose?.(id); | ||
this.emit("eose", id); | ||
this.#SendQueuedRequests(); | ||
@@ -441,7 +459,7 @@ } | ||
}; | ||
if (!this.Auth) { | ||
throw new Error("Auth hook not registered"); | ||
} | ||
this.AwaitingAuth.set(challenge, true); | ||
const authEvent = await this.Auth(challenge, this.Address); | ||
const authEvent = await new Promise<NostrEvent>((resolve, reject) => | ||
this.emit("auth", challenge, this.Address, resolve), | ||
); | ||
this.#log("Auth result: %o", authEvent); | ||
if (!authEvent) { | ||
@@ -476,7 +494,7 @@ authCleanup(); | ||
#setupEphemeral() { | ||
if (this.#ephemeralCheck) { | ||
clearInterval(this.#ephemeralCheck); | ||
this.#ephemeralCheck = undefined; | ||
} | ||
if (this.Ephemeral) { | ||
if (this.#ephemeralCheck) { | ||
clearInterval(this.#ephemeralCheck); | ||
this.#ephemeralCheck = undefined; | ||
} | ||
this.#ephemeralCheck = setInterval(() => { | ||
@@ -494,2 +512,6 @@ const lastActivity = unixNowMs() - this.#activity; | ||
} | ||
notifyChange() { | ||
this.emit("change", this.takeSnapshot()); | ||
} | ||
} |
@@ -13,2 +13,7 @@ /** | ||
/** | ||
* Legacy tag reference regex | ||
*/ | ||
export const TagRefRegex = /(#\[\d+\])/gm; | ||
/** | ||
* How long profile cache should be considered valid for | ||
@@ -15,0 +20,0 @@ */ |
@@ -27,7 +27,12 @@ enum EventKind { | ||
Auth = 22242, // NIP-42 | ||
PubkeyLists = 30000, // NIP-51a | ||
NoteLists = 30001, // NIP-51b | ||
TagLists = 30002, // NIP-51c | ||
MuteList = 10_000, // NIP-51 | ||
PinList = 10_001, // NIP-51 | ||
CategorizedPeople = 30000, // NIP-51a | ||
CategorizedBookmarks = 30001, // NIP-51b | ||
Badge = 30009, // NIP-58 | ||
ProfileBadges = 30008, // NIP-58 | ||
LongFormTextNote = 30023, // NIP-23 | ||
@@ -41,5 +46,5 @@ AppData = 30_078, // NIP-78 | ||
ZapReceipt = 9735, // NIP 57 | ||
HttpAuthentication = 27235, // NIP XX - HTTP Authentication | ||
HttpAuthentication = 27235, // NIP 98 - HTTP Authentication | ||
} | ||
export default EventKind; |
import * as secp from "@noble/curves/secp256k1"; | ||
import * as utils from "@noble/curves/abstract/utils"; | ||
import { unwrap, getPublicKey, unixNow } from "@snort/shared"; | ||
import { unwrap } from "@snort/shared"; | ||
@@ -11,3 +11,2 @@ import { | ||
HexKey, | ||
Lists, | ||
MessageEncryptorVersion, | ||
@@ -22,2 +21,3 @@ NostrEvent, | ||
TaggedNostrEvent, | ||
ToNostrEventTag, | ||
u256, | ||
@@ -109,7 +109,10 @@ UserMetadata, | ||
async muted(keys: HexKey[], priv: HexKey[]) { | ||
const eb = this.#eb(EventKind.PubkeyLists); | ||
eb.tag(["d", Lists.Muted]); | ||
keys.forEach(p => { | ||
/** | ||
* Build a mute list event using lists of pubkeys | ||
* @param pub Public mute list | ||
* @param priv Private mute list | ||
*/ | ||
async muted(pub: Array<string>, priv: Array<string>) { | ||
const eb = this.#eb(EventKind.MuteList); | ||
pub.forEach(p => { | ||
eb.tag(["p", p]); | ||
@@ -125,7 +128,9 @@ }); | ||
async noteList(notes: u256[], list: Lists) { | ||
const eb = this.#eb(EventKind.NoteLists); | ||
eb.tag(["d", list]); | ||
/** | ||
* Build a pin list event using lists of event links | ||
*/ | ||
async pinned(notes: Array<ToNostrEventTag>) { | ||
const eb = this.#eb(EventKind.PinList); | ||
notes.forEach(n => { | ||
eb.tag(["e", n]); | ||
eb.tag(unwrap(n.toEventTag())); | ||
}); | ||
@@ -135,7 +140,11 @@ return await this.#sign(eb); | ||
async tags(tags: string[]) { | ||
const eb = this.#eb(EventKind.TagLists); | ||
eb.tag(["d", Lists.Followed]); | ||
tags.forEach(t => { | ||
eb.tag(["t", t]); | ||
/** | ||
* Build a categorized bookmarks event with a given label | ||
* @param notes List of bookmarked links | ||
*/ | ||
async bookmarks(notes: Array<ToNostrEventTag>, list: "bookmark" | "follow") { | ||
const eb = this.#eb(EventKind.CategorizedBookmarks); | ||
eb.tag(["d", list]); | ||
notes.forEach(n => { | ||
eb.tag(unwrap(n.toEventTag())); | ||
}); | ||
@@ -180,3 +189,4 @@ return await this.#sign(eb); | ||
if (note) { | ||
eb.tag(unwrap(note.toEventTag())); | ||
// HACK: remove relay tag, some zap services dont like relay tags | ||
eb.tag(unwrap(note.toEventTag()).slice(0, 2)); | ||
} | ||
@@ -221,4 +231,2 @@ eb.tag(["p", author]); | ||
} | ||
// Big E/A tag | ||
eb.tag(unwrap(link.toEventTag()).map((v, i) => (i === 0 ? v.toUpperCase() : v))); | ||
eb.processContent(); | ||
@@ -260,8 +268,5 @@ fnExtra?.(eb); | ||
async contactList(follows: Array<HexKey>, relays: Record<string, RelaySettings>) { | ||
async contactList(tags: Array<[string, string]>) { | ||
const eb = this.#eb(EventKind.ContactList); | ||
eb.content(JSON.stringify(relays)); | ||
const temp = new Set(follows.filter(a => a.length === 64).map(a => a.toLowerCase())); | ||
temp.forEach(a => eb.tag(["p", a])); | ||
tags.forEach(a => eb.tag(a)); | ||
return await this.#sign(eb); | ||
@@ -278,2 +283,3 @@ } | ||
} | ||
/** | ||
@@ -336,2 +342,9 @@ * Repost a note (NIP-18) | ||
async appData(data: object, id: string) { | ||
const eb = this.#eb(EventKind.AppData); | ||
eb.content(await this.nip4Encrypt(JSON.stringify(data), this.#pubKey)); | ||
eb.tag(["d", id]); | ||
return await this.#sign(eb); | ||
} | ||
/** | ||
@@ -338,0 +351,0 @@ * NIP-59 Gift Wrap event with ephemeral key |
@@ -88,6 +88,6 @@ import { unwrap, bech32ToHex } from "@snort/shared"; | ||
this.#conn = new Connection(this.#relay, { read: true, write: true }); | ||
this.#conn.OnEvent = async (sub, e) => { | ||
this.#conn.on("event", async (sub, e) => { | ||
await this.#onReply(e); | ||
}; | ||
this.#conn.OnConnected = async () => { | ||
}); | ||
this.#conn.on("connected", async () => { | ||
this.#conn!.QueueReq( | ||
@@ -114,3 +114,3 @@ [ | ||
} | ||
}; | ||
}); | ||
this.#conn.Connect(); | ||
@@ -117,0 +117,0 @@ this.#didInit = true; |
@@ -1,2 +0,2 @@ | ||
import { AuthHandler, RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { RequestBuilder } from "./request-builder"; | ||
@@ -50,7 +50,2 @@ import { NoteStore, NoteStoreSnapshotData } from "./note-collection"; | ||
/** | ||
* Handler function for NIP-42 | ||
*/ | ||
HandleAuth?: AuthHandler; | ||
/** | ||
* Get a snapshot of the relay connections | ||
@@ -148,3 +143,3 @@ */ | ||
export function decodeEncryptionPayload(p: string) { | ||
export function decodeEncryptionPayload(p: string): MessageEncryptorPayload { | ||
if (p.startsWith("{") && p.endsWith("}")) { | ||
@@ -156,3 +151,10 @@ const pj = JSON.parse(p) as { v: number; nonce: string; ciphertext: string }; | ||
ciphertext: base64.decode(pj.ciphertext), | ||
} as MessageEncryptorPayload; | ||
}; | ||
} else if (p.includes("?iv=")) { | ||
const [ciphertext, nonce] = p.split("?iv="); | ||
return { | ||
v: MessageEncryptorVersion.Nip4, | ||
nonce: base64.decode(nonce), | ||
ciphertext: base64.decode(ciphertext), | ||
}; | ||
} else { | ||
@@ -164,3 +166,3 @@ const buf = base64.decode(p); | ||
ciphertext: buf.subarray(25), | ||
} as MessageEncryptorPayload; | ||
}; | ||
} | ||
@@ -167,0 +169,0 @@ } |
@@ -15,2 +15,3 @@ import * as utils from "@noble/curves/abstract/utils"; | ||
Address = "naddr", | ||
Req = "nreq", | ||
} | ||
@@ -58,3 +59,5 @@ | ||
const buf = | ||
prefix === NostrPrefix.Address ? enc.encode(v.value as string) : utils.hexToBytes(v.value as string); | ||
prefix === NostrPrefix.Address || prefix === NostrPrefix.Req | ||
? enc.encode(v.value as string) | ||
: utils.hexToBytes(v.value as string); | ||
buffers.push(0, buf.length, ...buf); | ||
@@ -106,4 +109,4 @@ break; | ||
case TLVEntryType.Special: { | ||
if (prefix === NostrPrefix.Address) { | ||
return new TextDecoder("ASCII").decode(data); | ||
if (prefix === NostrPrefix.Address || prefix === NostrPrefix.Req) { | ||
return new TextDecoder().decode(data); | ||
} else { | ||
@@ -120,5 +123,5 @@ return utils.bytesToHex(data); | ||
case TLVEntryType.Relay: { | ||
return new TextDecoder("ASCII").decode(data); | ||
return new TextDecoder().decode(data); | ||
} | ||
} | ||
} |
@@ -1,16 +0,28 @@ | ||
import { bech32ToHex, hexToBech32, unwrap } from "@snort/shared"; | ||
import { bech32ToHex, hexToBech32, isHex, removeUndefined, unwrap } from "@snort/shared"; | ||
import { | ||
NostrPrefix, | ||
decodeTLV, | ||
TLVEntryType, | ||
encodeTLV, | ||
EventExt, | ||
EventKind, | ||
NostrEvent, | ||
NostrPrefix, | ||
Tag, | ||
TaggedNostrEvent, | ||
EventExt, | ||
Tag, | ||
EventKind, | ||
TLVEntryType, | ||
} from "."; | ||
import { findTag } from "./utils"; | ||
export class NostrLink { | ||
export interface ToNostrEventTag { | ||
toEventTag(): Array<string> | undefined; | ||
} | ||
export class NostrHashtagLink implements ToNostrEventTag { | ||
constructor(readonly tag: string) {} | ||
toEventTag(): string[] | undefined { | ||
return ["t", this.tag]; | ||
} | ||
} | ||
export class NostrLink implements ToNostrEventTag { | ||
constructor( | ||
@@ -22,9 +34,20 @@ readonly type: NostrPrefix, | ||
readonly relays?: Array<string>, | ||
) {} | ||
) { | ||
if (type !== NostrPrefix.Address && !isHex(id)) { | ||
throw new Error("ID must be hex"); | ||
} | ||
} | ||
encode(): string { | ||
if (this.type === NostrPrefix.Note || this.type === NostrPrefix.PrivateKey || this.type === NostrPrefix.PublicKey) { | ||
return hexToBech32(this.type, this.id); | ||
} else { | ||
return encodeTLV(this.type, this.id, this.relays, this.kind, this.author); | ||
encode(type?: NostrPrefix): string { | ||
try { | ||
// cant encode 'naddr' to 'note'/'nevent' because 'id' is not hex | ||
let newType = this.type === NostrPrefix.Address ? this.type : type ?? this.type; | ||
if (newType === NostrPrefix.Note || newType === NostrPrefix.PrivateKey || newType === NostrPrefix.PublicKey) { | ||
return hexToBech32(newType, this.id); | ||
} else { | ||
return encodeTLV(newType, this.id, this.relays, this.kind, this.author); | ||
} | ||
} catch (e) { | ||
console.error("Invalid data", this, e); | ||
throw e; | ||
} | ||
@@ -35,4 +58,4 @@ } | ||
const relayEntry = this.relays ? [this.relays[0]] : []; | ||
if (this.type === NostrPrefix.PublicKey) { | ||
return ["p", this.id]; | ||
if (this.type === NostrPrefix.PublicKey || this.type === NostrPrefix.Profile) { | ||
return ["p", this.id, ...relayEntry]; | ||
} else if (this.type === NostrPrefix.Note || this.type === NostrPrefix.Event) { | ||
@@ -168,2 +191,14 @@ return ["e", this.id, ...relayEntry]; | ||
static fromTags(tags: Array<Array<string>>) { | ||
return removeUndefined( | ||
tags.map(a => { | ||
try { | ||
return NostrLink.fromTag(a); | ||
} catch { | ||
// ignored, cant be mapped | ||
} | ||
}), | ||
); | ||
} | ||
static fromEvent(ev: TaggedNostrEvent | NostrEvent) { | ||
@@ -205,4 +240,7 @@ const relays = "relays" in ev ? ev.relays : undefined; | ||
export function parseNostrLink(link: string, prefixHint?: NostrPrefix): NostrLink { | ||
const entity = link.startsWith("web+nostr:") || link.startsWith("nostr:") ? link.split(":")[1] : link; | ||
let entity = link.startsWith("web+nostr:") || link.startsWith("nostr:") ? link.split(":")[1] : link; | ||
// trim any non-bech32 chars | ||
entity = entity.match(/(n(?:pub|profile|event|ote|addr|req)1[acdefghjklmnpqrstuvwxyz023456789]+)/)?.[0] ?? entity; | ||
const isPrefix = (prefix: NostrPrefix) => { | ||
@@ -220,3 +258,8 @@ return entity.startsWith(prefix); | ||
return new NostrLink(NostrPrefix.Note, id); | ||
} else if (isPrefix(NostrPrefix.Profile) || isPrefix(NostrPrefix.Event) || isPrefix(NostrPrefix.Address)) { | ||
} else if ( | ||
isPrefix(NostrPrefix.Profile) || | ||
isPrefix(NostrPrefix.Event) || | ||
isPrefix(NostrPrefix.Address) || | ||
isPrefix(NostrPrefix.Req) | ||
) { | ||
const decoded = decodeTLV(entity); | ||
@@ -237,2 +280,4 @@ | ||
return new NostrLink(NostrPrefix.Address, id, kind, author, relays); | ||
} else if (isPrefix(NostrPrefix.Req)) { | ||
return new NostrLink(NostrPrefix.Req, id); | ||
} | ||
@@ -239,0 +284,0 @@ } else if (prefixHint) { |
import debug from "debug"; | ||
import EventEmitter from "eventemitter3"; | ||
import { unwrap, sanitizeRelayUrl, ExternalStore, FeedCache, removeUndefined } from "@snort/shared"; | ||
import { unwrap, sanitizeRelayUrl, FeedCache, removeUndefined } from "@snort/shared"; | ||
import { NostrEvent, TaggedNostrEvent } from "./nostr"; | ||
import { AuthHandler, Connection, RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { Connection, RelaySettings, ConnectionStateSnapshot, OkResponse } from "./connection"; | ||
import { Query } from "./query"; | ||
@@ -28,6 +29,12 @@ import { NoteCollection, NoteStore, NoteStoreSnapshotData } from "./note-collection"; | ||
interface NostrSystemEvents { | ||
change: (state: SystemSnapshot) => void; | ||
auth: (challenge: string, relay: string, cb: (ev: NostrEvent) => void) => void; | ||
event: (ev: TaggedNostrEvent) => void; | ||
} | ||
/** | ||
* Manages nostr content retrieval system | ||
*/ | ||
export class NostrSystem extends ExternalStore<SystemSnapshot> implements SystemInterface { | ||
export class NostrSystem extends EventEmitter<NostrSystemEvents> implements SystemInterface { | ||
#log = debug("System"); | ||
@@ -46,7 +53,2 @@ | ||
/** | ||
* NIP-42 Auth handler | ||
*/ | ||
#handleAuth?: AuthHandler; | ||
/** | ||
* Storage class for user relay lists | ||
@@ -92,3 +94,2 @@ */ | ||
constructor(props: { | ||
authHandler?: AuthHandler; | ||
relayCache?: FeedCache<UsersRelays>; | ||
@@ -103,3 +104,2 @@ profileCache?: FeedCache<MetadataCache>; | ||
super(); | ||
this.#handleAuth = props.authHandler; | ||
this.#relayCache = props.relayCache ?? new UserRelaysCache(props.db?.userRelays); | ||
@@ -117,4 +117,2 @@ this.#profileCache = props.profileCache ?? new UserProfileCache(props.db?.users); | ||
HandleAuth?: AuthHandler | undefined; | ||
get ProfileLoader() { | ||
@@ -125,3 +123,3 @@ return this.#profileLoader; | ||
get Sockets(): ConnectionStateSnapshot[] { | ||
return [...this.#sockets.values()].map(a => a.snapshot()); | ||
return [...this.#sockets.values()].map(a => a.takeSnapshot()); | ||
} | ||
@@ -154,18 +152,22 @@ | ||
async ConnectToRelay(address: string, options: RelaySettings) { | ||
const addr = unwrap(sanitizeRelayUrl(address)); | ||
try { | ||
const addr = unwrap(sanitizeRelayUrl(address)); | ||
if (!this.#sockets.has(addr)) { | ||
const c = new Connection(addr, options, this.#handleAuth?.bind(this)); | ||
const existing = this.#sockets.get(addr); | ||
if (!existing) { | ||
const c = new Connection(addr, options); | ||
this.#sockets.set(addr, c); | ||
c.OnEvent = (s, e) => this.#onEvent(s, e); | ||
c.OnEose = s => this.#onEndOfStoredEvents(c, s); | ||
c.OnDisconnect = code => this.#onRelayDisconnect(c, code); | ||
c.OnConnected = r => this.#onRelayConnected(c, r); | ||
c.on("event", (s, e) => this.#onEvent(s, e)); | ||
c.on("eose", s => this.#onEndOfStoredEvents(c, s)); | ||
c.on("disconnect", code => this.#onRelayDisconnect(c, code)); | ||
c.on("connected", r => this.#onRelayConnected(c, r)); | ||
c.on("auth", (c, r, cb) => this.emit("auth", c, r, cb)); | ||
await c.Connect(); | ||
} else { | ||
// update settings if already connected | ||
unwrap(this.#sockets.get(addr)).Settings = options; | ||
existing.Settings = options; | ||
existing.Ephemeral = false; | ||
} | ||
} catch (e) { | ||
console.error(e); | ||
this.#relayMetrics.onDisconnect(addr, 0); | ||
} | ||
@@ -175,2 +177,3 @@ } | ||
#onRelayConnected(c: Connection, wasReconnect: boolean) { | ||
this.#relayMetrics.onConnect(c.Address); | ||
if (wasReconnect) { | ||
@@ -184,3 +187,3 @@ for (const [, q] of this.Queries) { | ||
#onRelayDisconnect(c: Connection, code: number) { | ||
this.#relayMetrics.onDisconnect(c, code); | ||
this.#relayMetrics.onDisconnect(c.Address, code); | ||
for (const [, q] of this.Queries) { | ||
@@ -198,2 +201,5 @@ q.connectionLost(c.Id); | ||
#onEvent(sub: string, ev: TaggedNostrEvent) { | ||
this.#relayMetrics.onEvent(ev.relays[0]); | ||
this.emit("event", ev); | ||
if (!EventExt.isValid(ev)) { | ||
@@ -221,8 +227,9 @@ this.#log("Rejecting invalid event %O", ev); | ||
if (!this.#sockets.has(addr)) { | ||
const c = new Connection(addr, { read: true, write: true }, this.#handleAuth?.bind(this), true); | ||
const c = new Connection(addr, { read: true, write: true }, true); | ||
this.#sockets.set(addr, c); | ||
c.OnEvent = (s, e) => this.#onEvent(s, e); | ||
c.OnEose = s => this.#onEndOfStoredEvents(c, s); | ||
c.OnDisconnect = code => this.#onRelayDisconnect(c, code); | ||
c.OnConnected = r => this.#onRelayConnected(c, r); | ||
c.on("event", (s, e) => this.#onEvent(s, e)); | ||
c.on("eose", s => this.#onEndOfStoredEvents(c, s)); | ||
c.on("disconnect", code => this.#onRelayDisconnect(c, code)); | ||
c.on("connected", r => this.#onRelayConnected(c, r)); | ||
c.on("auth", (c, r, cb) => this.emit("auth", c, r, cb)); | ||
await c.Connect(); | ||
@@ -302,2 +309,4 @@ return c; | ||
const q = new Query(req.id, req.instance, store, req.options?.leaveOpen); | ||
q.on("trace", r => this.#relayMetrics.onTraceReport(r)); | ||
if (filters.some(a => a.filters.some(b => b.ids))) { | ||
@@ -417,6 +426,6 @@ const expectIds = new Set(filters.flatMap(a => a.filters).flatMap(a => a.ids ?? [])); | ||
return await new Promise<OkResponse>((resolve, reject) => { | ||
const c = new Connection(address, { write: true, read: true }, this.#handleAuth?.bind(this), true); | ||
const c = new Connection(address, { write: true, read: true }, true); | ||
const t = setTimeout(reject, 10_000); | ||
c.OnConnected = async () => { | ||
c.once("connected", async () => { | ||
clearTimeout(t); | ||
@@ -426,3 +435,3 @@ const rsp = await c.SendAsync(ev); | ||
resolve(rsp); | ||
}; | ||
}); | ||
c.Connect(); | ||
@@ -445,2 +454,6 @@ }); | ||
notifyChange() { | ||
this.emit("change", this.takeSnapshot()); | ||
} | ||
#cleanup() { | ||
@@ -447,0 +460,0 @@ let changed = false; |
@@ -17,3 +17,8 @@ import { RelaySettings } from "./connection"; | ||
*/ | ||
relays: string[]; | ||
relays: Array<string>; | ||
/** | ||
* Additional context | ||
*/ | ||
context?: object; | ||
} | ||
@@ -74,13 +79,2 @@ | ||
/** | ||
* NIP-51 list types | ||
*/ | ||
export enum Lists { | ||
Muted = "mute", | ||
Pinned = "pin", | ||
Bookmarked = "bookmark", | ||
Followed = "follow", | ||
Badges = "profile_badges", | ||
} | ||
export interface FullRelaySettings { | ||
@@ -87,0 +81,0 @@ url: string; |
import { v4 as uuid } from "uuid"; | ||
import debug from "debug"; | ||
import EventEmitter from "eventemitter3"; | ||
import { unixNowMs, unwrap } from "@snort/shared"; | ||
@@ -10,6 +11,12 @@ | ||
interface QueryTraceEvents { | ||
change: () => void; | ||
close: (id: string) => void; | ||
eose: (id: string, connId: string, wasForced: boolean) => void; | ||
} | ||
/** | ||
* Tracing for relay query status | ||
*/ | ||
class QueryTrace { | ||
export class QueryTrace extends EventEmitter<QueryTraceEvents> { | ||
readonly id: string; | ||
@@ -21,4 +28,2 @@ readonly start: number; | ||
#wasForceClosed = false; | ||
readonly #fnClose: (id: string) => void; | ||
readonly #fnProgress: () => void; | ||
@@ -29,9 +34,6 @@ constructor( | ||
readonly connId: string, | ||
fnClose: (id: string) => void, | ||
fnProgress: () => void, | ||
) { | ||
super(); | ||
this.id = uuid(); | ||
this.start = unixNowMs(); | ||
this.#fnClose = fnClose; | ||
this.#fnProgress = fnProgress; | ||
} | ||
@@ -41,3 +43,3 @@ | ||
this.sent = unixNowMs(); | ||
this.#fnProgress(); | ||
this.emit("change"); | ||
} | ||
@@ -47,9 +49,12 @@ | ||
this.eose = unixNowMs(); | ||
this.#fnProgress(); | ||
this.emit("change"); | ||
this.emit("eose", this.id, this.connId, false); | ||
} | ||
forceEose() { | ||
this.sent ??= unixNowMs(); | ||
this.eose = unixNowMs(); | ||
this.#wasForceClosed = true; | ||
this.sendClose(); | ||
this.emit("eose", this.id, this.connId, true); | ||
} | ||
@@ -59,4 +64,4 @@ | ||
this.close = unixNowMs(); | ||
this.#fnClose(this.id); | ||
this.#fnProgress(); | ||
this.emit("close", this.id); | ||
this.emit("change"); | ||
} | ||
@@ -110,6 +115,18 @@ | ||
export interface TraceReport { | ||
id: string; | ||
conn: Connection; | ||
wasForced: boolean; | ||
queued: number; | ||
responseTime: number; | ||
} | ||
interface QueryEvents { | ||
trace: (report: TraceReport) => void; | ||
} | ||
/** | ||
* Active or queued query on the system | ||
*/ | ||
export class Query implements QueryBase { | ||
export class Query extends EventEmitter<QueryEvents> implements QueryBase { | ||
/** | ||
@@ -153,2 +170,3 @@ * Uniquie ID of this query | ||
constructor(id: string, instance: string, feed: NoteStore, leaveOpen?: boolean) { | ||
super(); | ||
this.id = id; | ||
@@ -186,3 +204,3 @@ this.#feed = feed; | ||
} else { | ||
this.#log("Event did not match filter, rejecting %O", e); | ||
this.#log("Event did not match filter, rejecting %O %O", e, t); | ||
} | ||
@@ -213,13 +231,3 @@ break; | ||
insertCompletedTrace(subq: BuiltRawReqFilter, data: Readonly<Array<TaggedNostrEvent>>) { | ||
const qt = new QueryTrace( | ||
subq.relay, | ||
subq.filters, | ||
"", | ||
() => { | ||
// nothing to close | ||
}, | ||
() => { | ||
// nothing to progress | ||
}, | ||
); | ||
const qt = new QueryTrace(subq.relay, subq.filters, ""); | ||
qt.sentToRelay(); | ||
@@ -320,8 +328,13 @@ qt.gotEose(); | ||
#sendQueryInternal(c: Connection, q: BuiltRawReqFilter) { | ||
const qt = new QueryTrace( | ||
c.Address, | ||
q.filters, | ||
c.Id, | ||
x => c.CloseReq(x), | ||
() => this.#onProgress(), | ||
const qt = new QueryTrace(c.Address, q.filters, c.Id); | ||
qt.on("close", x => c.CloseReq(x)); | ||
qt.on("change", () => this.#onProgress()); | ||
qt.on("eose", (id, connId, forced) => | ||
this.emit("trace", { | ||
id, | ||
conn: c, | ||
wasForced: forced, | ||
queued: qt.queued, | ||
responseTime: qt.responseTime, | ||
} as TraceReport), | ||
); | ||
@@ -328,0 +341,0 @@ this.#tracing.push(qt); |
@@ -16,2 +16,6 @@ export interface RelayInfo { | ||
}; | ||
relay_countries?: Array<string>; | ||
language_tags?: Array<string>; | ||
tags?: Array<string>; | ||
posting_policy?: string; | ||
} |
@@ -1,4 +0,5 @@ | ||
import { FeedCache } from "@snort/shared"; | ||
import { FeedCache, unixNowMs } from "@snort/shared"; | ||
import { Connection } from "connection"; | ||
import { RelayMetrics } from "cache"; | ||
import { TraceReport } from "query"; | ||
@@ -10,5 +11,61 @@ export class RelayMetricHandler { | ||
this.#cache = cache; | ||
setInterval(() => { | ||
this.#flush(); | ||
}, 10_000); | ||
} | ||
onDisconnect(c: Connection, code: number) {} | ||
async onEvent(addr: string) { | ||
const v = await this.#cache.get(addr); | ||
if (v) { | ||
v.events++; | ||
v.lastSeen = unixNowMs(); | ||
} | ||
} | ||
async onConnect(addr: string) { | ||
const v = await this.#cache.get(addr); | ||
if (v) { | ||
v.connects++; | ||
v.lastSeen = unixNowMs(); | ||
} else { | ||
await this.#cache.set({ | ||
addr: addr, | ||
connects: 1, | ||
disconnects: 0, | ||
events: 0, | ||
lastSeen: unixNowMs(), | ||
latency: [], | ||
}); | ||
} | ||
} | ||
async onDisconnect(addr: string, code: number) { | ||
const v = await this.#cache.get(addr); | ||
if (v) { | ||
v.disconnects++; | ||
} else { | ||
await this.#cache.set({ | ||
addr: addr, | ||
connects: 0, | ||
disconnects: 1, | ||
events: 0, | ||
lastSeen: unixNowMs(), | ||
latency: [], | ||
}); | ||
} | ||
} | ||
onTraceReport(t: TraceReport) { | ||
const v = this.#cache.getFromCache(t.conn.Address); | ||
if (v) { | ||
v.latency.push(t.responseTime); | ||
v.latency = v.latency.slice(-50); | ||
} | ||
} | ||
async #flush() { | ||
const data = this.#cache.snapshot(); | ||
await this.#cache.bulkSet(data); | ||
} | ||
} |
@@ -179,6 +179,9 @@ import debug from "debug"; | ||
*/ | ||
relay(u: string) { | ||
const uClean = sanitizeRelayUrl(u); | ||
if (uClean) { | ||
this.#relays.add(uClean); | ||
relay(u: string | Array<string>) { | ||
const relays = Array.isArray(u) ? u : [u]; | ||
for (const r of relays) { | ||
const uClean = sanitizeRelayUrl(r); | ||
if (uClean) { | ||
this.#relays.add(uClean); | ||
} | ||
} | ||
@@ -185,0 +188,0 @@ return this; |
@@ -10,4 +10,5 @@ import { removeUndefined } from "@snort/shared"; | ||
MentionNostrEntityRegex, | ||
TagRefRegex, | ||
} from "./const"; | ||
import { validateNostrLink } from "./nostr-link"; | ||
import { NostrLink, validateNostrLink } from "./nostr-link"; | ||
import { splitByUrl } from "./utils"; | ||
@@ -180,2 +181,24 @@ | ||
function extractTagRefs(fragments: Fragment[], tags: Array<Array<string>>) { | ||
return fragments | ||
.map(f => { | ||
if (typeof f === "string") { | ||
return f.split(TagRefRegex).map(i => { | ||
if (i.startsWith("#")) { | ||
const tag = tags[Number(i.slice(2, -1))]; | ||
if (tag) { | ||
return { | ||
type: "mention", | ||
content: `nostr:${NostrLink.fromTag(tag).encode()}`, | ||
} as ParsedFragment; | ||
} | ||
} | ||
return i; | ||
}); | ||
} | ||
return f; | ||
}) | ||
.flat(); | ||
} | ||
function extractCustomEmoji(fragments: Fragment[], tags: Array<Array<string>>) { | ||
@@ -230,2 +253,3 @@ return fragments | ||
fragments = extractMentions(fragments); | ||
fragments = extractTagRefs(fragments, tags); | ||
fragments = extractHashtags(fragments); | ||
@@ -232,0 +256,0 @@ fragments = extractInvoices(fragments); |
@@ -66,6 +66,6 @@ import { FeedCache } from "@snort/shared"; | ||
} | ||
if (userCache.getFromCache(ret.receiver)?.zapService !== ret.zapService && !isForwardedZap) { | ||
/*if (userCache.getFromCache(ret.receiver)?.zapService !== ret.zapService && !isForwardedZap) { | ||
ret.valid = false; | ||
ret.errors.push("zap service pubkey doesn't match"); | ||
} | ||
}*/ | ||
@@ -72,0 +72,0 @@ if (!ret.valid) { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
586014
11010
10
+ Addedeventemitter3@^5.0.1
Updated@snort/shared@^1.0.9