feat: event emitter

This commit is contained in:
2023-11-07 13:28:01 +00:00
parent fc3d196f48
commit fcd2c8a3a0
8 changed files with 87 additions and 68 deletions

View File

@ -80,15 +80,16 @@ export class NostrConnectWallet implements LNWallet {
return await new Promise<boolean>(resolve => {
this.#conn = new Connection(this.#config.relayUrl, { read: true, write: true });
this.#conn.OnConnected = () => resolve(true);
this.#conn.Auth = async (c, r) => {
this.#conn.on("connected", () => resolve(true));
this.#conn.on("auth", async (c, r, cb) => {
const eb = new EventBuilder();
eb.kind(EventKind.Auth).tag(["relay", r]).tag(["challenge", c]);
return await eb.buildAndSign(this.#config.secret);
};
this.#conn.OnEvent = (s, e) => {
const ev = await eb.buildAndSign(this.#config.secret);
cb(ev);
});
this.#conn.on("event", (s, e) => {
this.#onReply(s, e);
};
});
this.#conn.Connect();
});
}