bostr/nip42.js
Yonle d8d364e274 code: cleanup & fix NIP-42 for upstream
- Fix NIP-42 authentication in bouncer side
- Split event handler codes for receiver

Signed-off-by: Yonle <yonle@lecturify.net>
2024-06-08 17:07:04 +07:00

23 lines
646 B
JavaScript

"use strict";
const { threadId } = require("node:worker_threads");
const { finalizeEvent, nip19 } = require("nostr-tools");
module.exports = (relay, pubkey, privkey, challenge) => {
if (!privkey) return;
if (privkey.startsWith("nsec")) privkey = nip19.decode(privkey).data;
let signed_challenge = finalizeEvent({
created_at: Math.floor(Date.now() / 1000),
kind: 22242,
tags: [
["relay", relay.url],
["challenge", challenge]
],
content: ""
}, privkey);
relay.send(JSON.stringify(["AUTH", signed_challenge]));
console.log(threadId, "-", relay.id, "NIP-42: Sending Signed Challenge to", relay.url);
}